Skip to content

Commit

Permalink
Refactor package names and add regression test data
Browse files Browse the repository at this point in the history
  • Loading branch information
mfitz committed Jan 19, 2024
1 parent 2f7c52b commit 3aa0cd8
Show file tree
Hide file tree
Showing 26 changed files with 2,013 additions and 40 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,9 @@
import org.matsim.api.core.v01.network.Network;
import org.matsim.core.api.experimental.events.EventsManager;
import org.matsim.core.config.Config;
import org.matsim.core.config.ConfigGroup;
import org.matsim.core.config.ConfigUtils;
import org.matsim.core.config.ReflectiveConfigGroup;
import org.matsim.core.config.groups.*;
import org.matsim.core.events.EventsUtils;
import org.matsim.core.events.MatsimEventsReader;
Expand All @@ -18,8 +20,7 @@
import tech.tablesaw.api.StringColumn;
import tech.tablesaw.api.Table;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.*;


public class MATSimModel implements DataModel {
Expand All @@ -28,16 +29,15 @@ public class MATSimModel implements DataModel {
private final String matsimOutputDir;
private final Scenario scenario;
private final EventsManager eventsManager;

private final String[] necessaryConfigGroups = new String[]{
GlobalConfigGroup.GROUP_NAME,
PlansConfigGroup.GROUP_NAME,
FacilitiesConfigGroup.GROUP_NAME,
HouseholdsConfigGroup.GROUP_NAME,
TransitConfigGroup.GROUP_NAME,
VehiclesConfigGroup.GROUP_NAME,
NetworkConfigGroup.GROUP_NAME
};
private final Set<String> necessaryConfigGroups = new HashSet<>(Arrays.asList(
GlobalConfigGroup.GROUP_NAME,
PlansConfigGroup.GROUP_NAME,
FacilitiesConfigGroup.GROUP_NAME,
HouseholdsConfigGroup.GROUP_NAME,
TransitConfigGroup.GROUP_NAME,
VehiclesConfigGroup.GROUP_NAME,
NetworkConfigGroup.GROUP_NAME
));

private final Table linkLog;
private final Table vehicleOccupancy;
Expand Down Expand Up @@ -65,18 +65,28 @@ public MATSimModel(String matsimInputConfig, String matsimOutputDir) {

private Config getConfig(String matsimInputConfig) {
Config config = ConfigUtils.createConfig();
ArrayList<String> configGroups = new ArrayList<>(config.getModules().keySet());
for (String module : configGroups) {
if (Arrays.asList(necessaryConfigGroups).contains(module)) {
// TreeMap<String, ConfigGroup> configuredModules = config.getModules();
// for (ConfigGroup module : configuredModules.values().stream().toList()){
// for (Map.Entry<String, String> entry : module.getParams().entrySet()) {
// System.out.println((entry.getKey() + "," + entry.getValue()));
// }
// }

TreeMap<String, ConfigGroup> configuredModules = config.getModules();
for (ConfigGroup module : configuredModules.values().stream().toList()) {
if (necessaryConfigGroups.contains(module.getName())) {
System.out.println("Config group " + module + " is read as is");
} else {
config.removeModule(module);
config.addModule(new RelaxedReflectiveConfigGroup(module));
ReflectiveConfigGroup relaxedModule =
new ReflectiveConfigGroup(module.getName(),true) {};
// for (Map.Entry<String, String> entry : module.getParams().entrySet()) {
// relaxedModule.addParam(entry.getKey(), entry.getValue());
// }
config.removeModule(module.getName());
config.addModule(relaxedModule);
}
}
ConfigUtils.loadConfig(
config, String.format(matsimInputConfig)
);
ConfigUtils.loadConfig(config, String.format(matsimInputConfig));
setOutputFilePaths(config);
return config;
}
Expand Down

This file was deleted.

Binary file not shown.
1,394 changes: 1,394 additions & 0 deletions src/test/regression/data/smol-matsim-outputs/output_config.xml

Large diffs are not rendered by default.

Loading

0 comments on commit 3aa0cd8

Please sign in to comment.