protected void readConfiguration() { MergeCombiner combiner = new MergeCombiner(); combiner.addListNode(PluginManagerConstants.CFG_PLUGIN); CombinedConfiguration cc = new CombinedConfiguration(combiner); XMLConfiguration defaultConfiguration = createXmlConfiguration(ConfigurationConstants.DEFAULT_CONFIG).getLeft(); // Try to add explicit configuration. if (configurationFilename != null) { logger.info("Loading the configuration file {}...", configurationFilename); Triple<XMLConfiguration, URL, PropertiesConfiguration> configurationResult = createXmlConfiguration(configurationFilename); XMLConfiguration xmlConfiguration = configurationResult.getLeft(); configurationFileUrl = configurationResult.getMiddle(); propertiesConfig = configurationResult.getRight(); cc.addConfiguration(xmlConfiguration); xmlConfiguration.setProperty(ConfigurationConstants.PROP_CONFIG_DIR, SpongeUtils.getFileDir(configurationFileUrl)); } // Add default configuration. cc.addConfiguration(defaultConfiguration); if (configurationFilename != null && logger.isDebugEnabled()) { logger.debug("Initial XML configuration:\n{}", SpongeUtils.dumpConfiguration(cc)); } rootConfig = new CommonsConfiguration(cc); }