Return-Path: Delivered-To: apmail-jakarta-commons-dev-archive@www.apache.org Received: (qmail 72894 invoked from network); 30 Mar 2007 09:14:28 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 30 Mar 2007 09:14:28 -0000 Received: (qmail 66011 invoked by uid 500); 30 Mar 2007 09:14:34 -0000 Delivered-To: apmail-jakarta-commons-dev-archive@jakarta.apache.org Received: (qmail 65477 invoked by uid 500); 30 Mar 2007 09:14:33 -0000 Mailing-List: contact commons-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Help: List-Post: List-Id: "Jakarta Commons Developers List" Reply-To: "Jakarta Commons Developers List" Delivered-To: mailing list commons-dev@jakarta.apache.org Received: (qmail 65466 invoked by uid 500); 30 Mar 2007 09:14:33 -0000 Received: (qmail 65463 invoked by uid 99); 30 Mar 2007 09:14:33 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Mar 2007 02:14:33 -0700 X-ASF-Spam-Status: No, hits=-99.5 required=10.0 tests=ALL_TRUSTED,NO_REAL_NAME X-Spam-Check-By: apache.org Received: from [140.211.11.3] (HELO eris.apache.org) (140.211.11.3) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 30 Mar 2007 02:14:25 -0700 Received: by eris.apache.org (Postfix, from userid 65534) id 217FD1A9838; Fri, 30 Mar 2007 02:14:05 -0700 (PDT) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r524000 - /jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestCompositeConfiguration.java Date: Fri, 30 Mar 2007 09:14:04 -0000 To: commons-cvs@jakarta.apache.org From: oheger@apache.org X-Mailer: svnmailer-1.1.0 Message-Id: <20070330091405.217FD1A9838@eris.apache.org> X-Virus-Checked: Checked by ClamAV on apache.org Author: oheger Date: Fri Mar 30 02:14:03 2007 New Revision: 524000 URL: http://svn.apache.org/viewvc?view=rev&rev=524000 Log: Added a test case for CompositeConfiguration that checks interpolation together with reloading Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestCompositeConfiguration.java Modified: jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestCompositeConfiguration.java URL: http://svn.apache.org/viewvc/jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestCompositeConfiguration.java?view=diff&rev=524000&r1=523999&r2=524000 ============================================================================== --- jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestCompositeConfiguration.java (original) +++ jakarta/commons/proper/configuration/trunk/src/test/org/apache/commons/configuration/TestCompositeConfiguration.java Fri Mar 30 02:14:03 2007 @@ -18,6 +18,9 @@ package org.apache.commons.configuration; import java.io.File; +import java.io.FileWriter; +import java.io.IOException; +import java.io.PrintWriter; import java.util.ArrayList; import java.util.Iterator; import java.util.List; @@ -26,6 +29,7 @@ import org.apache.commons.configuration.event.ConfigurationEvent; import org.apache.commons.configuration.event.ConfigurationListener; +import org.apache.commons.configuration.reloading.FileAlwaysReloadingStrategy; import junit.framework.TestCase; @@ -457,6 +461,63 @@ assertEquals("Wrong list size", 2, lst.size()); assertEquals("Wrong first element", "test1", lst.get(0)); assertEquals("Wrong second element", "test2", lst.get(1)); + } + + /** + * Tests interpolation in combination with reloading. + */ + public void testInterpolationWithReload() throws IOException, + ConfigurationException + { + File testFile = new File("target/testConfig.properties"); + final String propFirst = "first.name"; + final String propFull = "full.name"; + + try + { + writeTestConfig(testFile, propFirst, "John"); + PropertiesConfiguration c1 = new PropertiesConfiguration(testFile); + c1.setReloadingStrategy(new FileAlwaysReloadingStrategy()); + PropertiesConfiguration c2 = new PropertiesConfiguration(); + c2.addProperty(propFull, "${" + propFirst + "} Doe"); + CompositeConfiguration cc = new CompositeConfiguration(); + cc.addConfiguration(c1); + cc.addConfiguration(c2); + assertEquals("Wrong name", "John Doe", cc.getString(propFull)); + + writeTestConfig(testFile, propFirst, "Jane"); + assertEquals("First name not changed", "Jane", c1 + .getString(propFirst)); + assertEquals("First name not changed in composite", "Jane", cc + .getString(propFirst)); + assertEquals("Full name not changed", "Jane Doe", cc + .getString(propFull)); + } + finally + { + if (testFile.exists()) + { + testFile.delete(); + } + } + } + + /** + * Writes a test properties file containing a single property definition. + * + * @param f the file to write + * @param prop the property name + * @param value the property value + * @throws IOException if an error occurs + */ + private void writeTestConfig(File f, String prop, String value) + throws IOException + { + PrintWriter out = new PrintWriter(new FileWriter(f)); + out.print(prop); + out.print("="); + out.println(value); + out.close(); } public void testInstanciateWithCollection() --------------------------------------------------------------------- To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org For additional commands, e-mail: commons-dev-help@jakarta.apache.org