diff --git a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/check/Checker.java b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/check/Checker.java index e3cb538b664ae6d37c72a2cf2e0d6957fb37dc17..c24d74490d861fac8c8886f9347c45726a0e1938 100644 --- a/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/check/Checker.java +++ b/CityDoctorParent/CityDoctorValidation/src/main/java/de/hft/stuttgart/citydoctor2/check/Checker.java @@ -741,6 +741,11 @@ public class Checker { public static void streamCheck(CityGmlZipEntry entry, String xmlOutput, String pdfOutput, ValidationConfiguration config, String outputFile) throws IOException, CityGmlParseException { + streamCheck(entry, xmlOutput, pdfOutput, config, null, outputFile); + } + + public static void streamCheck(CityGmlZipEntry entry, String xmlOutput, String pdfOutput, ValidationConfiguration config, + FeatureCheckedListener l, String outputFile) throws IOException, CityGmlParseException { try (BufferedOutputStream xmlBos = getXmlOutputMaybe(xmlOutput); BufferedOutputStream pdfBos = getPdfOutputMaybe(pdfOutput)) { Checker c = new Checker(config, null); @@ -754,7 +759,7 @@ public class Checker { try (CityGmlZipEntryFile entryFile = new CityGmlZipEntryFile(entry)) { SvrlContentHandler handler = executeSchematronValidationIfAvailable(config, entryFile.getInputStream()); - CityGmlConsumer con = new StreamCityGmlConsumer(c, xmlReporter, pdfReporter, handler, config, null); + CityGmlConsumer con = new StreamCityGmlConsumer(c, xmlReporter, pdfReporter, handler, config, l); // parse and validate CityGmlParser.streamCityGml(entry, config.getParserConfiguration(), con, outputFile); @@ -767,7 +772,6 @@ public class Checker { } } - public static void streamCheck(File inputFile, String xmlOutput, String pdfOutput, ValidationConfiguration config, String outputFile) throws IOException, CityGmlParseException { streamCheck(inputFile, xmlOutput, pdfOutput, config, null, outputFile); diff --git a/CityDoctorParent/CityDoctorValidation/src/test/java/de/hft/stuttgart/citydoctor2/check/CheckerTest.java b/CityDoctorParent/CityDoctorValidation/src/test/java/de/hft/stuttgart/citydoctor2/check/CheckerTest.java index 7b1a04d5cd3e7ffd086943ff29a6dd2c6de58829..3efdefd6d6710168724580bc1d084102e8b231fe 100644 --- a/CityDoctorParent/CityDoctorValidation/src/test/java/de/hft/stuttgart/citydoctor2/check/CheckerTest.java +++ b/CityDoctorParent/CityDoctorValidation/src/test/java/de/hft/stuttgart/citydoctor2/check/CheckerTest.java @@ -19,6 +19,7 @@ package de.hft.stuttgart.citydoctor2.check; import de.hft.stuttgart.citydoctor2.CityDoctorValidation; +import de.hft.stuttgart.citydoctor2.checks.util.FeatureCheckedListener; import de.hft.stuttgart.citydoctor2.datastructure.Building; import de.hft.stuttgart.citydoctor2.datastructure.CityDoctorModel; import de.hft.stuttgart.citydoctor2.exceptions.CityDoctorWriteException; @@ -117,14 +118,18 @@ public class CheckerTest { } @Test - public void testZipEntryChecking() throws CityGmlParseException, IOException, InvalidGmlFileException, CityDoctorWriteException { + public void testZipEntryChecking() throws CityGmlParseException, IOException { CityGmlZipArchive cgmlArch = CityGmlZipArchive.register("src/test/resources/zipArchive.zip"); assertNotNull(cgmlArch); cgmlArch.mountArchive(new ParserConfiguration(8, false)); ValidationConfiguration config = ValidationConfiguration.loadStandardValidationConfig(); + FeatureCheckedListener l = co -> { + assertTrue(co.isValidated()); + }; for (CityGmlZipEntry entry : cgmlArch.getEntries()) { - Checker.streamCheck(entry, null, null, config, null); + Checker.streamCheck(entry, null, null, config, l, null); } + } }