diff options
Diffstat (limited to 'erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/moainvoker/DOMErrorHandler.java')
-rw-r--r-- | erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/moainvoker/DOMErrorHandler.java | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/moainvoker/DOMErrorHandler.java b/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/moainvoker/DOMErrorHandler.java new file mode 100644 index 000000000..47b389c31 --- /dev/null +++ b/erecht.client.ss/src/at/gv/egovernment/moa/ss/erechtclient/moainvoker/DOMErrorHandler.java @@ -0,0 +1,55 @@ +package at.gv.egovernment.moa.ss.erechtclient.moainvoker; + +import java.util.Iterator; +import java.util.LinkedList; + +import org.apache.log4j.Logger; +import org.w3c.dom.DOMError; + +import at.gv.egovernment.moa.ss.erechtclient.init.Constants; + +public class DOMErrorHandler implements org.w3c.dom.DOMErrorHandler +{ + private LinkedList errors_; + + private static Logger logger_ = Logger.getLogger(Constants.LH_MOAINVOKER_); + + public DOMErrorHandler() + { + errors_ = new LinkedList(); + } + public boolean handleError(DOMError error) + { + if (error.getSeverity() == DOMError.SEVERITY_WARNING) + { + logger_.warn("A warning occured while parsing: " + error.getMessage()); + return true; + } + else + { + logger_.error("A (fatal) error occured while parsing: " + error.getMessage()); + errors_.add(error.getMessage()); + return false; + } + } + + public int getErrorCount() + { + return errors_.size(); + } + + public String getErrorSummaryMsg() + { + if (errors_.size() <= 0) return null; + + StringBuffer errorSummaryMsg = new StringBuffer(); + errorSummaryMsg.append("The following errors have been reported during parsing:\n"); + for (int i = 0; i < errors_.size(); i++) + { + errorSummaryMsg.append("Error no. " + i + ":\n"); + errorSummaryMsg.append(errors_.get(i) + "\n"); + } + return errorSummaryMsg.toString(); + } + +} |