From 36c030558bb731ba7d9a561d93882ad79cd36274 Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Thu, 23 Feb 2023 14:42:47 +0100 Subject: [PATCH] - performance fix, load only schemaInst if needed --- .../dps/repository/plugin/SLUBXmlFormatValidationPlugin.java | 4 +++- .../slub/rosetta/dps/repository/plugin/ValidationSchema.java | 4 ---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java index bcf7805..b39af51 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java @@ -31,6 +31,7 @@ import javax.xml.XMLConstants; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.ParserConfigurationException; +import javax.xml.validation.SchemaFactory; import java.io.File; import java.io.IOException; import java.net.MalformedURLException; @@ -242,7 +243,8 @@ public class SLUBXmlFormatValidationPlugin implements FormatValidationPlugin { if (debug) { System.out.println("-> set schema to " + schema.get().schemaURL); } - dbf.setSchema(schema.get().schemaInst); + var schemaInst = SchemaFactory.newDefaultInstance().newSchema( schema.get().schemaURL ); + dbf.setSchema(schemaInst); assert(dbf.getSchema() != null); } valid = validateAgainstSchema(filePath); diff --git a/java/org/slub/rosetta/dps/repository/plugin/ValidationSchema.java b/java/org/slub/rosetta/dps/repository/plugin/ValidationSchema.java index 5d7c71d..6806a17 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/ValidationSchema.java +++ b/java/org/slub/rosetta/dps/repository/plugin/ValidationSchema.java @@ -2,20 +2,16 @@ package org.slub.rosetta.dps.repository.plugin; import org.xml.sax.SAXException; -import javax.xml.validation.Schema; -import javax.xml.validation.SchemaFactory; import java.net.URL; class ValidationSchema { public final String nameSpace; public final ValidationSchemaType schemaType; public final URL schemaURL; - public Schema schemaInst; public ValidationSchema(String nameSpace, ValidationSchemaType schemaType, URL schemaURL) throws SAXException { this.nameSpace = nameSpace; this.schemaURL = schemaURL; this.schemaType = schemaType; - this.schemaInst = SchemaFactory.newDefaultInstance().newSchema( schemaURL ); } } -- GitLab