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 2014/06/13 21:26:17 UTC

svn commit: r1602503 - /commons/proper/configuration/trunk/src/site/xdoc/userguide/howto_compositeconfiguration.xml

Author: oheger
Date: Fri Jun 13 19:26:17 2014
New Revision: 1602503

URL: http://svn.apache.org/r1602503
Log:
Reworked chapter about CompositeConfiguration in user's guide.

Modified:
    commons/proper/configuration/trunk/src/site/xdoc/userguide/howto_compositeconfiguration.xml

Modified: commons/proper/configuration/trunk/src/site/xdoc/userguide/howto_compositeconfiguration.xml
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/site/xdoc/userguide/howto_compositeconfiguration.xml?rev=1602503&r1=1602502&r2=1602503&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/site/xdoc/userguide/howto_compositeconfiguration.xml (original)
+++ commons/proper/configuration/trunk/src/site/xdoc/userguide/howto_compositeconfiguration.xml Fri Jun 13 19:26:17 2014
@@ -48,20 +48,27 @@
     		Composite Configuration as well as save changes made to your
     		Composite Configuration.
     	</p>
-    	<subsection name="Setting Up Defaults">
-    		<p>
-    			Defaults are very simple.  You can just add them as your last configuration object, 
-    			either through the ConfigurationFactory or manually:
+        <subsection name="Setting Up Defaults">
+        <p>
+          Defaults are very simple. You can just add them as your last configuration object:
     		</p>
     			<source><![CDATA[
-Configuration defaults = new PropertiesConfiguration(fileToDefaults);
-Configuration otherProperties = new PropertiesConfiguration(fileToOtherProperties);
+Parameters params = new Parameters();
+FileBasedConfigurationBuilder<Configuration> builderDefaults =
+    new FileBasedConfigurationBuilder<Configuration>(PropertiesConfiguration.class)
+    .configure(params.properties()
+        .setFile(fileToDefaults));
+FileBasedConfigurationBuilder<Configuration> builderOther =
+    new FileBasedConfigurationBuilder<Configuration>(PropertiesConfiguration.class)
+    .configure(params.properties()
+        .setFile(fileToOtherProperties));
+
 CompositeConfiguration cc = new CompositeConfiguration();
-cc.addConfiguration(otherProperties);
-cc.addConfiguration(fileToDefaults);
+cc.addConfiguration(builderOther.getConfiguration());
+cc.addConfiguration(builderDefaults.getConfiguration());
 ]]></source>
 		</subsection>
-		
+
 		<subsection name="Saving Changes">
 			<p>
 				If you have a non static Configuration where you want to 
@@ -71,25 +78,32 @@ cc.addConfiguration(fileToDefaults);
 				to save the changes via.
 			</p>
     			<source><![CDATA[
-PropertiesConfiguration saveConfiguration = new PropertiesConfiguration(fileToSaveChangesIn);
-Configuration cc = new CompositeConfiguration(saveConfiguration);
+Parameters params = new Parameters();
+FileBasedConfigurationBuilder<Configuration> builder =
+    new FileBasedConfigurationBuilder<Configuration>(PropertiesConfiguration.class, null, true)
+    .configure(params.properties()
+        .setFile(fileToSaveChangesIn));
+
+Configuration cc = new CompositeConfiguration(builder.getConfiguration());
 cc.setProperty("newProperty","new value");
 
-saveConfiguration.save();
+builder.save();
 ]]></source>
 			<p>
 				Alternatively, you can just request the
 				in-memory configuration that stores the changes. The following
                 example fragment copies all properties from the in-memory
-                configuration into a <code>DatabaseConfiguration</code>, so
-                that they are made persistent:
+                configuration into a <code>PropertiesConfiguration</code>, which
+                can be saved later:
     			<source><![CDATA[
 Configuration changes = myCompositeConfiguration.getInMemoryConfiguration();
-DatabaseConfiguration config = new DatabaseConfiguration(datasource, "configuration", "key", "value");
+FileBasedConfigurationBuilder<PropertiesConfiguration> builder =
+    new FileBasedConfigurationBuilder<PropertiesConfiguration>(PropertiesConfiguration.class);
+PropertiesConfiguration config = builder.getConfiguration();
 for (Iterator<String> i = changes.getKeys(); i.hasNext()){
-	String key = i.next();
-	Object value = changes.get(key);
-	config.setProperty(key,value);
+    String key = i.next();
+    Object value = changes.get(key);
+    config.setProperty(key,value);
 }
 ]]></source>
 			</p>