From 28de385b14e75325d8e9aed497ea5e59bea6bcff Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Thu, 16 May 2024 10:59:27 +0200 Subject: [PATCH] - bugfix, use threadsafe set implementation, closes https://git.slub-dresden.de/digital-preservation/xml_plugin4rosetta/-/issues/23 --- PLUGIN-INF/metadata_XmlFormatValidationPlugin.xml | 2 +- .../dps/repository/plugin/XmlFormatValidationPlugin.java | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/PLUGIN-INF/metadata_XmlFormatValidationPlugin.xml b/PLUGIN-INF/metadata_XmlFormatValidationPlugin.xml index b1ae1a3..1a7e0ec 100644 --- a/PLUGIN-INF/metadata_XmlFormatValidationPlugin.xml +++ b/PLUGIN-INF/metadata_XmlFormatValidationPlugin.xml @@ -57,7 +57,7 @@ </fr:x_form> </pl:initParameters> <pl:description>SLUB Format Validation Plugin for XML</pl:description> - <pl:version>0.03</pl:version> + <pl:version>0.04</pl:version> <pl:materialType>DIGITAL</pl:materialType> <pl:module>Preservation</pl:module> <pl:generalType>TASK</pl:generalType> diff --git a/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java index 8ff9517..22349f8 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/XmlFormatValidationPlugin.java @@ -37,11 +37,11 @@ import java.io.IOException; import java.net.URI; import java.net.URISyntaxException; import java.util.HashMap; -import java.util.HashSet; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.Set; +import java.util.concurrent.CopyOnWriteArraySet; /** * XmlFormatValidationPlugin @@ -55,7 +55,7 @@ public class XmlFormatValidationPlugin implements FormatValidationPlugin { private boolean valid; private boolean wellformed; private final DocumentBuilderFactory dbf = DocumentBuilderFactory.newDefaultInstance(); - private static final Set<ValidationSchema> namespaceSchemaMap = new HashSet<>(); + private static final Set<ValidationSchema> namespaceSchemaMap = new CopyOnWriteArraySet<>(); private ValidationCatalogResolver validationCatalogResolver; /* for DTDs */ private ValidationResourceResolver validationResourceResolver; /* for schema/relaxNG/... */ -- GitLab