Skip to content

Commit

Permalink
- adapt to latest changes in MATSim
Browse files Browse the repository at this point in the history
- fix MATSim-dependency to 0.11.0-2019w02-SNAPSHOT
  • Loading branch information
mrieser committed Jan 15, 2019
1 parent 6f3be6c commit bbbffb5
Show file tree
Hide file tree
Showing 5 changed files with 63 additions and 44 deletions.
15 changes: 13 additions & 2 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -13,25 +13,36 @@
<description></description>

<repositories>
<repository>
<!-- Geotools is not on Maven central -->
<id>osgeo</id>
<name>Geotools repository</name>
<url>http://download.osgeo.org/webdav/geotools</url>
</repository>
<repository>
<!-- MATSim is not on Maven central -->
<id>matsim</id>
<url>https://dl.bintray.com/matsim/matsim</url>
</repository>
<repository>
<!-- For MATSim snapshots: -->
<id>ojo-snapshots</id>
<url>http://oss.jfrog.org/libs-snapshot</url>
</repository>
</repositories>

<dependencies>

<dependency>
<groupId>org.matsim</groupId>
<artifactId>matsim</artifactId>
<version>0.11.0-2018w44</version>
<version>0.11.0-2019w02-SNAPSHOT</version>
</dependency>

<dependency>
<groupId>org.matsim</groupId>
<artifactId>matsim</artifactId>
<version>0.11.0-2018w44</version>
<version>0.11.0-2019w02-SNAPSHOT</version>
<classifier>tests</classifier>
<scope>test</scope>
<type>test-jar</type>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,7 @@

import org.matsim.core.mobsim.qsim.AbstractQSimModule;
import org.matsim.core.mobsim.qsim.components.QSimComponentsConfig;
import org.matsim.core.mobsim.qsim.pt.ComplexTransitStopHandlerFactory;
import org.matsim.core.mobsim.qsim.pt.TransitEngineModule;
import org.matsim.core.mobsim.qsim.pt.TransitStopHandlerFactory;

/**
* @author Sebastian Hörl / ETHZ
Expand All @@ -15,8 +13,7 @@ public class SBBTransitEngineQSimModule extends AbstractQSimModule {
@Override
protected void configureQSim() {
bind(SBBTransitQSimEngine.class).asEagerSingleton();
addNamedComponent(SBBTransitQSimEngine.class, COMPONENT_NAME);
bind(TransitStopHandlerFactory.class).to(ComplexTransitStopHandlerFactory.class);
addQSimComponentBinding(COMPONENT_NAME).to(SBBTransitQSimEngine.class);
}

static public void configure(QSimComponentsConfig components) {
Expand Down
17 changes: 16 additions & 1 deletion src/test/java/ch/sbb/matsim/mobsim/qsim/SBBQSimModuleTest.java
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,8 @@
package ch.sbb.matsim.mobsim.qsim;

import ch.sbb.matsim.config.SBBTransitConfigGroup;
import ch.sbb.matsim.mobsim.qsim.pt.SBBTransitEngineQSimModule;
import com.google.inject.Provides;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Rule;
Expand All @@ -15,6 +17,8 @@
import org.matsim.core.config.ConfigUtils;
import org.matsim.core.controler.AbstractModule;
import org.matsim.core.controler.Controler;
import org.matsim.core.mobsim.qsim.components.QSimComponentsConfig;
import org.matsim.core.mobsim.qsim.components.StandardQSimComponentConfigurator;
import org.matsim.core.scenario.ScenarioUtils;
import org.matsim.testcases.MatsimTestUtils;

Expand Down Expand Up @@ -59,9 +63,20 @@ public void testIntegration() {
controler.addOverridingModule(new AbstractModule() {
@Override
public void install() {
install(new SBBTransitModule());
// To use the deterministic pt simulation (Part 1 of 2):
install(new SBBTransitModule());
}

// To use the deterministic pt simulation (Part 2 of 2):
@Provides
QSimComponentsConfig provideQSimComponentsConfig() {
QSimComponentsConfig components = new QSimComponentsConfig();
new StandardQSimComponentConfigurator(config).configure(components);
SBBTransitEngineQSimModule.configure(components);
return components;
}
});

controler.run();

// this test mostly checks that no exception occurred
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,6 @@

package ch.sbb.matsim.mobsim.qsim.pt;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

import org.apache.log4j.Logger;
import org.junit.Assert;
import org.junit.Test;
Expand All @@ -31,19 +27,20 @@
import org.matsim.core.api.experimental.events.VehicleDepartsAtFacilityEvent;
import org.matsim.core.events.EventsUtils;
import org.matsim.core.mobsim.framework.MobsimAgent;
import org.matsim.core.mobsim.qsim.ActivityEngine;
import org.matsim.core.mobsim.qsim.ActivityEngineModule;
import org.matsim.core.mobsim.qsim.PopulationModule;
import org.matsim.core.mobsim.qsim.QSim;
import org.matsim.core.mobsim.qsim.QSimBuilder;
import org.matsim.core.mobsim.qsim.pt.TransitEngineModule;
import org.matsim.core.utils.collections.CollectionUtils;
import org.matsim.core.utils.misc.Time;
import org.matsim.pt.transitSchedule.api.TransitRoute;
import org.matsim.pt.transitSchedule.api.TransitRouteStop;
import org.matsim.pt.transitSchedule.api.TransitStopFacility;
import org.matsim.testcases.utils.EventsCollector;

import java.util.List;
import java.util.Map;

/**
* @author mrieser / SBB
*/
Expand Down Expand Up @@ -110,8 +107,8 @@ public void testEvents_withoutPassengers_withoutLinks() {
.addQSimModule(new ActivityEngineModule())
.addQSimModule(new SBBTransitEngineQSimModule())
.addQSimModule(new TestQSimModule(f.config))
.configureComponents(SBBTransitEngineQSimModule::configure)
.configureComponents(configurator -> {
.configureQSimComponents(SBBTransitEngineQSimModule::configure)
.configureQSimComponents(configurator -> {
configurator.addNamedComponent(ActivityEngineModule.COMPONENT_NAME);
})
.build(f.scenario, eventsManager);
Expand Down Expand Up @@ -157,8 +154,8 @@ public void testEvents_withPassengers_withoutLinks() {
.addQSimModule(new SBBTransitEngineQSimModule())
.addQSimModule(new TestQSimModule(f.config))
.addQSimModule(new PopulationModule())
.configureComponents(SBBTransitEngineQSimModule::configure)
.configureComponents(configurator -> {
.configureQSimComponents(SBBTransitEngineQSimModule::configure)
.configureQSimComponents(configurator -> {
configurator.addNamedComponent(ActivityEngineModule.COMPONENT_NAME);
configurator.addNamedComponent(PopulationModule.COMPONENT_NAME);
})
Expand Down Expand Up @@ -209,8 +206,8 @@ public void testEvents_withThreePassengers_withoutLinks() {
.addQSimModule(new SBBTransitEngineQSimModule())
.addQSimModule(new TestQSimModule(f.config))
.addQSimModule(new PopulationModule())
.configureComponents(SBBTransitEngineQSimModule::configure)
.configureComponents(configurator -> {
.configureQSimComponents(SBBTransitEngineQSimModule::configure)
.configureQSimComponents(configurator -> {
configurator.addNamedComponent(ActivityEngineModule.COMPONENT_NAME);
configurator.addNamedComponent(PopulationModule.COMPONENT_NAME);
})
Expand Down Expand Up @@ -274,8 +271,8 @@ public void testEvents_withoutPassengers_withLinks() {
.addQSimModule(new ActivityEngineModule())
.addQSimModule(new SBBTransitEngineQSimModule())
.addQSimModule(new TestQSimModule(f.config))
.configureComponents(SBBTransitEngineQSimModule::configure)
.configureComponents(configurator -> {
.configureQSimComponents(SBBTransitEngineQSimModule::configure)
.configureQSimComponents(configurator -> {
configurator.addNamedComponent(ActivityEngineModule.COMPONENT_NAME);
})
.build(f.scenario, eventsManager);
Expand Down Expand Up @@ -326,10 +323,10 @@ public void testEvents_withoutPassengers_withLinks_Sesselbahn() {
.addQSimModule(new ActivityEngineModule())
.addQSimModule(new SBBTransitEngineQSimModule())
.addQSimModule(new TestQSimModule(f.config))
.configureComponents(configurator -> {
.configureQSimComponents(configurator -> {
configurator.addNamedComponent(ActivityEngineModule.COMPONENT_NAME);
})
.configureComponents(SBBTransitEngineQSimModule::configure)
.configureQSimComponents(SBBTransitEngineQSimModule::configure)
.build(f.scenario, eventsManager);

EventsCollector collector = new EventsCollector();
Expand Down Expand Up @@ -376,8 +373,8 @@ public void testEvents_withoutPassengers_withLinks_SesselbahnMalformed() {
.addQSimModule(new ActivityEngineModule())
.addQSimModule(new SBBTransitEngineQSimModule())
.addQSimModule(new TestQSimModule(f.config))
.configureComponents(SBBTransitEngineQSimModule::configure)
.configureComponents(configurator -> {
.configureQSimComponents(SBBTransitEngineQSimModule::configure)
.configureQSimComponents(configurator -> {
configurator.addNamedComponent(ActivityEngineModule.COMPONENT_NAME);
})
.build(f.scenario, eventsManager);
Expand Down Expand Up @@ -423,8 +420,8 @@ public void testEvents_withoutPassengers_withLinks_DelayedFirstDeparture() {
.addQSimModule(new ActivityEngineModule())
.addQSimModule(new SBBTransitEngineQSimModule())
.addQSimModule(new TestQSimModule(f.config))
.configureComponents(SBBTransitEngineQSimModule::configure)
.configureComponents(configurator -> {
.configureQSimComponents(SBBTransitEngineQSimModule::configure)
.configureQSimComponents(configurator -> {
configurator.addNamedComponent(ActivityEngineModule.COMPONENT_NAME);
})
.build(f.scenario, eventsManager);
Expand Down Expand Up @@ -478,10 +475,10 @@ public void testEvents_withoutPassengers_withLinks_FromToLoopLink() {
.addQSimModule(new ActivityEngineModule())
.addQSimModule(new SBBTransitEngineQSimModule())
.addQSimModule(new TestQSimModule(f.config))
.configureComponents(configurator -> {
.configureQSimComponents(configurator -> {
configurator.addNamedComponent(ActivityEngineModule.COMPONENT_NAME);
})
.configureComponents(SBBTransitEngineQSimModule::configure)
.configureQSimComponents(SBBTransitEngineQSimModule::configure)
.build(f.scenario, eventsManager);

EventsCollector collector = new EventsCollector();
Expand Down Expand Up @@ -532,8 +529,8 @@ public void testMisconfiguration() {
.addQSimModule(new ActivityEngineModule())
.addQSimModule(new SBBTransitEngineQSimModule())
.addQSimModule(new TestQSimModule(f.config))
.configureComponents(SBBTransitEngineQSimModule::configure)
.configureComponents(configurator -> {
.configureQSimComponents(SBBTransitEngineQSimModule::configure)
.configureQSimComponents(configurator -> {
configurator.addNamedComponent(ActivityEngineModule.COMPONENT_NAME);
})
.build(f.scenario, eventsManager);
Expand All @@ -559,8 +556,8 @@ public void testCreateEventsInterval() {
.addQSimModule(new ActivityEngineModule())
.addQSimModule(new SBBTransitEngineQSimModule())
.addQSimModule(testModule)
.configureComponents(SBBTransitEngineQSimModule::configure)
.configureComponents(configurator -> {
.configureQSimComponents(SBBTransitEngineQSimModule::configure)
.configureQSimComponents(configurator -> {
configurator.addNamedComponent(ActivityEngineModule.COMPONENT_NAME);
});

Expand Down
21 changes: 10 additions & 11 deletions src/test/java/ch/sbb/matsim/mobsim/qsim/pt/TestQSimModule.java
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,12 @@

package ch.sbb.matsim.mobsim.qsim.pt;

import com.google.inject.Module;
import org.matsim.core.config.Config;
import org.matsim.core.mobsim.qsim.AbstractQSimModule;
import org.matsim.core.mobsim.qsim.pt.ComplexTransitStopHandlerFactory;
import org.matsim.core.mobsim.qsim.pt.TransitStopHandlerFactory;
import org.matsim.core.replanning.ReplanningContext;

import java.util.Collection;
import java.util.Collections;

/**
* The deterministic transit simulation ({@link SBBTransitQSimEngine}) requires access
* to the current iteration number to determine if link-events should be created or not.
Expand All @@ -23,16 +21,17 @@
* @author mrieser / SBB
*/
public class TestQSimModule extends AbstractQSimModule {
public final DummyReplanningContext context;
public final DummyReplanningContext context;

public TestQSimModule(Config config) {
this.context = new DummyReplanningContext();
}

@Override
protected void configureQSim() {
bind(ReplanningContext.class).toInstance(context);
}

@Override
protected void configureQSim() {
bind(ReplanningContext.class).toInstance(context);
bind(TransitStopHandlerFactory.class).to(ComplexTransitStopHandlerFactory.class);
}

public static final class DummyReplanningContext implements ReplanningContext {

Expand Down

0 comments on commit bbbffb5

Please sign in to comment.