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);
}
}