/** * Parses the specified config file, and uses the given dtd file as a local copy to use as dtd * if the one specified in the config file cannot be found. * * @param filename The name of the file to parse. * @param dtdFilename The name of a (local) dtd-file to be used for validating the config file. * @throws UncheckedIOException e.g. if the file cannot be found */ public void readFile(final String filename, final String dtdFilename) throws UncheckedIOException { // yyyyyy if this is a necessary/useful method, I would prefer it in the superclass. kai, jul'16 log.info("trying to read config from " + filename); this.localDtd = dtdFilename; readFile(filename); this.localDtd = null; }
public static Config loadConfig(final String configFile) { final Config config = createConfig(); new ConfigReader( config ).readFile( configFile ); return config; } }
public static Config loadConfig(final String configFile) { final Config config = JointScenarioUtils.createConfig(); addConfigGroups( config ); new ConfigReader( config ).readFile( configFile ); return config; }
public static void main( final String[] args ) { final String inputConfig = args[ 0 ]; final String outputConfig = args[ 1 ]; final Config config = new Config(); config.addModule( new OldToNewPlanCalcScoreConfigGroup() ); new ConfigReader( config ).readFile( inputConfig ); new ConfigWriter( config ).write( outputConfig ); } }
@Test public void testIODifferentVersions() { final PlansCalcRouteConfigGroup initialGroup = createTestConfigGroup(); log.info( "constructing new config ..."); final Config configV1 = new Config(); log.info("... done constructing new config."); log.info("adding undescored info ..."); configV1.addModule(toUnderscoredModule(initialGroup)); log.info("... done adding underscored info.") ; log.info( "writing to file ..."); final String v1path = utils.getOutputDirectory() + "/configv1_out.xml"; new ConfigWriter( configV1 ).writeFileV1( v1path ); log.info( "... done writing to file."); log.info( "creating new config ..."); final Config configV1In = ConfigUtils.createConfig(); log.info( "... done creating new config."); log.info( "read file into new config ..."); new ConfigReader( configV1In ).readFile( v1path ); log.info("... done reading file into new config.") ; log.info( "asserting ..."); assertIdentical("re-read v1", initialGroup, configV1In.plansCalcRoute()); log.info( "... done asserting.") ; final String v2path = utils.getOutputDirectory() + "/configv2_out.xml"; new ConfigWriter( configV1In ).writeFileV2( v2path ); final Config configV2 = ConfigUtils.createConfig(); new ConfigReader( configV2 ).readFile( v2path ); assertIdentical("re-read v2", initialGroup, configV2.plansCalcRoute()); }
private void prepareExternalExeConfig() { Config extConfig; String configFileName = this.scenario.getConfig().strategy().getExternalExeConfigTemplate(); if (configFileName == null) { extConfig = new Config(); } else { extConfig = new Config(); ConfigReader reader = new ConfigReader(extConfig); reader.readFile(configFileName); } // Change scenario config according to given output- and input-filenames: events, plans, network extConfig.setParam(SCENARIO, SCENARIO_INPUT_PLANS_FILENAME, this.outFileRoot + "/" + this.modulePrefix + ExternalInFileName); extConfig.setParam(SCENARIO, SCENARIO_WORKING_PLANS_FILENAME, this.outFileRoot + "/" + this.modulePrefix + ExternalOutFileName); extConfig.setParam(SCENARIO, SCENARIO_WORKING_EVENTS_TXT_FILENAME, this.controler.getIterationFilename(this.currentIteration - 1, "events.txt")); String networkFilename = this.scenario.getConfig().findParam("network", "inputNetworkFile"); extConfig.setParam(SCENARIO, SCENARIO_NETWORK_FILENAME, networkFilename); new ConfigWriter(extConfig).write(this.outFileRoot + this.modulePrefix + ExternalConfigFileName); }
@Test public void testIODifferentVersions() { final PlanCalcScoreConfigGroup initialGroup = createTestConfigGroup(); final String v1path = utils.getOutputDirectory() + "/configv1_out.xml"; final Config configV1 = new Config(); configV1.addModule(toUnderscoredModule(initialGroup)); new ConfigWriter( configV1 ).writeFileV1( v1path ); final Config configV1In = ConfigUtils.createConfig(); new ConfigReader( configV1In ).readFile( v1path ); assertIdentical("re-read v1", initialGroup, configV1In.planCalcScore()); final String v2path = utils.getOutputDirectory() + "/configv2_out.xml"; new ConfigWriter( configV1In ).writeFileV2( v2path ); final Config configV2 = ConfigUtils.createConfig(); new ConfigReader( configV2 ).readFile( v2path ); assertIdentical("re-read v2", initialGroup, configV2.planCalcScore()); }
@Test public void testIOWithFormatChange() { final StrategyConfigGroup initialGroup = createTestConfigGroup(); final String v1path = utils.getOutputDirectory() + "/configv1_out.xml"; final Config configV1 = new Config(); configV1.addModule(toUnderscoredModule(initialGroup)); new ConfigWriter( configV1 ).writeFileV1( v1path ); final Config configV1In = ConfigUtils.createConfig(); new ConfigReader( configV1In ).readFile( v1path ); assertIdentical("re-read v1", initialGroup, configV1In.strategy()); final String v2path = utils.getOutputDirectory() + "/configv2_out.xml"; new ConfigWriter( configV1In ).writeFileV2( v2path ); final Config configV2 = ConfigUtils.createConfig(); new ConfigReader( configV2 ).readFile( v2path ); assertIdentical("re-read v2", initialGroup, configV2.strategy()); }