diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlErrorHandler.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlErrorHandler.java new file mode 100644 index 0000000000000000000000000000000000000000..9b075c3db457673ce2f13115ca185d00a37d589a --- /dev/null +++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlErrorHandler.java @@ -0,0 +1,41 @@ +package org.slub.rosetta.dps.repository.plugin; + +import org.xml.sax.ErrorHandler; +import org.xml.sax.SAXParseException; + +import java.util.ArrayList; +import java.util.List; + +public class SLUBXmlErrorHandler implements ErrorHandler { + private boolean is_valid = true; + private List<String> errors = new ArrayList<>(); + + + @Override + public void warning(SAXParseException e) { + errors.add("[WW] " + e.getMessage()); + } + + @Override + public void error(SAXParseException e) { + is_valid = false; + errors.add("[EE] " + e.getMessage() + " line=" + e.getLineNumber() + " col=" + e.getColumnNumber()); + } + + @Override + public void fatalError(SAXParseException e) { + is_valid = false; + errors.add("[EE] Fatal, " + e.getMessage() + " line=" + e.getLineNumber() + " col=" + e.getColumnNumber()); + } + + public String get_log () { + for (int i=1; i<errors.size();i++) { + System.out.println( errors.get(i) ); + } + return errors.toString(); + } + + public boolean is_Valid() { + return is_valid; + } +}