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(); } }