From cf8fd96f23ef1b76bcedcbc16e1fce2131479a59 Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Thu, 23 Feb 2023 11:10:42 +0100 Subject: [PATCH] - refactoring, more explicite type in ValidationSchema - added schemaInst assignment in ValidationSchema - added debug handling in initParams() --- .../plugin/SLUBXmlFormatValidationPlugin.java | 20 +++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java index a1ac083..d6bf65e 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java @@ -33,6 +33,8 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; import java.io.File; import java.io.IOException; +import java.net.MalformedURLException; +import java.net.URL; import java.util.ArrayList; import java.util.Collections; import java.util.HashMap; @@ -84,8 +86,8 @@ public class SLUBXmlFormatValidationPlugin implements FormatValidationPlugin { assert (attr_strings.get(1).equals("namespace")); assert (attr_strings.get(2).equals("schemaurl")); var namespace = attr_list.get(1); - var url = attr_list.get(2); - ValidationSchema v = new ValidationSchema(namespace, schematype, url); + String url = attr_list.get(2); + ValidationSchema v = new ValidationSchema(namespace, schematype, new URL(url)); namespaceSchemaMap.add(v); } else { log.error("invalid entry(" + i + ") in namespace schema map file " + namespaceSchemaMapFile); @@ -130,6 +132,8 @@ public class SLUBXmlFormatValidationPlugin implements FormatValidationPlugin { * @param initp parameter map */ public void initParams(Map<String, String> initp) { + var debugstr = initp.get("debug"); + debug= (null != debugstr && debugstr.equals("true")); if (debug) { System.out.println(initp); } @@ -168,7 +172,15 @@ public class SLUBXmlFormatValidationPlugin implements FormatValidationPlugin { if (debug) { System.out.println("found schema " + type); } - var ele = new ValidationSchema(null, type, info.systemID); + ValidationSchema ele = null; + try { + ele = new ValidationSchema(null, type, new URL(info.systemID)); + } catch (SAXException | MalformedURLException e) { + if (debug) { + System.out.println( e.getMessage() ); + } + log.error( e.getMessage() ); + } optEle = Optional.of(ele); } } else { @@ -225,7 +237,7 @@ public class SLUBXmlFormatValidationPlugin implements FormatValidationPlugin { if (debug) { System.out.println("-> dtd detected, use catalog"); } - } else if (!schema.get().schemaURL.isBlank()) { + } else if (!schema.get().schemaURL.toString().isBlank()) { if (debug) { System.out.println("-> set schema to " + schema.get().schemaURL); } -- GitLab