diff --git a/PLUGIN-INF/metadata_XmlFormatValidationPlugin.xml b/PLUGIN-INF/metadata_XmlFormatValidationPlugin.xml index b1ae1a384487981fea80d0bd6f20393beea1582c..1a7e0ec2d4e29dc035ae4d658f5fa694ac05bf4b 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 8ff9517a2dc8cd0aae79eae24488828682cd4cd0..22349f8f62bee8978e9bf2ebf2066e5fcf0aff8d 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/... */