Skip to content

Commit f8513b5

Browse files
authored
fix: optional eqasim termination (#204)
* feat: Optional EqasimTermination module * fix: making sure no EqasimTerminationModule is instantiated during RunPopulationRouting * fix: ModeShareModule is part of the Eqasim Termination * feat: optional config groups added in all run scripts * fix: imageio requiring vendor name and version in some settings
1 parent 3acf883 commit f8513b5

File tree

8 files changed

+17
-3
lines changed

8 files changed

+17
-3
lines changed

core/src/main/java/org/eqasim/core/scenario/routing/RunPopulationRouting.java

+3
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@
77

88
import org.eqasim.core.misc.InjectorBuilder;
99
import org.eqasim.core.simulation.EqasimConfigurator;
10+
import org.eqasim.core.simulation.termination.EqasimTerminationConfigGroup;
1011
import org.matsim.api.core.v01.Id;
1112
import org.matsim.api.core.v01.Scenario;
1213
import org.matsim.api.core.v01.population.Leg;
@@ -39,6 +40,8 @@ static public void main(String[] args) throws ConfigurationException, Interrupte
3940

4041
EqasimConfigurator configurator = new EqasimConfigurator();
4142
Config config = ConfigUtils.loadConfig(cmd.getOptionStrict("config-path"), configurator.getConfigGroups());
43+
config.getModules().remove(EqasimTerminationConfigGroup.GROUP_NAME);
44+
configurator.addOptionalConfigGroups(config);
4245
cmd.applyConfiguration(config);
4346
config.strategy().clearStrategySettings();
4447

core/src/main/java/org/eqasim/core/simulation/EqasimConfigurator.java

+3-3
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616
import org.eqasim.core.components.transit.EqasimTransitModule;
1717
import org.eqasim.core.components.transit.EqasimTransitQSimModule;
1818
import org.eqasim.core.simulation.mode_choice.epsilon.EpsilonModule;
19+
import org.eqasim.core.simulation.termination.EqasimTerminationConfigGroup;
1920
import org.eqasim.core.simulation.termination.EqasimTerminationModule;
2021
import org.eqasim.core.simulation.termination.mode_share.ModeShareModule;
2122
import org.matsim.api.core.v01.Id;
@@ -63,9 +64,7 @@ public EqasimConfigurator() {
6364
new EqasimTransitModule(), //
6465
new DiscreteModeChoiceModule(), //
6566
new EqasimComponentsModule(), //
66-
new EpsilonModule(), //
67-
new EqasimTerminationModule(), //
68-
new ModeShareModule() //
67+
new EpsilonModule() //
6968
));
7069

7170
qsimModules.addAll(Arrays.asList( //
@@ -80,6 +79,7 @@ public EqasimConfigurator() {
8079
DvrpQSimComponents.activateAllModes((MultiModal<?>) controller.getConfig().getModules().get(MultiModeDrtConfigGroup.GROUP_NAME)).configure(components)));
8180

8281
this.registerOptionalConfigGroup(new DvrpConfigGroup(), Collections.singleton(new DvrpModule()));
82+
this.registerOptionalConfigGroup(new EqasimTerminationConfigGroup(), List.of(new EqasimTerminationModule(), new ModeShareModule()));
8383
}
8484

8585
public ConfigGroup[] getConfigGroups() {

ile_de_france/pom.xml

+6
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,12 @@
3838
<transformers>
3939
<transformer
4040
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
41+
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
42+
<manifestEntries>
43+
<Implementation-Vendor>Eqasim</Implementation-Vendor>
44+
<Implementation-Version>${parent.groupId}</Implementation-Version>
45+
</manifestEntries>
46+
</transformer>
4147
</transformers>
4248
<filters>
4349
<filter>

ile_de_france/src/main/java/org/eqasim/ile_de_france/RunSimulation.java

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ static public void main(String[] args) throws ConfigurationException {
2020

2121
IDFConfigurator configurator = new IDFConfigurator();
2222
Config config = ConfigUtils.loadConfig(cmd.getOptionStrict("config-path"), configurator.getConfigGroups());
23+
configurator.addOptionalConfigGroups(config);
2324
cmd.applyConfiguration(config);
2425

2526
Scenario scenario = ScenarioUtils.createScenario(config);

los_angeles/src/main/java/org/eqasim/los_angeles/RunSimulation.java

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ static public void main(String[] args) throws ConfigurationException {
2323

2424
EqasimConfigurator configurator = new EqasimConfigurator();
2525
Config config = ConfigUtils.loadConfig(cmd.getOptionStrict("config-path"), configurator.getConfigGroups());
26+
configurator.addOptionalConfigGroups(config);
2627
EqasimConfigGroup.get(config).setAnalysisInterval(5);
2728
EqasimConfigGroup.get(config).setDistanceUnit(DistanceUnit.foot);
2829
cmd.applyConfiguration(config);

san_francisco/src/main/java/org/eqasim/san_francisco/RunSimulation.java

+1
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ static public void main(String[] args) throws ConfigurationException {
2323

2424
EqasimConfigurator configurator = new EqasimConfigurator();
2525
Config config = ConfigUtils.loadConfig(cmd.getOptionStrict("config-path"), configurator.getConfigGroups());
26+
configurator.addOptionalConfigGroups(config);
2627
EqasimConfigGroup.get(config).setAnalysisInterval(5);
2728
EqasimConfigGroup.get(config).setDistanceUnit(DistanceUnit.foot);
2829
cmd.applyConfiguration(config);

sao_paulo/src/main/java/org/eqasim/sao_paulo/RunSimulation.java

+1
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@ static public void main(String[] args) throws ConfigurationException {
2929

3030
EqasimConfigurator configurator = new EqasimConfigurator();
3131
Config config = ConfigUtils.loadConfig(cmd.getOptionStrict("config-path"), configurator.getConfigGroups());
32+
configurator.addOptionalConfigGroups(config);
3233
EqasimConfigGroup.get(config).setAnalysisInterval(1);
3334
cmd.applyConfiguration(config);
3435

switzerland/src/main/java/org/eqasim/switzerland/RunSimulation.java

+1
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ static public void main(String[] args) throws ConfigurationException {
2020

2121
SwitzerlandConfigurator configurator = new SwitzerlandConfigurator();
2222
Config config = ConfigUtils.loadConfig(cmd.getOptionStrict("config-path"), configurator.getConfigGroups());
23+
configurator.addOptionalConfigGroups(config);
2324
cmd.applyConfiguration(config);
2425

2526
Scenario scenario = ScenarioUtils.createScenario(config);

0 commit comments

Comments
 (0)