Skip to content

Commit 3a7cfdd

Browse files
* Extracted constants for schema validation message templates.
* Changed logging to `Error` when the schema file could not be loaded. * Renamed parameter `filename` to be more specific about its intent.
1 parent ea12fc1 commit 3a7cfdd

File tree

1 file changed

+19
-11
lines changed

1 file changed

+19
-11
lines changed

service/src/main/java/uk/nhs/adaptors/gp2gp/transformJsonToXmlTool/XmlSchemaValidator.java

Lines changed: 19 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -31,39 +31,47 @@ public class XmlSchemaValidator {
3131
private static final String OUTPUT_PATH =
3232
Paths.get("src/").toFile().getAbsoluteFile().getAbsolutePath() + "/../../transformJsonToXml/output/";
3333

34-
public void validateOutputToXmlSchema(String filename, String xmlResult) {
35-
LOGGER.info("Validating {} against {} schema", filename, RedactionsContext.REDACTION_INTERACTION_ID);
34+
private static final String VALIDATING_AGAINST_SCHEMA_TEMPLATE = "Validating {} against {} schema";
35+
private static final String COULD_NOT_LOAD_SCHEMA_FILE_TEMPLATE = "Could not load schema file for {} context.";
36+
private static final String FAILED_TO_VALIDATE_SCHEMA_TEMPLATE = "Failed to validate {} against {} schema";
37+
private static final String COULD_NOT_READ_FROM_STREAM_SOURCE_TEMPLATE = "Could not read from stream source for produced XML for {}";
38+
private static final String SUCCESSFULLY_VALIDATED_SCHEMA_TEMPLATE = "Successfully validated {} against {} schema";
39+
private static final String VALIDATION_ERRORS_WRITTEN_TEMPLATE = "Validation errors written to {}";
40+
private static final String COULD_NOT_WRITE_VALIDATION_ERRORS_TEMPLATE = "Could not write validation errors to {}";
41+
42+
public void validateOutputToXmlSchema(String inputJsonFilename, String xmlResult) {
43+
LOGGER.info(VALIDATING_AGAINST_SCHEMA_TEMPLATE, inputJsonFilename, RedactionsContext.REDACTION_INTERACTION_ID);
3644

3745
var xsdErrorHandler = new XsdErrorHandler();
3846
Validator xmlValidator;
3947

4048
try {
4149
xmlValidator = getXmlValidator(xsdErrorHandler);
4250
} catch (SAXException e) {
43-
LOGGER.info("Could not load schema file for {} context.", RedactionsContext.REDACTION_INTERACTION_ID);
51+
LOGGER.error(COULD_NOT_LOAD_SCHEMA_FILE_TEMPLATE, RedactionsContext.REDACTION_INTERACTION_ID);
4452
return;
4553
}
4654

4755
try {
4856
var xmlResultSource = new StreamSource(new StringReader(xmlResult));
4957
xmlValidator.validate(xmlResultSource);
5058
} catch (SAXParseException parseException) {
51-
LOGGER.info("Failed to validate {} against {} schema", filename, RedactionsContext.REDACTION_INTERACTION_ID);
52-
writeValidationExceptionsToFile(xsdErrorHandler, filename);
59+
LOGGER.info(FAILED_TO_VALIDATE_SCHEMA_TEMPLATE, inputJsonFilename, RedactionsContext.REDACTION_INTERACTION_ID);
60+
writeValidationExceptionsToFile(xsdErrorHandler, inputJsonFilename);
5361
} catch (IOException e) {
54-
LOGGER.info("Could not read from stream source for produced XML for {}", filename);
62+
LOGGER.info(COULD_NOT_READ_FROM_STREAM_SOURCE_TEMPLATE, inputJsonFilename);
5563
return;
5664
} catch (Exception e) {
5765
throw new RuntimeException(e);
5866
}
5967

6068
if (!xsdErrorHandler.isValid()) {
61-
LOGGER.info("Failed to validate {} against {} schema", filename, RedactionsContext.REDACTION_INTERACTION_ID);
62-
writeValidationExceptionsToFile(xsdErrorHandler, filename);
69+
LOGGER.info(FAILED_TO_VALIDATE_SCHEMA_TEMPLATE, inputJsonFilename, RedactionsContext.REDACTION_INTERACTION_ID);
70+
writeValidationExceptionsToFile(xsdErrorHandler, inputJsonFilename);
6371
return;
6472
}
6573

66-
LOGGER.info("Successfully validated {} against {} schema", filename, RedactionsContext.REDACTION_INTERACTION_ID);
74+
LOGGER.info(SUCCESSFULLY_VALIDATED_SCHEMA_TEMPLATE, inputJsonFilename, RedactionsContext.REDACTION_INTERACTION_ID);
6775
}
6876

6977
private void writeValidationExceptionsToFile(XsdErrorHandler xsdErrorHandler, String fileName) {
@@ -74,9 +82,9 @@ private void writeValidationExceptionsToFile(XsdErrorHandler xsdErrorHandler, St
7482
writer.write(message);
7583
writer.newLine();
7684
}
77-
LOGGER.info("Validation errors written to {}", outputFileName);
85+
LOGGER.info(VALIDATION_ERRORS_WRITTEN_TEMPLATE, outputFileName);
7886
} catch (IOException e) {
79-
LOGGER.error("Could not write validation errors to {}", outputFileName, e);
87+
LOGGER.error(COULD_NOT_WRITE_VALIDATION_ERRORS_TEMPLATE, outputFileName, e);
8088
}
8189
}
8290

0 commit comments

Comments
 (0)