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 2013/06/01 21:57:22 UTC
svn commit: r1488577 - in /commons/proper/configuration/trunk/src:
main/java/org/apache/commons/configuration/builder/combined/
test/java/org/apache/commons/configuration/builder/combined/ test/resources/
Author: oheger
Date: Sat Jun 1 19:57:21 2013
New Revision: 1488577
URL: http://svn.apache.org/r1488577
Log:
Ensure that the root node of the newly created CombinedConfiguration is initialized when it is returned from the builder.
This changes makes it possible to use read-only combined configurations
with a NoOpSynchronizer because no further initialization is needed.
Modified:
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java
commons/proper/configuration/trunk/src/test/resources/testCCMultiTenent.xml
commons/proper/configuration/trunk/src/test/resources/testCCMultiTenentReloading.xml
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java?rev=1488577&r1=1488576&r2=1488577&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/builder/combined/CombinedConfigurationBuilder.java Sat Jun 1 19:57:21 2013
@@ -811,6 +811,8 @@ public class CombinedConfigurationBuilde
initNodeCombinerListNodes(addConfig, config, KEY_ADDITIONAL_LIST);
data.createAndAddConfigurations(addConfig, data.getUnionSources());
}
+
+ result.isEmpty(); // this sets up the node structure
currentConfiguration = null;
}
Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java?rev=1488577&r1=1488576&r2=1488577&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/builder/combined/TestCombinedConfigurationBuilder.java Sat Jun 1 19:57:21 2013
@@ -1236,6 +1236,20 @@ public class TestCombinedConfigurationBu
}
/**
+ * Tests that the combined configuration has been fully constructed
+ * (including its root node) when it is returned from the builder.
+ */
+ @Test
+ public void testRootNodeInitializedAfterCreation()
+ throws ConfigurationException
+ {
+ builder.configure(new FileBasedBuilderParametersImpl()
+ .setFile(TEST_FILE));
+ CombinedConfiguration cc = builder.getConfiguration();
+ assertNotNull("Root node not initialized", cc.getRootNode());
+ }
+
+ /**
* A test builder provider implementation for testing whether providers can
* be defined in the definition file.
*/
Modified: commons/proper/configuration/trunk/src/test/resources/testCCMultiTenent.xml
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/resources/testCCMultiTenent.xml?rev=1488577&r1=1488576&r2=1488577&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/resources/testCCMultiTenent.xml (original)
+++ commons/proper/configuration/trunk/src/test/resources/testCCMultiTenent.xml Sat Jun 1 19:57:21 2013
@@ -30,7 +30,8 @@
</header>
<override>
<multiXml filePattern="testMultiConfiguration_$${sys:Id}.xml"
- config-name="clientConfig" schemaValidation="false">
+ config-name="clientConfig" schemaValidation="false"
+ config-optional="true" config-forceCreate="true">
<expressionEngine
config-class="org.apache.commons.configuration.tree.xpath.XPathExpressionEngine"/>
</multiXml>
Modified: commons/proper/configuration/trunk/src/test/resources/testCCMultiTenentReloading.xml
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/resources/testCCMultiTenentReloading.xml?rev=1488577&r1=1488576&r2=1488577&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/resources/testCCMultiTenentReloading.xml (original)
+++ commons/proper/configuration/trunk/src/test/resources/testCCMultiTenentReloading.xml Sat Jun 1 19:57:21 2013
@@ -27,6 +27,7 @@
</header>
<override>
<multiXml filePattern="$${sys:Id}"
- config-name="clientConfig" config-reload="true"/>
+ config-name="clientConfig" config-reload="true"
+ config-optional="true" config-forceCreate="true"/>
</override>
</configuration>
\ No newline at end of file