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/05/05 22:15:25 UTC

svn commit: r1479370 - in /commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration: ./ plist/

Author: oheger
Date: Sun May  5 20:15:24 2013
New Revision: 1479370

URL: http://svn.apache.org/r1479370
Log:
Made setProperty() final.

There is now a new protected method setPropertyInternal() which can be
overriden by subclasses.

Modified:
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractConfiguration.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseHierarchicalConfiguration.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DataConfiguration.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DynamicCombinedConfiguration.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/JNDIConfiguration.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/PatternSubtreeConfigurationWrapper.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/plist/PropertyListConfiguration.java
    commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/plist/XMLPropertyListConfiguration.java

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractConfiguration.java?rev=1479370&r1=1479369&r2=1479370&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/AbstractConfiguration.java Sun May  5 20:15:24 2013
@@ -699,22 +699,13 @@ public abstract class AbstractConfigurat
         return ConfigurationUtils.unmodifiableConfiguration(subset(prefix));
     }
 
-    public void setProperty(String key, Object value)
+    public final void setProperty(String key, Object value)
     {
         getSynchronizer().beginWrite();
         try
         {
             fireEvent(EVENT_SET_PROPERTY, key, value, true);
-            setDetailEvents(false);
-            try
-            {
-                clearProperty(key);
-                addProperty(key, value);
-            }
-            finally
-            {
-                setDetailEvents(true);
-            }
+            setPropertyInternal(key, value);
             fireEvent(EVENT_SET_PROPERTY, key, value, false);
         }
         finally
@@ -724,6 +715,31 @@ public abstract class AbstractConfigurat
     }
 
     /**
+     * Actually sets the value of a property. This method is called by
+     * {@code setProperty()}. It provides a default implementation of this
+     * functionality by clearing the specified key and delegating to
+     * {@code addProperty()}. Subclasses should override this method if they can
+     * provide a more efficient algorithm for setting a property value.
+     *
+     * @param key the property key
+     * @param value the new property value
+     * @since 2.0
+     */
+    protected void setPropertyInternal(String key, Object value)
+    {
+        setDetailEvents(false);
+        try
+        {
+            clearProperty(key);
+            addProperty(key, value);
+        }
+        finally
+        {
+            setDetailEvents(true);
+        }
+    }
+
+    /**
      * Removes the specified property from this configuration. This
      * implementation performs some preparations and then delegates to
      * {@code clearPropertyDirect()}, which will do the real work.

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseHierarchicalConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseHierarchicalConfiguration.java?rev=1479370&r1=1479369&r2=1479370&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseHierarchicalConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseHierarchicalConfiguration.java Sun May  5 20:15:24 2013
@@ -764,10 +764,8 @@ public class BaseHierarchicalConfigurati
      * @param value the new value of this property
      */
     @Override
-    public void setProperty(String key, Object value)
+    protected void setPropertyInternal(String key, Object value)
     {
-        fireEvent(EVENT_SET_PROPERTY, key, value, true);
-
         // Update the existing nodes for this property
         Iterator<ConfigurationNode> itNodes = fetchNodeList(key).iterator();
         Iterator<?> itValues;
@@ -796,8 +794,6 @@ public class BaseHierarchicalConfigurati
         {
             clearNode(itNodes.next());
         }
-
-        fireEvent(EVENT_SET_PROPERTY, key, value, false);
     }
 
     /**

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DataConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DataConfiguration.java?rev=1479370&r1=1479369&r2=1479370&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DataConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DataConfiguration.java Sun May  5 20:15:24 2013
@@ -164,7 +164,7 @@ public class DataConfiguration extends A
     }
 
     @Override
-    public void setProperty(String key, Object value)
+    protected void setPropertyInternal(String key, Object value)
     {
         configuration.setProperty(key, value);
     }

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DynamicCombinedConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DynamicCombinedConfiguration.java?rev=1479370&r1=1479369&r2=1479370&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DynamicCombinedConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DynamicCombinedConfiguration.java Sun May  5 20:15:24 2013
@@ -567,7 +567,7 @@ public class DynamicCombinedConfiguratio
     }
 
     @Override
-    public void setProperty(String key, Object value)
+    protected void setPropertyInternal(String key, Object value)
     {
         if (configs != null)
         {

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/JNDIConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/JNDIConfiguration.java?rev=1479370&r1=1479369&r2=1479370&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/JNDIConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/JNDIConfiguration.java Sun May  5 20:15:24 2013
@@ -321,7 +321,7 @@ public class JNDIConfiguration extends A
      * @throws UnsupportedOperationException
      */
     @Override
-    public void setProperty(String key, Object value)
+    protected void setPropertyInternal(String key, Object value)
     {
         throw new UnsupportedOperationException("This operation is not supported");
     }

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/PatternSubtreeConfigurationWrapper.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/PatternSubtreeConfigurationWrapper.java?rev=1479370&r1=1479369&r2=1479370&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/PatternSubtreeConfigurationWrapper.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/PatternSubtreeConfigurationWrapper.java Sun May  5 20:15:24 2013
@@ -317,7 +317,7 @@ public class PatternSubtreeConfiguration
     }
 
     @Override
-    public void setProperty(String key, Object value)
+    protected void setPropertyInternal(String key, Object value)
     {
         getConfig().setProperty(key, value);
     }

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/plist/PropertyListConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/plist/PropertyListConfiguration.java?rev=1479370&r1=1479369&r2=1479370&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/plist/PropertyListConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/plist/PropertyListConfiguration.java Sun May  5 20:15:24 2013
@@ -152,12 +152,11 @@ public class PropertyListConfiguration e
     }
 
     @Override
-    public void setProperty(String key, Object value)
+    protected void setPropertyInternal(String key, Object value)
     {
         // special case for byte arrays, they must be stored as is in the configuration
         if (value instanceof byte[])
         {
-            fireEvent(EVENT_SET_PROPERTY, key, value, true);
             setDetailEvents(false);
             try
             {
@@ -168,11 +167,10 @@ public class PropertyListConfiguration e
             {
                 setDetailEvents(true);
             }
-            fireEvent(EVENT_SET_PROPERTY, key, value, false);
         }
         else
         {
-            super.setProperty(key, value);
+            super.setPropertyInternal(key, value);
         }
     }
 

Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/plist/XMLPropertyListConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/plist/XMLPropertyListConfiguration.java?rev=1479370&r1=1479369&r2=1479370&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/plist/XMLPropertyListConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/plist/XMLPropertyListConfiguration.java Sun May  5 20:15:24 2013
@@ -160,12 +160,11 @@ public class XMLPropertyListConfiguratio
     }
 
     @Override
-    public void setProperty(String key, Object value)
+    protected void setPropertyInternal(String key, Object value)
     {
         // special case for byte arrays, they must be stored as is in the configuration
         if (value instanceof byte[])
         {
-            fireEvent(EVENT_SET_PROPERTY, key, value, true);
             setDetailEvents(false);
             try
             {
@@ -176,11 +175,10 @@ public class XMLPropertyListConfiguratio
             {
                 setDetailEvents(true);
             }
-            fireEvent(EVENT_SET_PROPERTY, key, value, false);
         }
         else
         {
-            super.setProperty(key, value);
+            super.setPropertyInternal(key, value);
         }
     }