You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by he...@apache.org on 2003/07/06 17:14:10 UTC
cvs commit: jakarta-commons-sandbox/configuration/src/java/org/apache/commons/configuration BaseConfiguration.java
henning 2003/07/06 08:14:10
Modified: configuration/src/java/org/apache/commons/configuration
BaseConfiguration.java
Log:
Replace the internal Hashtable with the keysAsListed ArrayList by the
commons-collections provided SequencedHashMap, which keeps its keys in
sequence automatically.
Revision Changes Path
1.13 +6 -30 jakarta-commons-sandbox/configuration/src/java/org/apache/commons/configuration/BaseConfiguration.java
Index: BaseConfiguration.java
===================================================================
RCS file: /home/cvs/jakarta-commons-sandbox/configuration/src/java/org/apache/commons/configuration/BaseConfiguration.java,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
--- BaseConfiguration.java 7 Jun 2003 18:24:00 -0000 1.12
+++ BaseConfiguration.java 6 Jul 2003 15:14:10 -0000 1.13
@@ -56,14 +56,16 @@
import java.util.ArrayList;
import java.util.Collection;
-import java.util.Hashtable;
import java.util.Iterator;
import java.util.List;
+import java.util.Map;
import java.util.NoSuchElementException;
import java.util.Properties;
import java.util.StringTokenizer;
import java.util.Vector;
+import org.apache.commons.collections.SequencedHashMap;
+
/**
* Basic configuration classe. Stores the configuration data but does not
* provide any load or save functions. If you want to load your Configuration
@@ -92,18 +94,11 @@
private static final int INITIAL_LIST_SIZE = 2;
/** stores the configuration key-value pairs */
- private Hashtable store = new Hashtable();
+ private SequencedHashMap store = new SequencedHashMap();
/** stores the configuration key-value pairs */
protected Configuration defaults = null;
- /**
- * These are the keys in the order they listed in the configuration file.
- * This is useful when you wish to perform operations with configuration
- * information in a particular order.
- */
- protected ArrayList keysAsListed = new ArrayList();
-
/** start token */
protected static final String START_TOKEN = "${";
/** end token */
@@ -250,13 +245,6 @@
*/
protected void addPropertyDirect(String key, Object obj)
{
- // safety check
- if (!store.containsKey(key))
- {
- keysAsListed.add(key);
- }
-
- // and the value
store.put(key, obj);
}
@@ -506,18 +494,6 @@
{
if (containsKey(key))
{
- /*
- * we also need to rebuild the keysAsListed or else things get
- * *very* confusing
- */
- for (int i = 0; i < keysAsListed.size(); i++)
- {
- if (((String) keysAsListed.get(i)).equals(key))
- {
- keysAsListed.remove(i);
- break;
- }
- }
store.remove(key);
}
}
@@ -530,7 +506,7 @@
*/
public Iterator getKeys()
{
- return keysAsListed.iterator();
+ return store.iterator();
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org