public static void loadConfig(final Config config, final URL url) throws UncheckedIOException { if (config.global() == null) { config.addCoreModules(); } new ConfigReader(config).parse(url); }
public static Config loadConfig(URL url) { Config config = new Config(); config.addCoreModules(); new ConfigReader(config).parse(url); config.setContext(url); return config; }
public static Config loadConfig(final URL url, ConfigGroup... customModules) throws UncheckedIOException { Gbl.assertNotNull(url); Config config = new Config(); config.addCoreModules(); for (ConfigGroup customModule : customModules) { config.addModule(customModule); } new ConfigReader(config).parse(url); config.setContext(url); return config; }
@Test public void testAddModule_beforeLoading() { Config config = new Config(); ConfigTestGroup group = new ConfigTestGroup(); config.addModule(group); Assert.assertNull(group.getA()); Assert.assertNull(group.getB()); String str = "<?xml version='1.0' encoding='UTF-8' ?>\n" + "<!DOCTYPE config SYSTEM \"http://www.matsim.org/files/dtd/config_v1.dtd\">\n" + "<config>\n" + " <module name=\"ctg\">\n" + " <param name=\"a\" value=\"aaa\" />\n" + " <param name=\"b\" value=\"bbb\" />\n" + " </module>\n" + "</config>"; new ConfigReader(config).parse(new ByteArrayInputStream(str.getBytes())); Assert.assertEquals("aaa", group.getA()); Assert.assertEquals("bbb", group.getB()); }
@Test public void testAddModule_afterLoading() { Config config = new Config(); ConfigTestGroup group = new ConfigTestGroup(); Assert.assertNull(group.getA()); Assert.assertNull(group.getB()); String str = "<?xml version='1.0' encoding='UTF-8' ?>\n" + "<!DOCTYPE config SYSTEM \"http://www.matsim.org/files/dtd/config_v1.dtd\">\n" + "<config>\n" + " <module name=\"ctg\">\n" + " <param name=\"a\" value=\"aaa\" />\n" + " <param name=\"b\" value=\"bbb\" />\n" + " </module>\n" + "</config>"; new ConfigReader(config).parse(new ByteArrayInputStream(str.getBytes())); Assert.assertEquals("aaa", config.getParam("ctg", "a")); Assert.assertEquals("bbb", config.getParam("ctg", "b")); Assert.assertNull(group.getA()); Assert.assertNull(group.getB()); config.addModule(group); Assert.assertEquals("aaa", group.getA()); Assert.assertEquals("bbb", group.getB()); }