|
31 | 31 | import org.eqasim.core.scenario.validation.VehiclesValidator;
|
32 | 32 | import org.eqasim.core.simulation.EqasimConfigurator;
|
33 | 33 | import org.eqasim.core.simulation.mode_choice.AbstractEqasimExtension;
|
34 |
| -import org.eqasim.core.simulation.termination.EqasimTerminationModule; |
| 34 | +import org.eqasim.core.simulation.termination.EqasimTerminationConfigGroup; |
35 | 35 | import org.matsim.api.core.v01.Scenario;
|
36 | 36 | import org.matsim.contribs.discrete_mode_choice.modules.DiscreteModeChoiceModule;
|
37 | 37 | import org.matsim.core.config.CommandLine;
|
@@ -71,9 +71,9 @@ static public void main(String[] args) throws ConfigurationException, IOExceptio
|
71 | 71 |
|
72 | 72 | // Load scenario
|
73 | 73 | EqasimConfigurator configurator = new EqasimConfigurator();
|
74 |
| - configurator.getModules().removeIf(m -> m instanceof EqasimTerminationModule); |
75 |
| - |
76 |
| - Config config = ConfigUtils.loadConfig(cmd.getOptionStrict("config-path"), configurator.getConfigGroups()); |
| 74 | + Config config = ConfigUtils.loadConfig(cmd.getOptionStrict("config-path")); |
| 75 | + configurator.updateConfig(config); |
| 76 | + config.removeModule(EqasimTerminationConfigGroup.GROUP_NAME); |
77 | 77 | cmd.applyConfiguration(config);
|
78 | 78 |
|
79 | 79 | VehiclesValidator.validate(config);
|
@@ -111,7 +111,7 @@ static public void main(String[] args) throws ConfigurationException, IOExceptio
|
111 | 111 |
|
112 | 112 | // Cut population
|
113 | 113 | Injector populationCutterInjector = new InjectorBuilder(scenario) //
|
114 |
| - .addOverridingModules(configurator.getModules().stream() |
| 114 | + .addOverridingModules(configurator.getModules(config).stream() |
115 | 115 | .filter(module -> !(module instanceof AbstractEqasimExtension) && !(module instanceof DiscreteModeChoiceModule)).toList()) //
|
116 | 116 | .addOverridingModule(
|
117 | 117 | new PopulationCutterModule(extent, numberOfThreads, 40, cmd.getOption("events-path"))) //
|
@@ -162,14 +162,15 @@ static public void main(String[] args) throws ConfigurationException, IOExceptio
|
162 | 162 |
|
163 | 163 | // "Cut" config
|
164 | 164 | // (we need to reload it, because it has become locked at this point)
|
165 |
| - config = ConfigUtils.loadConfig(cmd.getOptionStrict("config-path"), configurator.getConfigGroups()); |
| 165 | + config = ConfigUtils.loadConfig(cmd.getOptionStrict("config-path")); |
| 166 | + configurator.updateConfig(config); |
166 | 167 | cmd.applyConfiguration(config);
|
167 | 168 | ConfigCutter configCutter = new ConfigCutter(prefix);
|
168 | 169 | configCutter.run(config);
|
169 | 170 |
|
170 | 171 | // Final routing
|
171 | 172 | Injector routingInjector = new InjectorBuilder(scenario) //
|
172 |
| - .addOverridingModules(configurator.getModules().stream() |
| 173 | + .addOverridingModules(configurator.getModules(config).stream() |
173 | 174 | .filter(module -> !(module instanceof AbstractEqasimExtension) && !(module instanceof DiscreteModeChoiceModule)).toList()) //
|
174 | 175 | .addOverridingModule(new PopulationRouterModule(numberOfThreads, 100, false)) //
|
175 | 176 | .addOverridingModule(new CutterTravelTimeModule(travelTime)) //
|
|
0 commit comments