From ff1e612cacbf87b3d9d48c5bbb83a5fcc9b30585 Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Wed, 19 Jul 2023 10:53:49 +0200 Subject: [PATCH] - init --- .../plugin/SLUBXmlValidationLogger.java | 66 +++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 java/org/slub/rosetta/dps/repository/plugin/SLUBXmlValidationLogger.java diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlValidationLogger.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlValidationLogger.java new file mode 100644 index 0000000..66a4c9e --- /dev/null +++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlValidationLogger.java @@ -0,0 +1,66 @@ +package org.slub.rosetta.dps.repository.plugin; + +import java.util.ArrayList; +import java.util.List; + +public class SLUBXmlValidationLogger { + private final List<String> log = new ArrayList<>(); + private boolean result = true; + private boolean isDebug; + public void error (String err) { + result = false; + log.add("[ERROR] " + err); + } + public void debug (String detail) { + log.add("[DEBUG] " + detail ); + } + public void info (String detail) { + log.add("[INFO] " + detail ); + } + public void fatal (String detail) { + result = false; + log.add("[FATAL] " + detail ); + } + public void warning (String detail) { + log.add("[WARN] " + detail ); + } + public void print( ValidationLevel level ) { + for (String e: log) { + switch ( level) { + case debug: if ( e.startsWith("[DEBUG]")) { System.out.println( e); } + case info: if ( e.startsWith("[INFO]")) { System.out.println( e); } + case warn: if ( e.startsWith("[WARN]")) { System.out.println( e); } + case error: if ( e.startsWith("[ERROR]")) { System.out.println( e); } + case fatal: if ( e.startsWith("[FATAL]")) { System.out.println( e); } + } + } + } + + public void setResult( boolean r) { + this.result = r; + } + public boolean getResult( ) { + return this.result; + } + public void clear() { + log.clear(); + this.result = true; + } + public List<String> getErrors() { + System.out.println("---------------->"); + print(ValidationLevel.debug); + System.out.println("<----------------"); + return log + .stream() + .filter(f -> f.startsWith("[ERROR]") || f.startsWith("FATAL")) + .toList() + ; + } + public String getLog() { + return log + .stream() + .filter(f -> !f.startsWith("[DEBUG]")) + .reduce( "\n", String::concat) + ; + } +} -- GitLab