mirror of
https://github.com/itplr-kosit/validator.git
synced 2026-05-25 16:55:39 +00:00
get rid of ObjectFactory.java
This commit is contained in:
parent
5b1d0cd467
commit
d0000fc698
20 changed files with 494 additions and 445 deletions
|
|
@ -1,5 +1,7 @@
|
|||
package de.kosit.validationtool.config;
|
||||
|
||||
import static de.kosit.validationtool.impl.DateFactory.createTimestamp;
|
||||
|
||||
import java.net.URI;
|
||||
import java.time.LocalDate;
|
||||
import java.util.ArrayList;
|
||||
|
|
@ -12,6 +14,7 @@ import java.util.stream.Collectors;
|
|||
import javax.xml.validation.Schema;
|
||||
|
||||
import org.apache.commons.lang3.NotImplementedException;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
|
||||
|
|
@ -21,6 +24,10 @@ import de.kosit.validationtool.impl.ContentRepository;
|
|||
import de.kosit.validationtool.impl.ResolvingMode;
|
||||
import de.kosit.validationtool.impl.Scenario;
|
||||
import de.kosit.validationtool.impl.model.Result;
|
||||
import de.kosit.validationtool.model.scenarios.DescriptionType;
|
||||
import de.kosit.validationtool.model.scenarios.NoScenarioReportType;
|
||||
import de.kosit.validationtool.model.scenarios.ObjectFactory;
|
||||
import de.kosit.validationtool.model.scenarios.Scenarios;
|
||||
|
||||
import net.sf.saxon.s9api.Processor;
|
||||
|
||||
|
|
@ -52,6 +59,8 @@ public class ConfigurationBuilder {
|
|||
|
||||
private URI repository;
|
||||
|
||||
private String description;
|
||||
|
||||
public ConfigurationBuilder author(final String authorName) {
|
||||
this.author = authorName;
|
||||
return this;
|
||||
|
|
@ -84,6 +93,11 @@ public class ConfigurationBuilder {
|
|||
return this;
|
||||
}
|
||||
|
||||
public ConfigurationBuilder description(final String description) {
|
||||
this.description = description;
|
||||
return this;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a fallback scenario configuration.
|
||||
*
|
||||
|
|
@ -182,9 +196,29 @@ public class ConfigurationBuilder {
|
|||
configuration.setDate(this.date);
|
||||
configuration.setName(this.name);
|
||||
configuration.setContentRepository(contentRepository);
|
||||
configuration.getAdditionalParameters().put(Keys.SCENARIO_DEFINITION, createDefinition(configuration));
|
||||
return (configuration);
|
||||
}
|
||||
|
||||
private Scenarios createDefinition(final DefaultConfiguration configuration) {
|
||||
final Scenarios s = new Scenarios();
|
||||
s.setAuthor(configuration.getAuthor());
|
||||
s.setDate(createTimestamp());
|
||||
final DescriptionType d = new DescriptionType();
|
||||
d.getPOrOlOrUl().add(new ObjectFactory().createDescriptionTypeP(StringUtils.defaultIfBlank(this.description, "")));
|
||||
s.setDescription(d);
|
||||
s.setName(configuration.getName());
|
||||
s.getScenario().addAll(configuration.getScenarios().stream().map(Scenario::getConfiguration).collect(Collectors.toList()));
|
||||
s.setNoScenarioReport(createNoScenarioReportType(configuration.getFallbackScenario()));
|
||||
return s;
|
||||
}
|
||||
|
||||
private static NoScenarioReportType createNoScenarioReportType(final Scenario fallbackScenario) {
|
||||
final NoScenarioReportType no = new NoScenarioReportType();
|
||||
no.setResource(fallbackScenario.getConfiguration().getCreateReport().getResource());
|
||||
return no;
|
||||
}
|
||||
|
||||
private Scenario initializeFallback(final ContentRepository contentRepository) {
|
||||
if (this.fallbackBuilder == null) {
|
||||
throw new IllegalStateException("No fallback configuration specified");
|
||||
|
|
|
|||
|
|
@ -129,6 +129,8 @@ public class ConfigurationLoader {
|
|||
configuration.setDate(def.getDate().toString());
|
||||
configuration.setName(def.getName());
|
||||
configuration.setContentRepository(contentRepository);
|
||||
configuration.getAdditionalParameters().put(Keys.SCENARIOS_FILE, this.scenarioDefinition);
|
||||
configuration.getAdditionalParameters().put(Keys.SCENARIO_DEFINITION, def);
|
||||
return (configuration);
|
||||
}
|
||||
|
||||
|
|
|
|||
20
src/main/java/de/kosit/validationtool/config/Keys.java
Normal file
20
src/main/java/de/kosit/validationtool/config/Keys.java
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
package de.kosit.validationtool.config;
|
||||
|
||||
/**
|
||||
* Defines some keys used for supplying additional parameters internally.
|
||||
*
|
||||
* @author Andreas Penski
|
||||
*/
|
||||
public class Keys {
|
||||
|
||||
/**
|
||||
* The actual scenarios file location as used with {@link ConfigurationLoader}.
|
||||
*/
|
||||
public static final String SCENARIOS_FILE = "scenarios_file";
|
||||
|
||||
/**
|
||||
* The actual scenarios configuration represented as serializable tree. This either loaded from file or build manually
|
||||
* via {@link ConfigurationBuilder}
|
||||
*/
|
||||
public static final String SCENARIO_DEFINITION = "scenario_definition";
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue