From f39a4af90ef2b089cbd7fcd91e5a60bd397cfdae Mon Sep 17 00:00:00 2001 From: Achraf <aai@kereval.com> Date: Sun, 15 May 2022 22:10:44 +0200 Subject: [PATCH] System Testing: Add GenerationConfiguration class --- .../application/ValidatorGenerator.java | 12 ++ .../interlay/GenerationConfiguration.java | 104 ++++++++++++++++++ .../interlay/ValidatorGeneratorImpl.java | 20 +++- 3 files changed, 134 insertions(+), 2 deletions(-) create mode 100644 hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/interlay/GenerationConfiguration.java diff --git a/hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/application/ValidatorGenerator.java b/hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/application/ValidatorGenerator.java index 89f64b1..4be62ea 100644 --- a/hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/application/ValidatorGenerator.java +++ b/hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/application/ValidatorGenerator.java @@ -2,11 +2,21 @@ package net.ihe.gazelle.goctests.application; import net.ihe.gazelle.goctests.application.exceptions.ValidatorGenerationException; import net.ihe.gazelle.goctests.application.models.GeneratedValidator; +import net.ihe.gazelle.goctests.interlay.GenerationConfiguration; import java.net.URL; public interface ValidatorGenerator { + + /** + * Generate Model Based Validator with {@link GenerationConfiguration} parameter + * @param generationConfiguration object holding all generation configuration + * @return GeneratedValidator, the model definition of the validator + * @throws ValidatorGenerationException + */ + GeneratedValidator generateValidator(GenerationConfiguration generationConfiguration) throws ValidatorGenerationException; + /** * Generate Model Based Validator with String parameters * @param bbr The path to the BBR file (XML) @@ -31,4 +41,6 @@ public interface ValidatorGenerator { */ GeneratedValidator generateValidator(URL bbrURL) throws ValidatorGenerationException; + + } diff --git a/hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/interlay/GenerationConfiguration.java b/hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/interlay/GenerationConfiguration.java new file mode 100644 index 0000000..89646b4 --- /dev/null +++ b/hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/interlay/GenerationConfiguration.java @@ -0,0 +1,104 @@ +package net.ihe.gazelle.goctests.interlay; + +import java.net.URL; + +public class GenerationConfiguration { + + private URL bbrUrl; + + private String outputFolder; + + private String mvn; + + private Boolean ignoreTemplateIdRequirements = Boolean.FALSE; + + private Boolean ignoreCdaBasicRequirements = Boolean.FALSE; + + private Boolean ignoreChoicesPredicates = Boolean.FALSE; + + private String serviceName; + + private String versionLabel; + + + public GenerationConfiguration(URL bbrUrl, String outputFolder, String mvn) { + this.bbrUrl = bbrUrl; + this.outputFolder = outputFolder; + this.mvn = mvn; + } + + public GenerationConfiguration(URL bbrUrl, String outputFolder, String mvn, Boolean ignoreTemplateIdRequirements, + Boolean ignoreCdaBasicRequirements, Boolean ignoreChoicesPredicates, String serviceName) { + this.bbrUrl = bbrUrl; + this.outputFolder = outputFolder; + this.mvn = mvn; + this.ignoreTemplateIdRequirements = ignoreTemplateIdRequirements; + this.ignoreCdaBasicRequirements = ignoreCdaBasicRequirements; + this.ignoreChoicesPredicates = ignoreChoicesPredicates; + this.serviceName = serviceName; + } + + public URL getBbrUrl() { + return bbrUrl; + } + + public void setBbrUrl(URL bbrUrl) { + this.bbrUrl = bbrUrl; + } + + public String getOutputFolder() { + return outputFolder; + } + + public void setOutputFolder(String outputFolder) { + this.outputFolder = outputFolder; + } + + public String getMvn() { + return mvn; + } + + public void setMvn(String mvn) { + this.mvn = mvn; + } + + public Boolean isIgnoreTemplateIdRequirements() { + return ignoreTemplateIdRequirements; + } + + public void setIgnoreTemplateIdRequirements(Boolean ignoreTemplateIdRequirements) { + this.ignoreTemplateIdRequirements = ignoreTemplateIdRequirements; + } + + public Boolean isIgnoreCdaBasicRequirements() { + return ignoreCdaBasicRequirements; + } + + public void setIgnoreCdaBasicRequirements(Boolean ignoreCdaBasicRequirements) { + this.ignoreCdaBasicRequirements = ignoreCdaBasicRequirements; + } + + public String getServiceName() { + return serviceName; + } + + public void setServiceName(String serviceName) { + this.serviceName = serviceName; + } + + public Boolean isIgnoreChoicesPredicates() { + return ignoreChoicesPredicates; + } + + public void setIgnoreChoicesPredicates(Boolean ignoreChoicesPredicates) { + this.ignoreChoicesPredicates = ignoreChoicesPredicates; + } + + public String getVersionLabel() { + return versionLabel; + } + + public void setVersionLabel(String versionLabel) { + this.versionLabel = versionLabel; + } +} diff --git a/hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/interlay/ValidatorGeneratorImpl.java b/hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/interlay/ValidatorGeneratorImpl.java index 5657113..321225c 100644 --- a/hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/interlay/ValidatorGeneratorImpl.java +++ b/hl7templates/goc-tests/goc-tests-runner/src/main/java/net/ihe/gazelle/goctests/interlay/ValidatorGeneratorImpl.java @@ -20,14 +20,24 @@ public class ValidatorGeneratorImpl implements ValidatorGenerator { @Override - public GeneratedValidator generateValidator(URL bbrUrl, String outputFolder, String mvn) throws ValidatorGenerationException { + public GeneratedValidator generateValidator(GenerationConfiguration generationConfiguration) throws ValidatorGenerationException { System.out.println("Start generation for test"); + String outputFolder = generationConfiguration.getOutputFolder(); + URL bbrUrl = generationConfiguration.getBbrUrl(); + String mvn = generationConfiguration.getMvn(); + + Boolean ignoreTemplateIdRequirements = generationConfiguration.isIgnoreTemplateIdRequirements(); + Boolean ignoreCdaBasicRequirements = generationConfiguration.isIgnoreCdaBasicRequirements(); + Boolean ignoreChoicesPredicates = generationConfiguration.isIgnoreChoicesPredicates(); + String serviceName = generationConfiguration.getServiceName(); + String versionLabel = generationConfiguration.getVersionLabel(); //Run GOC GOCExecutor gocExecutor = new GOCExecutor(outputFolder); - ValidatorConfiguration validatorConfiguration = gocExecutor.execute(new StreamBBRResource(bbrUrl),mvn); + ValidatorConfiguration validatorConfiguration = gocExecutor.execute(new StreamBBRResource(bbrUrl),mvn, + versionLabel, ignoreTemplateIdRequirements, ignoreCdaBasicRequirements, serviceName, ignoreChoicesPredicates); StringBuilder logPath = new StringBuilder(outputFolder) .append("/").append(GeneratedValidator.ROOT_LOG_DIRECTORY) @@ -53,6 +63,12 @@ public class ValidatorGeneratorImpl implements ValidatorGenerator { } return validator; + } + + @Override + public GeneratedValidator generateValidator(URL bbrUrl, String outputFolder, String mvn) throws ValidatorGenerationException { + GenerationConfiguration generationConfiguration = new GenerationConfiguration(bbrUrl, outputFolder, mvn); + return this.generateValidator(generationConfiguration); } -- GitLab