@Inject EventsHandlingImpl( final EventsManager eventsManager, final ControlerConfigGroup config, final OutputDirectoryHierarchy controlerIO) { this.eventsManager = eventsManager; this.writeEventsInterval = config.getWriteEventsInterval(); this.lastIteration = config.getLastIteration() ; this.eventsFileFormats = config.getEventsFileFormats(); this.controlerIO = controlerIO; this.writeMoreUntilIteration = config.getWriteEventsUntilIteration() ; }
3 == controler.getConfig().controler().getWriteEventsInterval()); controler.getConfig().controler().setCreateGraphs(false); controler.addOverridingModule(new AbstractModule() { controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertEquals(4, controler.getConfig().controler().getWriteEventsInterval());
3 == controler.getConfig().controler().getWriteEventsInterval()); assertEquals(3, controler.getConfig().controler().getWriteEventsInterval());
@Override public void notifyShutdown(ShutdownEvent event) { if ( event.isUnexpected() ) { return ; } dumpPlans(); dumpNetwork(); dumpConfig(); dumpFacilities(); dumpNetworkChangeEvents(); dumpTransitSchedule(); dumpTransitVehicles(); dumpVehicles(); dumpHouseholds(); dumpLanes(); dumpCounts(); if (!event.isUnexpected() && vspConfig.isWritingOutputEvents() && (controlerConfigGroup.getWriteEventsInterval()!=0)) { dumpOutputEvents(); } dumpExperiencedPlans() ; }
/** * @author mrieser */ @Test public void testSetWriteEventsNever() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(1); config.controler().setWritePlansInterval(0); final Controler controler = new Controler(config); assertFalse("Default for Controler.writeEventsInterval should be different from the interval we plan to use, otherwise it's hard to decide if it works correctly.", 0 == controler.getConfig().controler().getWriteEventsInterval()); controler.getConfig().controler().setWriteEventsInterval(0); assertEquals(0, controler.getConfig().controler().getWriteEventsInterval()); controler.getConfig().controler().setCreateGraphs(false); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bindMobsim().toProvider(new Provider<Mobsim>() { @Override public Mobsim get() { return new FakeMobsim(); } }); } }); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertFalse(new File(controler.getControlerIO().getIterationFilename(0, Controler.FILENAME_EVENTS_XML)).exists()); assertFalse(new File(controler.getControlerIO().getIterationFilename(1, Controler.FILENAME_EVENTS_XML)).exists()); }
/** * @author mrieser */ @Test public void testSetWriteEventsAlways() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(1); config.controler().setWritePlansInterval(0); final Controler controler = new Controler(config); controler.getConfig().controler().setWriteEventsInterval(1); assertEquals(1, controler.getConfig().controler().getWriteEventsInterval()); controler.getConfig().controler().setCreateGraphs(false); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bindMobsim().toProvider(new Provider<Mobsim>() { @Override public Mobsim get() { return new FakeMobsim(); } }); } }); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, Controler.FILENAME_EVENTS_XML)).exists()); assertTrue(new File(controler.getControlerIO().getIterationFilename(1, Controler.FILENAME_EVENTS_XML)).exists()); }
/** * @author mrieser */ @Test public void testSetWriteEventsXml() { final Config config = utils.loadConfig(IOUtils.newUrl(ExamplesUtils.getTestScenarioURL("equil"), "config_plans1.xml")); config.controler().setLastIteration(0); config.controler().setWritePlansInterval(0); config.controler().setEventsFileFormats(EnumSet.of(EventsFileFormat.xml)); final Controler controler = new Controler(config); controler.getConfig().controler().setWriteEventsInterval(1); assertEquals(1, controler.getConfig().controler().getWriteEventsInterval()); controler.getConfig().controler().setCreateGraphs(false); controler.addOverridingModule(new AbstractModule() { @Override public void install() { bindMobsim().toProvider(new Provider<Mobsim>() { @Override public Mobsim get() { return new FakeMobsim(); } }); } }); controler.getConfig().controler().setDumpDataAtEnd(false); controler.run(); assertTrue(new File(controler.getControlerIO().getIterationFilename(0, Controler.FILENAME_EVENTS_XML)).exists()); }