List of usage examples for org.apache.commons.configuration2 HierarchicalConfiguration clearProperty
void clearProperty(String key);
From source file:com.gs.obevo.api.factory.XmlFileConfigReader.java
/** * Backwards-compatible changes to ensure existing XML consumers are not negatively affected. *///from ww w. ja v a2 s . co m private void postProcess(XMLConfiguration sysCfg) { ImmutableSet<String> ignorableSysAttributes = Sets.immutable.of("cleanBuildAllowed", "name", "defaultUserId", "defaultPassword", "dbHost", "dbPort", "dbServer", "dbSchemaPrefix", "dbSchemaSuffix", "dbDataSourceName", "jdbcUrl", "driverClass", "defaultTablespace", "persistToFile", "disableAuditTracking", "inMemoryDbType", "includeSchemas", "excludeSchemas"); ImmutableSet<String> ignorableSysNodes = Sets.immutable.of("excludeSchemas", "includeSchemas", "schemaOverrides", "tokens"); final ImmutableSet<String> ignorableEnvNodes = Sets.immutable.of("groups", "users"); final ImmutableSet<String> ignorableEnvAttributes = Sets.immutable.of("sourceDirs", "acceptedExtensions", "dataDelimiter", "nullToken"); for (String ignorableAttribute : ignorableSysAttributes) { if (sysCfg.containsKey(ignorableAttribute)) { sysCfg.clearProperty(ignorableAttribute); } } for (String ignorableSysNode : ignorableSysNodes) { if (!sysCfg.configurationsAt(ignorableSysNode).isEmpty()) { sysCfg.clearTree(ignorableSysNode); } } for (String ignorableAttribute : ignorableEnvAttributes) { sysCfg.clearProperty("environments.environment[@" + ignorableAttribute + "]"); sysCfg.clearProperty("environments.dbEnvironment[@" + ignorableAttribute + "]"); } for (String ignorableSysNode : ignorableEnvNodes) { sysCfg.clearTree("environments.environment." + ignorableSysNode); sysCfg.clearTree("environments.dbEnvironment." + ignorableSysNode); } ImmutableList<HierarchicalConfiguration<ImmutableNode>> envConfigs = ListAdapter .adapt(sysCfg.configurationsAt("environments.dbEnvironment")).toImmutable(); if (envConfigs.isEmpty()) { envConfigs = ListAdapter.adapt(sysCfg.configurationsAt("environments.environment")).toImmutable(); } envConfigs.each(new Procedure<HierarchicalConfiguration<ImmutableNode>>() { @Override public void value(HierarchicalConfiguration<ImmutableNode> envCfg) { for (String ignorableAttribute : ignorableEnvAttributes) { if (envCfg.containsKey(ignorableAttribute)) { envCfg.clearProperty(ignorableAttribute); } } for (String ignorableSysNode : ignorableEnvNodes) { if (!envCfg.configurationsAt(ignorableSysNode).isEmpty()) { envCfg.clearTree(ignorableSysNode); } } } }); }