From 469eb9e2956d3cb72698abb101dffa82c5a4b447 Mon Sep 17 00:00:00 2001 From: Andreas Romeyke <andreas.romeyke@slub-dresden.de> Date: Tue, 18 Jul 2023 16:38:33 +0200 Subject: [PATCH] - refactoring, replaced if-then-elsif... with switch-case --- .../plugin/SLUBXmlFormatValidationPlugin.java | 41 +++++++++---------- 1 file changed, 20 insertions(+), 21 deletions(-) diff --git a/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java index 8199063..fd3e46c 100644 --- a/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java +++ b/java/org/slub/rosetta/dps/repository/plugin/SLUBXmlFormatValidationPlugin.java @@ -348,25 +348,26 @@ public class SLUBXmlFormatValidationPlugin implements FormatValidationPlugin { reportDetail("assigned schema uri: " + validationSchema.schemaURI); var schemaType = validationSchema.schemaType; Document doc = getDocument(filePath); - if (schemaType == ValidationSchemaType.dtd) { - SLUBValidateDTD validator = new SLUBValidateDTD( validationCatalogResolver, validationErrorHandler ); - valid = validator.validateAgainst(filePath); - } - else if (schemaType == ValidationSchemaType.relaxng) { - SLUBValidateRelaxNG validator = new SLUBValidateRelaxNG( ); - valid = validator.validateAgainst(doc, validationSchema.schemaURI); - - } else if (schemaType == ValidationSchemaType.schematron) { - SLUBValidateSchematron validator = new SLUBValidateSchematron( ); - valid = validator.validateAgainst(doc, validationSchema.schemaURI); - reportError("unsupported schematron schema uri="+ validationSchema.schemaURI + " of type: " + validationSchema.schemaType); - valid = false; - /* */ - } else if (schemaType == ValidationSchemaType.schema) { - validateFormatAgainstSchemaRecursively(doc, validationSchema); - } else { - reportError("unsupported schema uri="+ validationSchema.schemaURI + " of type: " + validationSchema.schemaType); - valid = false; + switch (schemaType) { + case dtd -> { + SLUBValidateDTD validator = new SLUBValidateDTD(validationCatalogResolver, validationErrorHandler); + valid = validator.validateAgainst(filePath); + } + case schema -> validateFormatAgainstSchemaRecursively(doc, validationSchema); + case relaxng -> { + SLUBValidateRelaxNG validator = new SLUBValidateRelaxNG(); + valid = validator.validateAgainst(doc, validationSchema.schemaURI); + } + case schematron -> { + SLUBValidateSchematron validator = new SLUBValidateSchematron(); + valid = validator.validateAgainst(doc, validationSchema.schemaURI); + reportError("unsupported schematron schema uri=" + validationSchema.schemaURI + " of type: " + validationSchema.schemaType); + valid = false; + } + default -> { + reportError("unsupported schema uri=" + validationSchema.schemaURI + " of type: " + validationSchema.schemaType); + valid = false; + } } } @@ -409,10 +410,8 @@ public class SLUBXmlFormatValidationPlugin implements FormatValidationPlugin { //dbf.setXIncludeAware(true); dbf.setNamespaceAware(true); DocumentBuilder db = dbf.newDocumentBuilder(); - db.setErrorHandler( validationErrorHandler ); //db.setEntityResolver(validationCatalogResolver); - if (debug) System.out.println( "DOCUMENT LOADER: ns aware=" + db.isNamespaceAware() + " include aware=" + db.isXIncludeAware() -- GitLab