diff --git a/contribs/accessibility/src/main/java/org/matsim/contrib/accessibility/AccessibilityFromEvents.java b/contribs/accessibility/src/main/java/org/matsim/contrib/accessibility/AccessibilityFromEvents.java index b43c9ae5f2e..9967e872069 100644 --- a/contribs/accessibility/src/main/java/org/matsim/contrib/accessibility/AccessibilityFromEvents.java +++ b/contribs/accessibility/src/main/java/org/matsim/contrib/accessibility/AccessibilityFromEvents.java @@ -8,9 +8,7 @@ import org.matsim.contrib.dvrp.run.DvrpModule; import org.matsim.core.api.experimental.events.EventsManager; import org.matsim.core.config.ConfigUtils; -import org.matsim.core.controler.AbstractModule; -import org.matsim.core.controler.Injector; -import org.matsim.core.controler.MatsimServices; +import org.matsim.core.controler.*; import org.matsim.core.controler.events.ShutdownEvent; import org.matsim.core.controler.listener.ControlerListener; import org.matsim.core.controler.listener.ShutdownListener; @@ -76,11 +74,31 @@ public void run() { AbstractModule module = new AbstractModule(){ @Override public void install(){ + install( new TimeInterpretationModule() ); + // has to do with config + install( new ScenarioByInstanceModule( scenario ) ) ; + // (= scenario) + +// install( new NewControlerModule() ); + // (= some controler infrastructure because in particular dvrp wants it) + + bind(OutputDirectoryHierarchy.class).asEagerSingleton(); + install( new TripRouterModule() ) ; - install( new TimeInterpretationModule() ); -// install(new EventsManagerModule()); -// install(new DvrpModule()); + // (= installs the trip router. This includes (based on the config settings) installing everything that is needed + // for: teleportation routers, network routers, pt routers.) + + for( String mode : getConfig().routing().getNetworkModes() ){ + addTravelTimeBinding( mode ).toInstance( map.get(mode) ); + } + // (= sets the network travel times which are needed for the TripRouterModule) + + install( new TravelDisutilityModule() ) ; + // (= installs the travel disuility which is necessary for routing. The travel times are constructed earlier "by hand".) + + // install(new EventsManagerModule()); + install(new DvrpModule()); // MultiModeDrtConfigGroup multiModeDrtConfig = ConfigUtils.addOrGetModule(scenario.getConfig(), MultiModeDrtConfigGroup.class); // for (DrtConfigGroup drtCfg : multiModeDrtConfig.getModalElements()) { // install(new DrtModeModule(drtCfg)); @@ -92,15 +110,14 @@ public void run() { //// install(new MultiModeDrtModule()); //// install(new MultiModeDrtCompanionModule()); // - for( String mode : getConfig().routing().getNetworkModes() ){ - addTravelTimeBinding( mode ).toInstance( map.get(mode) ); - } - install( new TravelDisutilityModule() ) ; - final AccessibilityModule module = new AccessibilityModule(); - for( FacilityDataExchangeInterface dataListener : dataListeners ){ - module.addFacilityDataExchangeListener( dataListener ); + // install the accessiblity module: + { + final AccessibilityModule module = new AccessibilityModule(); + for( FacilityDataExchangeInterface dataListener : dataListeners ){ + module.addFacilityDataExchangeListener( dataListener ); + } + install( module ); } - install( module ) ; } }; diff --git a/contribs/accessibility/src/test/java/org/matsim/contrib/accessibility/run/TinyAccessibilityTest.java b/contribs/accessibility/src/test/java/org/matsim/contrib/accessibility/run/TinyAccessibilityTest.java index be86bbd3ae3..3a3423e649a 100644 --- a/contribs/accessibility/src/test/java/org/matsim/contrib/accessibility/run/TinyAccessibilityTest.java +++ b/contribs/accessibility/src/test/java/org/matsim/contrib/accessibility/run/TinyAccessibilityTest.java @@ -35,6 +35,7 @@ import org.matsim.api.core.v01.network.Node; import org.matsim.contrib.accessibility.*; import org.matsim.contrib.accessibility.AccessibilityConfigGroup.AreaOfAccesssibilityComputation; +import org.matsim.contrib.dvrp.run.DvrpConfigGroup; import org.matsim.core.config.Config; import org.matsim.core.config.ConfigUtils; import org.matsim.core.config.groups.FacilitiesConfigGroup; @@ -75,10 +76,13 @@ public void runFromEvents() { acg.setBoundingBoxRight(max); acg.setUseParallelization(false); + // --- + final Scenario scenario = createTestScenario(config); - final String eventsFile = utils.getClassInputDirectory() + "output_events.xml.gz"; + // --- + final String eventsFile = utils.getClassInputDirectory() + "output_events.xml.gz"; AccessibilityFromEvents.Builder builder = new AccessibilityFromEvents.Builder( scenario , eventsFile ); builder.addDataListener( new ResultsComparator() ); @@ -106,10 +110,15 @@ public void runFromEventsDrt() { acg.setUseParallelization(false); acg.setComputingAccessibilityForMode(Modes4Accessibility.estimatedDrt, true); + DvrpConfigGroup dvrpConfig = ConfigUtils.addOrGetModule( config, DvrpConfigGroup.class ); + + // --- + final Scenario scenario = createTestScenario(config); - final String eventsFile = utils.getClassInputDirectory() + "output_events.xml.gz"; + // --- + final String eventsFile = utils.getClassInputDirectory() + "output_events.xml.gz"; AccessibilityFromEvents.Builder builder = new AccessibilityFromEvents.Builder( scenario , eventsFile ); builder.addDataListener( new ResultsComparator() );