Currently job artifacts in CI/CD pipelines on LRZ GitLab never expire. Starting from Wed 26.1.2022 the default expiration time will be 30 days (GitLab default). Currently existing artifacts in already completed jobs will not be affected by the change. The latest artifacts for all jobs in the latest successful pipelines will be kept. More information: https://gitlab.lrz.de/help/user/admin_area/settings/continuous_integration.html#default-artifacts-expiration

Commit 941c94cd authored by Benedikt Zoennchen's avatar Benedikt Zoennchen
Browse files

refector ScenarioStore: use private variables instead of public.

parent a523b13a
...@@ -300,7 +300,7 @@ public class PostvisualizationModel extends SimulationModel<PostvisualizationCon ...@@ -300,7 +300,7 @@ public class PostvisualizationModel extends SimulationModel<PostvisualizationCon
private double getSimTimeInSec(final Step step) { private double getSimTimeInSec(final Step step) {
return step.getSimTimeInSec() return step.getSimTimeInSec()
.orElse(step.getStepNumber() * vadere.getScenarioStore().attributesSimulation.getSimTimeStepLength()); .orElse(step.getStepNumber() * vadere.getScenarioStore().getAttributesSimulation().getSimTimeStepLength());
} }
public synchronized void setPotentialFieldContainer(final PotentialFieldContainer container) { public synchronized void setPotentialFieldContainer(final PotentialFieldContainer container) {
......
...@@ -173,7 +173,7 @@ public class TextView extends JPanel implements IJsonView { ...@@ -173,7 +173,7 @@ public class TextView extends JPanel implements IJsonView {
switch (attributeType) { switch (attributeType) {
case MODEL: case MODEL:
ModelDefinition modelDefinition = JsonConverter.deserializeModelDefinition(json); ModelDefinition modelDefinition = JsonConverter.deserializeModelDefinition(json);
currentScenario.getScenarioStore().mainModel = modelDefinition.getMainModel(); currentScenario.getScenarioStore().setMainModel(modelDefinition.getMainModel());
currentScenario.setAttributesModel(modelDefinition.getAttributesList()); currentScenario.setAttributesModel(modelDefinition.getAttributesList());
break; break;
case SIMULATION: case SIMULATION:
...@@ -220,7 +220,7 @@ public class TextView extends JPanel implements IJsonView { ...@@ -220,7 +220,7 @@ public class TextView extends JPanel implements IJsonView {
switch (attributeType) { switch (attributeType) {
case MODEL: case MODEL:
txtrTextfiletextarea.setText(StateJsonConverter.serializeMainModelAttributesModelBundle( txtrTextfiletextarea.setText(StateJsonConverter.serializeMainModelAttributesModelBundle(
scenario.getModelAttributes(), scenario.getScenarioStore().mainModel)); scenario.getModelAttributes(), scenario.getScenarioStore().getMainModel()));
break; break;
case SIMULATION: case SIMULATION:
txtrTextfiletextarea txtrTextfiletextarea
......
...@@ -67,7 +67,7 @@ public class Simulation { ...@@ -67,7 +67,7 @@ public class Simulation {
this.name = name; this.name = name;
this.mainModel = mainModel; this.mainModel = mainModel;
this.scenarioStore = scenarioStore; this.scenarioStore = scenarioStore;
this.attributesSimulation = scenarioStore.attributesSimulation; this.attributesSimulation = scenarioStore.getAttributesSimulation();
this.attributesAgent = scenarioStore.getTopography().getAttributesPedestrian(); this.attributesAgent = scenarioStore.getTopography().getAttributesPedestrian();
this.sourceControllers = new LinkedList<>(); this.sourceControllers = new LinkedList<>();
this.targetControllers = new LinkedList<>(); this.targetControllers = new LinkedList<>();
......
...@@ -61,9 +61,9 @@ public class ScenarioBuilder { ...@@ -61,9 +61,9 @@ public class ScenarioBuilder {
// TODO: duplicated code // TODO: duplicated code
if(AttributesSimulation.class == clazz){ if(AttributesSimulation.class == clazz){
builder = new AttributesBuilder<>((E)store.attributesSimulation); builder = new AttributesBuilder<>((E)store.getAttributesSimulation());
builder.setField(fieldName, value); builder.setField(fieldName, value);
store.attributesSimulation = (AttributesSimulation) builder.build(); store.setAttributesSimulation((AttributesSimulation) builder.build());
} }
else if(AttributesAgent.class == clazz){ else if(AttributesAgent.class == clazz){
builder = new AttributesBuilder<>((E)store.getTopography().getAttributesPedestrian()); builder = new AttributesBuilder<>((E)store.getTopography().getAttributesPedestrian());
...@@ -84,8 +84,8 @@ public class ScenarioBuilder { ...@@ -84,8 +84,8 @@ public class ScenarioBuilder {
else { else {
builder = new AttributesBuilder<>(store.getAttributes(clazz)); builder = new AttributesBuilder<>(store.getAttributes(clazz));
builder.setField(fieldName, value); builder.setField(fieldName, value);
store.attributesList.removeIf(attributes -> attributes.getClass() == clazz); store.removeAttributesIf(attributes -> attributes.getClass() == clazz);
store.attributesList.add(builder.build()); store.addAttributes(builder.build());
} }
} }
......
...@@ -25,7 +25,7 @@ public class MainModelBuilder { ...@@ -25,7 +25,7 @@ public class MainModelBuilder {
public void createModelAndRandom() public void createModelAndRandom()
throws ClassNotFoundException, InstantiationException, IllegalAccessException { throws ClassNotFoundException, InstantiationException, IllegalAccessException {
final AttributesSimulation attributesSimulation = scenarioStore.attributesSimulation; final AttributesSimulation attributesSimulation = scenarioStore.getAttributesSimulation();
if (attributesSimulation.isUseRandomSeed()) { if (attributesSimulation.isUseRandomSeed()) {
random = new Random(attributesSimulation.getRandomSeed()); random = new Random(attributesSimulation.getRandomSeed());
} else { } else {
...@@ -45,10 +45,10 @@ public class MainModelBuilder { ...@@ -45,10 +45,10 @@ public class MainModelBuilder {
} }
private MainModel instantiateMainModel(Random random) { private MainModel instantiateMainModel(Random random) {
String mainModelName = scenarioStore.mainModel; String mainModelName = scenarioStore.getMainModel();
DynamicClassInstantiator<MainModel> instantiator = new DynamicClassInstantiator<>(); DynamicClassInstantiator<MainModel> instantiator = new DynamicClassInstantiator<>();
MainModel mainModel = instantiator.createObject(mainModelName); MainModel mainModel = instantiator.createObject(mainModelName);
mainModel.initialize(scenarioStore.attributesList, scenarioStore.getTopography(), mainModel.initialize(scenarioStore.getAttributesList(), scenarioStore.getTopography(),
scenarioStore.getTopography().getAttributesPedestrian(), random); scenarioStore.getTopography().getAttributesPedestrian(), random);
return mainModel; return mainModel;
} }
......
...@@ -11,6 +11,7 @@ import java.util.List; ...@@ -11,6 +11,7 @@ import java.util.List;
import org.apache.log4j.LogManager; import org.apache.log4j.LogManager;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
import org.jetbrains.annotations.NotNull;
import org.vadere.simulator.projects.dataprocessing.DataProcessingJsonManager; import org.vadere.simulator.projects.dataprocessing.DataProcessingJsonManager;
import org.vadere.simulator.projects.io.JsonConverter; import org.vadere.simulator.projects.io.JsonConverter;
import org.vadere.state.attributes.Attributes; import org.vadere.state.attributes.Attributes;
...@@ -32,24 +33,17 @@ import difflib.DiffUtils; ...@@ -32,24 +33,17 @@ import difflib.DiffUtils;
public class Scenario { public class Scenario {
private static Logger logger = LogManager.getLogger(Scenario.class); private static Logger logger = LogManager.getLogger(Scenario.class);
private ScenarioStore scenarioStore; private ScenarioStore scenarioStore;
private DataProcessingJsonManager dataProcessingJsonManager; private DataProcessingJsonManager dataProcessingJsonManager;
private String savedStateSerialized; private String savedStateSerialized;
private String currentStateSerialized; private String currentStateSerialized;
public Scenario(final String name) { public Scenario(final String name) {
this(name, new ScenarioStore(name)); this(new ScenarioStore(name));
}
public Scenario(final ScenarioStore store) {
this(store.name, store);
} }
public Scenario(final String name, final ScenarioStore store) { public Scenario(@NotNull final ScenarioStore store) {
this.scenarioStore = store; this.scenarioStore = store;
this.dataProcessingJsonManager = new DataProcessingJsonManager(); this.dataProcessingJsonManager = new DataProcessingJsonManager();
...@@ -88,7 +82,7 @@ public class Scenario { ...@@ -88,7 +82,7 @@ public class Scenario {
} }
public String getName() { public String getName() {
return scenarioStore.name; return scenarioStore.getName();
} }
public ScenarioStore getScenarioStore() { public ScenarioStore getScenarioStore() {
...@@ -96,7 +90,7 @@ public class Scenario { ...@@ -96,7 +90,7 @@ public class Scenario {
} }
public List<Attributes> getModelAttributes() { public List<Attributes> getModelAttributes() {
return scenarioStore.attributesList; return scenarioStore.getAttributesList();
} }
public AttributesAgent getAttributesPedestrian() { public AttributesAgent getAttributesPedestrian() {
...@@ -104,26 +98,26 @@ public class Scenario { ...@@ -104,26 +98,26 @@ public class Scenario {
} }
public AttributesSimulation getAttributesSimulation() { public AttributesSimulation getAttributesSimulation() {
return scenarioStore.attributesSimulation; return scenarioStore.getAttributesSimulation();
} }
public Topography getTopography() { public Topography getTopography() {
return scenarioStore.getTopography(); return scenarioStore.getTopography();
} }
public void setName(String name) { public void setName(@NotNull final String name) {
this.scenarioStore.name = name; this.scenarioStore.setName(name);
} }
public void setAttributesModel(List<Attributes> attributesList) { public void setAttributesModel(@NotNull final List<Attributes> attributesList) {
scenarioStore.attributesList = attributesList; scenarioStore.setAttributesList(attributesList);
} }
public void setAttributesSimulation(AttributesSimulation attributesSimulation) { public void setAttributesSimulation(@NotNull final AttributesSimulation attributesSimulation) {
this.scenarioStore.attributesSimulation = attributesSimulation; this.scenarioStore.setAttributesSimulation(attributesSimulation);
} }
public void setTopography(final Topography topography) { public void setTopography(@NotNull final Topography topography) {
scenarioStore.setTopography(topography); scenarioStore.setTopography(topography);
} }
...@@ -142,7 +136,7 @@ public class Scenario { ...@@ -142,7 +136,7 @@ public class Scenario {
} }
public String getDisplayName() { public String getDisplayName() {
return scenarioStore.name + (hasUnsavedChanges() ? "*" : ""); return scenarioStore.getName() + (hasUnsavedChanges() ? "*" : "");
} }
public void discardChanges() { public void discardChanges() {
...@@ -157,16 +151,16 @@ public class Scenario { ...@@ -157,16 +151,16 @@ public class Scenario {
} }
public String getDescription() { public String getDescription() {
return scenarioStore.description; return scenarioStore.getDescription();
} }
public void setDescription(String description) { public void setDescription(String description) {
scenarioStore.description = description; scenarioStore.setDescription(description);
} }
public String readyToRunResponse() { // TODO [priority=medium] [task=check] add more conditions public String readyToRunResponse() { // TODO [priority=medium] [task=check] add more conditions
if (scenarioStore.mainModel == null) { if (scenarioStore.getMainModel() == null) {
return scenarioStore.name + ": no mainModel is set"; return scenarioStore.getName() + ": no mainModel is set";
} }
return null; return null;
} }
...@@ -175,11 +169,11 @@ public class Scenario { ...@@ -175,11 +169,11 @@ public class Scenario {
return dataProcessingJsonManager; return dataProcessingJsonManager;
} }
public void setDataProcessingJsonManager(final DataProcessingJsonManager manager) { public void setDataProcessingJsonManager(@NotNull final DataProcessingJsonManager manager) {
this.dataProcessingJsonManager = manager; this.dataProcessingJsonManager = manager;
} }
public void saveToOutputPath(final Path outputPath) { public void saveToOutputPath(@NotNull final Path outputPath) {
try (PrintWriter out = new PrintWriter(Paths.get(outputPath.toString(), getName() + IOUtils.SCENARIO_FILE_EXTENSION).toString())) { try (PrintWriter out = new PrintWriter(Paths.get(outputPath.toString(), getName() + IOUtils.SCENARIO_FILE_EXTENSION).toString())) {
out.println(JsonConverter.serializeScenarioRunManager(this, true)); out.println(JsonConverter.serializeScenarioRunManager(this, true));
} catch (IOException e) { } catch (IOException e) {
......
...@@ -84,7 +84,7 @@ public class ScenarioRun implements Runnable { ...@@ -84,7 +84,7 @@ public class ScenarioRun implements Runnable {
final Random random = modelBuilder.getRandom(); final Random random = modelBuilder.getRandom();
// prepare processors and simulation data writer // prepare processors and simulation data writer
if(scenarioStore.attributesSimulation.isWriteSimulationData()) { if(scenarioStore.getAttributesSimulation().isWriteSimulationData()) {
processorManager = dataProcessingJsonManager.createProcessorManager(mainModel); processorManager = dataProcessingJsonManager.createProcessorManager(mainModel);
} }
...@@ -97,7 +97,7 @@ public class ScenarioRun implements Runnable { ...@@ -97,7 +97,7 @@ public class ScenarioRun implements Runnable {
sealAllAttributes(); sealAllAttributes();
// Run simulation main loop from start time = 0 seconds // Run simulation main loop from start time = 0 seconds
simulation = new Simulation(mainModel, 0, scenarioStore.name, scenarioStore, passiveCallbacks, random, processorManager); simulation = new Simulation(mainModel, 0, scenarioStore.getName(), scenarioStore, passiveCallbacks, random, processorManager);
} }
simulation.run(); simulation.run();
...@@ -165,8 +165,8 @@ public class ScenarioRun implements Runnable { ...@@ -165,8 +165,8 @@ public class ScenarioRun implements Runnable {
} }
public String readyToRunResponse() { // TODO [priority=medium] [task=check] add more conditions public String readyToRunResponse() { // TODO [priority=medium] [task=check] add more conditions
if (scenarioStore.mainModel == null) { if (scenarioStore.getMainModel() == null) {
return scenarioStore.name + ": no mainModel is set"; return scenarioStore.getName() + ": no mainModel is set";
} }
return null; return null;
} }
......
...@@ -3,6 +3,7 @@ package org.vadere.simulator.projects; ...@@ -3,6 +3,7 @@ package org.vadere.simulator.projects;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.function.Predicate;
import org.apache.commons.codec.digest.DigestUtils; import org.apache.commons.codec.digest.DigestUtils;
import org.apache.log4j.LogManager; import org.apache.log4j.LogManager;
...@@ -28,11 +29,11 @@ import com.fasterxml.jackson.core.JsonProcessingException; ...@@ -28,11 +29,11 @@ import com.fasterxml.jackson.core.JsonProcessingException;
public class ScenarioStore { public class ScenarioStore {
private static Logger logger = LogManager.getLogger(ScenarioStore.class); private static Logger logger = LogManager.getLogger(ScenarioStore.class);
public String name; private String name;
public String description; private String description;
public String mainModel; private String mainModel;
public List<Attributes> attributesList; private List<Attributes> attributesList;
public AttributesSimulation attributesSimulation; private AttributesSimulation attributesSimulation;
private Topography topography; private Topography topography;
public ScenarioStore(final String name, final String description, final String mainModel, final List<Attributes> attributesModel, public ScenarioStore(final String name, final String description, final String mainModel, final List<Attributes> attributesModel,
...@@ -85,4 +86,52 @@ public class ScenarioStore { ...@@ -85,4 +86,52 @@ public class ScenarioStore {
public <T extends Attributes> T getAttributes(@NotNull final Class<T> clazz) { public <T extends Attributes> T getAttributes(@NotNull final Class<T> clazz) {
return FindByClass.findSingleObjectOfClass(attributesList, clazz); return FindByClass.findSingleObjectOfClass(attributesList, clazz);
} }
public void setAttributesList(final List<Attributes> attributesList) {
this.attributesList = attributesList;
}
public void setAttributesSimulation(final AttributesSimulation attributesSimulation) {
this.attributesSimulation = attributesSimulation;
}
public void removeAttributesIf(@NotNull final Predicate<Attributes> predicate) {
attributesList.removeIf(predicate);
}
public void addAttributes(@NotNull final Attributes attributes) {
attributesList.add(attributes);
}
public void setDescription(final String description) {
this.description = description;
}
public void setMainModel(final String mainModel) {
this.mainModel = mainModel;
}
public void setName(final String name) {
this.name = name;
}
public AttributesSimulation getAttributesSimulation() {
return attributesSimulation;
}
public List<Attributes> getAttributesList() {
return attributesList;
}
public String getDescription() {
return description;
}
public String getMainModel() {
return mainModel;
}
public String getName() {
return name;
}
} }
...@@ -87,8 +87,8 @@ public class JsonConverter { ...@@ -87,8 +87,8 @@ public class JsonConverter {
} }
private static void serializeMeta(ObjectNode node, boolean commitHashIncluded, ScenarioStore scenarioStore) { private static void serializeMeta(ObjectNode node, boolean commitHashIncluded, ScenarioStore scenarioStore) {
node.put("name", scenarioStore.name); node.put("name", scenarioStore.getName());
node.put("description", scenarioStore.description); node.put("description", scenarioStore.getDescription());
node.put("release", HashGenerator.releaseNumber()); node.put("release", HashGenerator.releaseNumber());
if (commitHashIncluded) if (commitHashIncluded)
node.put("commithash", HashGenerator.commitHash()); node.put("commithash", HashGenerator.commitHash());
...@@ -97,14 +97,14 @@ public class JsonConverter { ...@@ -97,14 +97,14 @@ public class JsonConverter {
private static ObjectNode serializeVadereNode(ScenarioStore scenarioStore) { private static ObjectNode serializeVadereNode(ScenarioStore scenarioStore) {
ObjectNode vadereNode = StateJsonConverter.createObjectNode(); ObjectNode vadereNode = StateJsonConverter.createObjectNode();
vadereNode.put(StateJsonConverter.MAIN_MODEL_KEY, scenarioStore.mainModel); vadereNode.put(StateJsonConverter.MAIN_MODEL_KEY, scenarioStore.getMainModel());
// vadere > attributesModel // vadere > attributesModel
ObjectNode attributesModelNode = StateJsonConverter.serializeAttributesModelToNode(scenarioStore.attributesList); ObjectNode attributesModelNode = StateJsonConverter.serializeAttributesModelToNode(scenarioStore.getAttributesList());
vadereNode.set("attributesModel", attributesModelNode); vadereNode.set("attributesModel", attributesModelNode);
// vadere > attributesSimulation // vadere > attributesSimulation
vadereNode.set("attributesSimulation", StateJsonConverter.convertValue(scenarioStore.attributesSimulation, JsonNode.class)); vadereNode.set("attributesSimulation", StateJsonConverter.convertValue(scenarioStore.getAttributesSimulation(), JsonNode.class));
// vadere > topography // vadere > topography
ObjectNode topographyNode = StateJsonConverter.serializeTopographyToNode(scenarioStore.getTopography()); ObjectNode topographyNode = StateJsonConverter.serializeTopographyToNode(scenarioStore.getTopography());
...@@ -119,10 +119,10 @@ public class JsonConverter { ...@@ -119,10 +119,10 @@ public class JsonConverter {
} }
public static ScenarioStore cloneScenarioStore(ScenarioStore scenarioStore) throws IOException { public static ScenarioStore cloneScenarioStore(ScenarioStore scenarioStore) throws IOException {
JsonNode attributesSimulationNode = StateJsonConverter.convertValue(scenarioStore.attributesSimulation, JsonNode.class); JsonNode attributesSimulationNode = StateJsonConverter.convertValue(scenarioStore.getAttributesSimulation(), JsonNode.class);
ObjectNode attributesModelNode = StateJsonConverter.serializeAttributesModelToNode(scenarioStore.attributesList); ObjectNode attributesModelNode = StateJsonConverter.serializeAttributesModelToNode(scenarioStore.getAttributesList());
ObjectNode topographyNode = StateJsonConverter.serializeTopographyToNode(scenarioStore.getTopography()); ObjectNode topographyNode = StateJsonConverter.serializeTopographyToNode(scenarioStore.getTopography());
return new ScenarioStore(scenarioStore.name, scenarioStore.description, scenarioStore.mainModel, return new ScenarioStore(scenarioStore.getName(), scenarioStore.getDescription(), scenarioStore.getMainModel(),
StateJsonConverter.deserializeAttributesListFromNode(attributesModelNode), StateJsonConverter.deserializeAttributesListFromNode(attributesModelNode),
StateJsonConverter.deserializeAttributesSimulationFromNode(attributesSimulationNode), StateJsonConverter.deserializeAttributesSimulationFromNode(attributesSimulationNode),
StateJsonConverter.deserializeTopographyFromNode(topographyNode)); StateJsonConverter.deserializeTopographyFromNode(topographyNode));
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment