From 1dd26456cb2c624322a0e9c599f15355c51268f9 Mon Sep 17 00:00:00 2001
From: Andreas Romeyke <andreas.romeyke@slub-dresden.de>
Date: Tue, 18 Jul 2023 14:43:03 +0200
Subject: [PATCH] - refactoring, extracted class

---
 .../plugin/SLUBXmlErrorHandler.java           | 41 +++++++++++++++++++
 1 file changed, 41 insertions(+)
 create mode 100644 java/org/slub/rosetta/dps/repository/plugin/SLUBXmlErrorHandler.java

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 0000000..9b075c3
--- /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;
+    }
+}
-- 
GitLab