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/22 22:10:05 UTC
svn commit: r1485389 -
/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/CombinedConfiguration.java
Author: oheger
Date: Wed May 22 20:10:05 2013
New Revision: 1485389
URL: http://svn.apache.org/r1485389
Log:
Don't call non-private, non-final methods from the constructor.
Modified:
commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/CombinedConfiguration.java
Modified: commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/CombinedConfiguration.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/CombinedConfiguration.java?rev=1485389&r1=1485388&r2=1485389&view=diff
==============================================================================
--- commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/CombinedConfiguration.java (original)
+++ commons/proper/configuration/trunk/src/main/java/org/apache/commons/configuration/CombinedConfiguration.java Wed May 22 20:10:05 2013
@@ -220,8 +220,8 @@ public class CombinedConfiguration exten
*/
public CombinedConfiguration(NodeCombiner comb)
{
- setNodeCombiner((comb != null) ? comb : DEFAULT_COMBINER);
- clear();
+ nodeCombiner = (comb != null) ? comb : DEFAULT_COMBINER;
+ initChildCollections();
}
/**
@@ -263,7 +263,7 @@ public class CombinedConfiguration exten
"Node combiner must not be null!");
}
this.nodeCombiner = nodeCombiner;
- invalidate();
+ invalidateInternal();
}
/**
@@ -343,7 +343,7 @@ public class CombinedConfiguration exten
}
registerListenerAt(config);
- invalidate();
+ invalidateInternal();
}
/**
@@ -474,7 +474,7 @@ public class CombinedConfiguration exten
namedConfigurations.remove(cd.getName());
}
unregisterListenerAt(cd.getConfiguration());
- invalidate();
+ invalidateInternal();
return cd.getConfiguration();
}
@@ -518,8 +518,7 @@ public class CombinedConfiguration exten
*/
public void invalidate()
{
- reloadRequired = true;
- fireEvent(EVENT_COMBINED_INVALIDATE, null, null, false);
+ invalidateInternal();
}
/**
@@ -564,9 +563,8 @@ public class CombinedConfiguration exten
@Override
protected void clearInternal()
{
- configurations = new ArrayList<ConfigData>();
- namedConfigurations = new HashMap<String, Configuration>();
- invalidate();
+ initChildCollections();
+ invalidateInternal();
}
/**
@@ -582,7 +580,7 @@ public class CombinedConfiguration exten
public Object clone()
{
CombinedConfiguration copy = (CombinedConfiguration) super.clone();
- copy.clear();
+ copy.initChildCollections();
for (ConfigData cd : configurations)
{
copy.addConfiguration(ConfigurationUtils
@@ -646,6 +644,28 @@ public class CombinedConfiguration exten
}
/**
+ * Marks this configuration as invalid. This means that the next access
+ * re-creates the root node. An invalidate event is also fired. Note:
+ * This implementation expects that an exclusive (write) lock is held on
+ * this instance.
+ */
+ private void invalidateInternal()
+ {
+ reloadRequired = true;
+ fireEvent(EVENT_COMBINED_INVALIDATE, null, null, false);
+ }
+
+ /**
+ * Initializes internal data structures for storing information about
+ * child configurations.
+ */
+ private void initChildCollections()
+ {
+ configurations = new ArrayList<ConfigData>();
+ namedConfigurations = new HashMap<String, Configuration>();
+ }
+
+ /**
* Creates the root node of this combined configuration.
*
* @return the combined root node