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/03/01 21:20:18 UTC

svn commit: r1573223 - in /commons/proper/configuration/branches/immutableNodes/src: main/java/org/apache/commons/configuration/AbstractHierarchicalConfiguration.java test/java/org/apache/commons/configuration/TestAbstractHierarchicalConfiguration.java

Author: oheger
Date: Sat Mar  1 20:20:17 2014
New Revision: 1573223

URL: http://svn.apache.org/r1573223
Log:
Made the tests related to cloning work.

Modified:
    commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/AbstractHierarchicalConfiguration.java
    commons/proper/configuration/branches/immutableNodes/src/test/java/org/apache/commons/configuration/TestAbstractHierarchicalConfiguration.java

Modified: commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/AbstractHierarchicalConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/AbstractHierarchicalConfiguration.java?rev=1573223&r1=1573222&r2=1573223&view=diff
==============================================================================
--- commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/AbstractHierarchicalConfiguration.java (original)
+++ commons/proper/configuration/branches/immutableNodes/src/main/java/org/apache/commons/configuration/AbstractHierarchicalConfiguration.java Sat Mar  1 20:20:17 2014
@@ -181,7 +181,7 @@ public abstract class AbstractHierarchic
     public static final int EVENT_SUBNODE_CHANGED = 12;
 
     /** The model for managing the data stored in this configuration. */
-    private final NodeModel<T> model;
+    private NodeModel<T> model;
 
     /** Stores the expression engine for this instance.*/
     private ExpressionEngine expressionEngine;
@@ -700,8 +700,7 @@ public abstract class AbstractHierarchic
             copy.setSynchronizer(NoOpSynchronizer.INSTANCE);
             copy.cloneInterpolator(this);
             copy.setSynchronizer(ConfigurationUtils.cloneSynchronizer(getSynchronizer()));
-
-            //TODO clone node model
+            copy.model = cloneNodeModel();
 
             return copy;
         }

Modified: commons/proper/configuration/branches/immutableNodes/src/test/java/org/apache/commons/configuration/TestAbstractHierarchicalConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/immutableNodes/src/test/java/org/apache/commons/configuration/TestAbstractHierarchicalConfiguration.java?rev=1573223&r1=1573222&r2=1573223&view=diff
==============================================================================
--- commons/proper/configuration/branches/immutableNodes/src/test/java/org/apache/commons/configuration/TestAbstractHierarchicalConfiguration.java (original)
+++ commons/proper/configuration/branches/immutableNodes/src/test/java/org/apache/commons/configuration/TestAbstractHierarchicalConfiguration.java Sat Mar  1 20:20:17 2014
@@ -509,7 +509,7 @@ public class TestAbstractHierarchicalCon
     public void testClone()
     {
         Configuration copy = (Configuration) config.clone();
-        assertTrue(copy instanceof BaseHierarchicalConfiguration);
+        assertTrue("Wrong clone result", copy instanceof AbstractHierarchicalConfiguration);
         checkContent(copy);
     }
 
@@ -528,8 +528,8 @@ public class TestAbstractHierarchicalCon
             }
         };
         config.addConfigurationListener(l);
-        BaseHierarchicalConfiguration copy = (BaseHierarchicalConfiguration) config
-                .clone();
+        AbstractHierarchicalConfiguration<?> copy =
+                (AbstractHierarchicalConfiguration<?>) config.clone();
         assertFalse("Event listener registered at clone", copy
                 .getConfigurationListeners().contains(l));
     }
@@ -544,8 +544,7 @@ public class TestAbstractHierarchicalCon
         final String keyValue = "value";
         config.addProperty(keyAnswer, "The answer is ${" + keyValue + "}.");
         config.addProperty(keyValue, 42);
-        BaseHierarchicalConfiguration clone =
-                (BaseHierarchicalConfiguration) config.clone();
+        Configuration clone = (Configuration) config.clone();
         clone.setProperty(keyValue, 43);
         assertEquals("Wrong interpolation in original", "The answer is 42.",
                 config.getString(keyAnswer));
@@ -895,16 +894,21 @@ public class TestAbstractHierarchicalCon
     }
 
     /**
-     * A concrete test implementation of {@code AbstractHierarchicalConfiguration}.
+     * A concrete test implementation of
+     * {@code AbstractHierarchicalConfiguration}.
      */
-    private static class AbstractHierarchicalConfigurationTestImpl extends AbstractHierarchicalConfiguration<ImmutableNode> {
-        public AbstractHierarchicalConfigurationTestImpl(InMemoryNodeModel model) {
+    private static class AbstractHierarchicalConfigurationTestImpl extends
+            AbstractHierarchicalConfiguration<ImmutableNode>
+    {
+        public AbstractHierarchicalConfigurationTestImpl(InMemoryNodeModel model)
+        {
             super(model);
         }
 
         @Override
-        protected NodeModel<ImmutableNode> cloneNodeModel() {
-            return null;
+        protected NodeModel<ImmutableNode> cloneNodeModel()
+        {
+            return new InMemoryNodeModel(getModel().getRootNode());
         }
     }
 }