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:19:48 UTC
svn commit: r1479373 - in /commons/proper/configuration/trunk/src:
main/java/org/apache/commons/configuration/
main/java/org/apache/commons/configuration/web/
test/java/org/apache/commons/configuration/
Author: oheger
Date: Sun May 5 20:19:47 2013
New Revision: 1479373
URL: http://svn.apache.org/r1479373
Log:
Added final isEmpty() method in AbstractConfiguration.
A new protected abstract isEmptyInternal() method was added, too, which has
to be defined in 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/BaseConfiguration.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/CompositeConfiguration.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/DatabaseConfiguration.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/MapConfiguration.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/SubsetConfiguration.java
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/web/BaseWebConfiguration.java
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/NonCloneableConfiguration.java
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestAbstractConfigurationBasicFeatures.java
commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestAbstractConfigurationSynchronization.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=1479373&r1=1479372&r2=1479373&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:19:47 2013
@@ -929,6 +929,33 @@ public abstract class AbstractConfigurat
*/
protected abstract Object getPropertyInternal(String key);
+ /**
+ * {@inheritDoc} This implementation handles synchronization and delegates
+ * to {@code isEmptyInternal()}.
+ */
+ public final boolean isEmpty()
+ {
+ getSynchronizer().beginRead();
+ try
+ {
+ return isEmptyInternal();
+ }
+ finally
+ {
+ getSynchronizer().endRead();
+ }
+ }
+
+ /**
+ * Actually checks whether this configuration contains data. This method is
+ * called by {@code isEmpty()}. It has to be defined by concrete subclasses.
+ *
+ * @return <b>true</b> if this configuration contains no data, <b>false</b>
+ * otherwise
+ * @since 2.0
+ */
+ protected abstract boolean isEmptyInternal();
+
public Properties getProperties(String key)
{
return getProperties(key, null);
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseConfiguration.java?rev=1479373&r1=1479372&r2=1479373&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/BaseConfiguration.java Sun May 5 20:19:47 2013
@@ -106,7 +106,8 @@ public class BaseConfiguration extends A
* @return {@code true} if Configuration is empty,
* {@code false} otherwise.
*/
- public boolean isEmpty()
+ @Override
+ protected boolean isEmptyInternal()
{
return store.isEmpty();
}
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=1479373&r1=1479372&r2=1479373&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:19:47 2013
@@ -417,7 +417,8 @@ public class BaseHierarchicalConfigurati
*
* @return a flag if this configuration is empty
*/
- public boolean isEmpty()
+ @Override
+ protected boolean isEmptyInternal()
{
return !nodeDefined(getRootNode());
}
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/CompositeConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/CompositeConfiguration.java?rev=1479373&r1=1479372&r2=1479373&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/CompositeConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/CompositeConfiguration.java Sun May 5 20:19:47 2013
@@ -306,7 +306,8 @@ implements Cloneable
return keys.iterator();
}
- public boolean isEmpty()
+ @Override
+ protected boolean isEmptyInternal()
{
for (Configuration config : configList)
{
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=1479373&r1=1479372&r2=1479373&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:19:47 2013
@@ -148,7 +148,8 @@ public class DataConfiguration extends A
}
}
- public boolean isEmpty()
+ @Override
+ protected boolean isEmptyInternal()
{
return configuration.isEmpty();
}
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java?rev=1479373&r1=1479372&r2=1479373&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/DatabaseConfiguration.java Sun May 5 20:19:47 2013
@@ -439,9 +439,9 @@ public class DatabaseConfiguration exten
*
* @return a flag whether this configuration is empty.
*/
- public boolean isEmpty()
+ @Override
+ protected boolean isEmptyInternal()
{
-
JdbcOperation<Integer> op = new JdbcOperation<Integer>(EVENT_READ_PROPERTY, null, null)
{
@Override
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=1479373&r1=1479372&r2=1479373&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:19:47 2013
@@ -561,7 +561,7 @@ public class DynamicCombinedConfiguratio
}
@Override
- public boolean isEmpty()
+ protected boolean isEmptyInternal()
{
return this.getCurrentConfig().isEmpty();
}
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=1479373&r1=1479372&r2=1479373&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:19:47 2013
@@ -286,7 +286,8 @@ public class JNDIConfiguration extends A
*
* @return the empty flag
*/
- public boolean isEmpty()
+ @Override
+ protected boolean isEmptyInternal()
{
try
{
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/MapConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/MapConfiguration.java?rev=1479373&r1=1479372&r2=1479373&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/MapConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/MapConfiguration.java Sun May 5 20:19:47 2013
@@ -201,7 +201,8 @@ public class MapConfiguration extends Ab
}
}
- public boolean isEmpty()
+ @Override
+ protected boolean isEmptyInternal()
{
return map.isEmpty();
}
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=1479373&r1=1479372&r2=1479373&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:19:47 2013
@@ -311,7 +311,7 @@ public class PatternSubtreeConfiguration
}
@Override
- public boolean isEmpty()
+ protected boolean isEmptyInternal()
{
return getConfig().isEmpty();
}
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/SubsetConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/SubsetConfiguration.java?rev=1479373&r1=1479372&r2=1479373&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/SubsetConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/SubsetConfiguration.java Sun May 5 20:19:47 2013
@@ -160,9 +160,10 @@ public class SubsetConfiguration extends
return parent.subset(getParentKey(prefix));
}
- public boolean isEmpty()
+ @Override
+ protected boolean isEmptyInternal()
{
- return !getKeys().hasNext();
+ return !getKeysInternal().hasNext();
}
public boolean containsKey(String key)
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/web/BaseWebConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/web/BaseWebConfiguration.java?rev=1479373&r1=1479372&r2=1479373&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/web/BaseWebConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/web/BaseWebConfiguration.java Sun May 5 20:19:47 2013
@@ -46,9 +46,10 @@ abstract class BaseWebConfiguration exte
*
* @return a flag whether this configuration is empty
*/
- public boolean isEmpty()
+ @Override
+ protected boolean isEmptyInternal()
{
- return !getKeys().hasNext();
+ return !getKeysInternal().hasNext();
}
/**
Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/NonCloneableConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/NonCloneableConfiguration.java?rev=1479373&r1=1479372&r2=1479373&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/NonCloneableConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/NonCloneableConfiguration.java Sun May 5 20:19:47 2013
@@ -39,7 +39,8 @@ public class NonCloneableConfiguration e
/**
* Dummy implementation of this method.
*/
- public boolean isEmpty()
+ @Override
+ protected boolean isEmptyInternal()
{
return true;
}
Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestAbstractConfigurationBasicFeatures.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestAbstractConfigurationBasicFeatures.java?rev=1479373&r1=1479372&r2=1479373&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestAbstractConfigurationBasicFeatures.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestAbstractConfigurationBasicFeatures.java Sun May 5 20:19:47 2013
@@ -626,7 +626,8 @@ public class TestAbstractConfigurationBa
return config.getProperty(key);
}
- public boolean isEmpty()
+ @Override
+ protected boolean isEmptyInternal()
{
return config.isEmpty();
}
Modified: commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestAbstractConfigurationSynchronization.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestAbstractConfigurationSynchronization.java?rev=1479373&r1=1479372&r2=1479373&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestAbstractConfigurationSynchronization.java (original)
+++ commons/proper/configuration/trunk/src/test/java/org/apache/commons/configuration/TestAbstractConfigurationSynchronization.java Sun May 5 20:19:47 2013
@@ -136,8 +136,6 @@ public class TestAbstractConfigurationSy
* Tests whether isEmpty() is correctly synchronized.
*/
@Test
- @Ignore
- // TODO prevent subclasses from overriding containsKey()
public void testIsEmptySychronized()
{
assertFalse("Configuration is empty", config.isEmpty());