Author: oheger
Date: Mon Aug 19 14:31:31 2013
New Revision: 1515443

URL: http://svn.apache.org/r1515443
Log:
Inlined the interpolate() helper method from PropertyConverter.

This was the only place this method was used. The plan is to remove
interpolate() from PropertyConverter, so that this class can focus only on
conversions.

Modified:
    
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/beanutils/XMLBeanDeclaration.java
    
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/beanutils/TestXMLBeanDeclaration.java

Modified: 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/beanutils/XMLBeanDeclaration.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/beanutils/XMLBeanDeclaration.java?rev=1515443&r1=1515442&r2=1515443&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/beanutils/XMLBeanDeclaration.java
 (original)
+++ 
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/beanutils/XMLBeanDeclaration.java
 Mon Aug 19 14:31:31 2013
@@ -27,7 +27,7 @@ import java.util.Map;
 import org.apache.commons.configuration.ConfigurationRuntimeException;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.configuration.SubnodeConfiguration;
-import org.apache.commons.configuration.convert.PropertyConverter;
+import org.apache.commons.configuration.interpol.ConfigurationInterpolator;
 import org.apache.commons.configuration.tree.ConfigurationNode;
 import org.apache.commons.configuration.tree.DefaultConfigurationNode;
 
@@ -448,8 +448,9 @@ public class XMLBeanDeclaration implemen
      */
     protected Object interpolate(Object value)
     {
-        return PropertyConverter.interpolate(value, getConfiguration()
-                .getParent());
+        ConfigurationInterpolator interpolator =
+                getConfiguration().getParent().getInterpolator();
+        return (interpolator != null) ? interpolator.interpolate(value) : 
value;
     }
 
     /**

Modified: 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/beanutils/TestXMLBeanDeclaration.java
URL: 
http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/beanutils/TestXMLBeanDeclaration.java?rev=1515443&r1=1515442&r2=1515443&view=diff
==============================================================================
--- 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/beanutils/TestXMLBeanDeclaration.java
 (original)
+++ 
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/beanutils/TestXMLBeanDeclaration.java
 Mon Aug 19 14:31:31 2013
@@ -484,6 +484,24 @@ public class TestXMLBeanDeclaration
     }
 
     /**
+     * Tests interpolate() if no ConfigurationInterpolator is available.
+     */
+    @Test
+    public void testInterpolateNoInterpolator()
+    {
+        HierarchicalConfiguration config = new BaseHierarchicalConfiguration();
+        config.addProperty("value", "expectedValue");
+        setupBeanDeclaration(config, KEY, TEST_PROPS, TEST_VALUES);
+        String value = "${value}";
+        config.addProperty(KEY + ".config-constrarg[@config-value]", value);
+        config.setInterpolator(null);
+        XMLBeanDeclaration decl = new XMLBeanDeclaration(config, KEY);
+        Collection<ConstructorArg> args = decl.getConstructorArgs();
+        ConstructorArg arg = args.iterator().next();
+        assertEquals("Value was changed", value, arg.getValue());
+    }
+
+    /**
      * Initializes a configuration object with a bean declaration. Under the
      * specified key the given properties will be added.
      *


Reply via email to