From e83b316d95a30055ad706606fddf80163929e7a8 Mon Sep 17 00:00:00 2001 From: "Andreas Penski (init)" Date: Fri, 21 Jun 2019 14:05:40 +0200 Subject: [PATCH] #28 Add CreateReportInput to result in API --- src/main/java/de/kosit/validationtool/api/Result.java | 10 +++++++++- .../de/kosit/validationtool/impl/DefaultCheck.java | 4 ++-- .../de/kosit/validationtool/impl/DefaultResult.java | 8 +++++++- .../validationtool/impl/tasks/CreateReportAction.java | 5 +---- 4 files changed, 19 insertions(+), 8 deletions(-) diff --git a/src/main/java/de/kosit/validationtool/api/Result.java b/src/main/java/de/kosit/validationtool/api/Result.java index 27d4adc..c4405bf 100644 --- a/src/main/java/de/kosit/validationtool/api/Result.java +++ b/src/main/java/de/kosit/validationtool/api/Result.java @@ -5,6 +5,8 @@ import java.util.List; import org.oclc.purl.dsdl.svrl.SchematronOutput; import org.w3c.dom.Document; +import de.kosit.validationtool.model.reportInput.CreateReportInput; + import net.sf.saxon.s9api.XdmNode; /** @@ -12,9 +14,15 @@ import net.sf.saxon.s9api.XdmNode; * * @author Andreas Penski */ - public interface Result { + /** + * Gibt die vom Validator erstelle interne Berichts-'Vorstufe' als Objekt zurück. + * + * @return die Berichts-'Vorstufe' + */ + CreateReportInput getReportInput(); + /** Der generierte Report. */ XdmNode getReport(); diff --git a/src/main/java/de/kosit/validationtool/impl/DefaultCheck.java b/src/main/java/de/kosit/validationtool/impl/DefaultCheck.java index a411a99..db057ea 100644 --- a/src/main/java/de/kosit/validationtool/impl/DefaultCheck.java +++ b/src/main/java/de/kosit/validationtool/impl/DefaultCheck.java @@ -91,8 +91,7 @@ public class DefaultCheck implements Check { this.checkSteps.add(new SchemaValidationAction()); this.checkSteps.add(new SchematronValidationAction(configuration.getScenarioRepository(), this.conversionService)); this.checkSteps.add(new ValidateReportInputAction(this.conversionService, this.contentRepository.getReportInputSchema())); - this.checkSteps - .add(new CreateReportAction(processor, this.conversionService, this.repository, configuration.getScenarioRepository())); + this.checkSteps.add(new CreateReportAction(processor, this.conversionService, configuration.getScenarioRepository())); this.checkSteps.add(new ComputeAcceptanceAction()); } @@ -135,6 +134,7 @@ public class DefaultCheck implements Check { private Result createResult(final Bag t) { final DefaultResult result = new DefaultResult(t.getReport(), t.getAcceptStatus(), this.contentRepository); + result.setReportInput(t.getReportInput()); if (t.getSchemaValidationResult() != null) { result.setSchemaViolations(convertErrors(t.getSchemaValidationResult().getErrors())); } diff --git a/src/main/java/de/kosit/validationtool/impl/DefaultResult.java b/src/main/java/de/kosit/validationtool/impl/DefaultResult.java index 192008d..51d0ad7 100644 --- a/src/main/java/de/kosit/validationtool/impl/DefaultResult.java +++ b/src/main/java/de/kosit/validationtool/impl/DefaultResult.java @@ -16,6 +16,7 @@ import lombok.Setter; import de.kosit.validationtool.api.AcceptRecommendation; import de.kosit.validationtool.api.Result; import de.kosit.validationtool.api.XmlError; +import de.kosit.validationtool.model.reportInput.CreateReportInput; import net.sf.saxon.dom.NodeOverNodeInfo; import net.sf.saxon.s9api.SaxonApiException; @@ -23,15 +24,20 @@ import net.sf.saxon.s9api.Serializer; import net.sf.saxon.s9api.XdmNode; /** + * Das Default-{@link Result} für die Rückgabe in der API + * * @author Andreas Penski */ - public class DefaultResult implements Result { /** Der generierte Report. */ @Getter private final XdmNode report; + @Getter + @Setter(AccessLevel.PACKAGE) + private CreateReportInput reportInput; + /** Das evaluierte Ergebnis. */ @Getter private final AcceptRecommendation acceptRecommendation; diff --git a/src/main/java/de/kosit/validationtool/impl/tasks/CreateReportAction.java b/src/main/java/de/kosit/validationtool/impl/tasks/CreateReportAction.java index 3cb3a1f..f9441a0 100644 --- a/src/main/java/de/kosit/validationtool/impl/tasks/CreateReportAction.java +++ b/src/main/java/de/kosit/validationtool/impl/tasks/CreateReportAction.java @@ -46,7 +46,7 @@ import net.sf.saxon.s9api.XsltTransformer; /** * Erzeugt den Report auf Basis der gesammelten Informationen über den Prüfling. Sollte kein Szenario identifiziert - * worden sein, so wird ein {@link ScenarioRepository#getNoScenarioReport() default report} erzeugt. + * worden sein, so wird ein {@link ScenarioRepository#getFallbackScenario()} () default report} erzeugt. * * @author Andreas Penski */ @@ -57,8 +57,6 @@ public class CreateReportAction implements CheckAction { private final ConversionService conversionService; - private final ScenarioRepository repository; - private final URI contentRepository; private static XsltExecutable loadFromScenario(final ScenarioType object) { @@ -98,5 +96,4 @@ public class CreateReportAction implements CheckAction { return loadFromScenario(scenario.getObject()); } - }