You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2011/04/21 21:34:32 UTC
svn commit: r1095797 - in /commons/proper/configuration/trunk:
conf/testDigesterConfiguration3.xml
src/java/org/apache/commons/configuration/DefaultConfigurationBuilder.java
src/test/org/apache/commons/configuration/TestDefaultConfigurationBuilder.java
Author: oheger
Date: Thu Apr 21 19:34:32 2011
New Revision: 1095797
URL: http://svn.apache.org/viewvc?rev=1095797&view=rev
Log:
[CONFIGURATION-447] Added support for environment properties to DefaultConfigurationBuilder. Thanks to Fabien Nisol for the proposal.
Modified:
commons/proper/configuration/trunk/conf/testDigesterConfiguration3.xml
commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DefaultConfigurationBuilder.java
commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDefaultConfigurationBuilder.java
Modified: commons/proper/configuration/trunk/conf/testDigesterConfiguration3.xml
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/conf/testDigesterConfiguration3.xml?rev=1095797&r1=1095796&r2=1095797&view=diff
==============================================================================
--- commons/proper/configuration/trunk/conf/testDigesterConfiguration3.xml (original)
+++ commons/proper/configuration/trunk/conf/testDigesterConfiguration3.xml Thu Apr 21 19:34:32 2011
@@ -9,5 +9,6 @@
<properties fileName="testDigesterConfigurationInclude2.properties" at="mail"/>
<jndi prefix=""/>
<ini fileName="test.ini"/>
+ <env at="env"/>
</additional>
</configuration>
Modified: commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DefaultConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DefaultConfigurationBuilder.java?rev=1095797&r1=1095796&r2=1095797&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DefaultConfigurationBuilder.java (original)
+++ commons/proper/configuration/trunk/src/java/org/apache/commons/configuration/DefaultConfigurationBuilder.java Thu Apr 21 19:34:32 2011
@@ -383,6 +383,10 @@ public class DefaultConfigurationBuilder
private static final ConfigurationProvider INI_PROVIDER =
new FileConfigurationProvider(HierarchicalINIConfiguration.class);
+ /** Constant for the provider for environment properties. */
+ private static final ConfigurationProvider ENV_PROVIDER =
+ new ConfigurationProvider(EnvironmentConfiguration.class);
+
/** Constant for the provider for plist files. */
private static final ConfigurationProvider PLIST_PROVIDER = new FileExtensionConfigurationProvider(
"org.apache.commons.configuration.plist.XMLPropertyListConfiguration",
@@ -395,13 +399,15 @@ public class DefaultConfigurationBuilder
/** An array with the names of the default tags. */
private static final String[] DEFAULT_TAGS = {
"properties", "xml", "hierarchicalXml", "jndi", "system", "plist",
- "configuration", "ini"
+ "configuration", "ini", "env"
};
/** An array with the providers for the default tags. */
- private static final ConfigurationProvider[] DEFAULT_PROVIDERS =
- {PROPERTIES_PROVIDER, XML_PROVIDER, XML_PROVIDER, JNDI_PROVIDER,
- SYSTEM_PROVIDER, PLIST_PROVIDER, BUILDER_PROVIDER, INI_PROVIDER};
+ private static final ConfigurationProvider[] DEFAULT_PROVIDERS = {
+ PROPERTIES_PROVIDER, XML_PROVIDER, XML_PROVIDER, JNDI_PROVIDER,
+ SYSTEM_PROVIDER, PLIST_PROVIDER, BUILDER_PROVIDER, INI_PROVIDER,
+ ENV_PROVIDER
+ };
/**
* The serial version UID.
Modified: commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDefaultConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDefaultConfigurationBuilder.java?rev=1095797&r1=1095796&r2=1095797&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDefaultConfigurationBuilder.java (original)
+++ commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestDefaultConfigurationBuilder.java Thu Apr 21 19:34:32 2011
@@ -666,6 +666,16 @@ public class TestDefaultConfigurationBui
// test INIConfiguration
assertEquals("Property from ini file not found", "yes",
config.getString("testini.loaded"));
+
+ // test environment configuration
+ EnvironmentConfiguration envConf = new EnvironmentConfiguration();
+ for (Iterator it = envConf.getKeys(); it.hasNext();)
+ {
+ String key = (String) it.next();
+ String combinedKey = "env." + key;
+ assertEquals("Wrong value for env property " + key,
+ envConf.getString(key), config.getString(combinedKey));
+ }
}
/**