remm 2004/07/16 10:09:50 Modified: catalina/src/share/org/apache/naming/resources WARDirContext.java FileDirContext.java catalina/src/share/org/apache/naming NamingContextEnumeration.java NamingContextBindingsEnumeration.java NamingContext.java Log: - Update to Java 2 collections. - This will remove lots of syncs (I believe we shouldn't use dynamic updates to JNDI, and the object doesn't need to be thread safe). Revision Changes Path 1.6 +9 -9 jakarta-tomcat-catalina/catalina/src/share/org/apache/naming/resources/WARDirContext.java Index: WARDirContext.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/naming/resources/WARDirContext.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- WARDirContext.java 13 Mar 2004 17:51:53 -0000 1.5 +++ WARDirContext.java 16 Jul 2004 17:09:50 -0000 1.6 @@ -20,11 +20,11 @@ import java.io.File; import java.io.IOException; import java.io.InputStream; +import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.Enumeration; import java.util.Hashtable; -import java.util.Vector; import java.util.zip.ZipEntry; import java.util.zip.ZipException; import java.util.zip.ZipFile; @@ -277,12 +277,12 @@ public NamingEnumeration list(Name name) throws NamingException { if (name.isEmpty()) - return new NamingContextEnumeration(list(entries)); + return new NamingContextEnumeration(list(entries).iterator()); Entry entry = treeLookup(name); if (entry == null) throw new NamingException (sm.getString("resources.notFound", name)); - return new NamingContextEnumeration(list(entry)); + return new NamingContextEnumeration(list(entry).iterator()); } @@ -321,12 +321,12 @@ public NamingEnumeration listBindings(Name name) throws NamingException { if (name.isEmpty()) - return new NamingContextBindingsEnumeration(list(entries)); + return new NamingContextBindingsEnumeration(list(entries).iterator()); Entry entry = treeLookup(name); if (entry == null) throw new NamingException (sm.getString("resources.notFound", name)); - return new NamingContextBindingsEnumeration(list(entry)); + return new NamingContextBindingsEnumeration(list(entry).iterator()); } @@ -797,9 +797,9 @@ /** * List children as objects. */ - protected Vector list(Entry entry) { + protected ArrayList list(Entry entry) { - Vector entries = new Vector(); + ArrayList entries = new ArrayList(); Entry[] children = entry.getChildren(); Arrays.sort(children); NamingEntry namingEntry = null; @@ -814,7 +814,7 @@ } namingEntry = new NamingEntry (children[i].getName(), object, NamingEntry.ENTRY); - entries.addElement(namingEntry); + entries.add(namingEntry); } return entries; 1.6 +7 -11 jakarta-tomcat-catalina/catalina/src/share/org/apache/naming/resources/FileDirContext.java Index: FileDirContext.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/naming/resources/FileDirContext.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- FileDirContext.java 2 Jul 2004 16:25:31 -0000 1.5 +++ FileDirContext.java 16 Jul 2004 17:09:50 -0000 1.6 @@ -22,10 +22,10 @@ import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.Hashtable; -import java.util.Vector; import javax.naming.NameAlreadyBoundException; import javax.naming.NamingEnumeration; @@ -305,9 +305,7 @@ throw new NamingException (sm.getString("resources.notFound", name)); - Vector entries = list(file); - - return new NamingContextEnumeration(entries); + return new NamingContextEnumeration(list(file).iterator()); } @@ -334,9 +332,7 @@ throw new NamingException (sm.getString("resources.notFound", name)); - Vector entries = list(file); - - return new NamingContextBindingsEnumeration(entries); + return new NamingContextBindingsEnumeration(list(file).iterator()); } @@ -878,9 +874,9 @@ * @param file Collection * @return Vector containg NamingEntry objects */ - protected Vector list(File file) { + protected ArrayList list(File file) { - Vector entries = new Vector(); + ArrayList entries = new ArrayList(); if (!file.isDirectory()) return entries; String[] names = file.list(); @@ -909,7 +905,7 @@ object = new FileResource(currentFile); } entry = new NamingEntry(names[i], object, NamingEntry.ENTRY); - entries.addElement(entry); + entries.add(entry); } 1.4 +8 -14 jakarta-tomcat-catalina/catalina/src/share/org/apache/naming/NamingContextEnumeration.java Index: NamingContextEnumeration.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/naming/NamingContextEnumeration.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- NamingContextEnumeration.java 27 Feb 2004 14:58:53 -0000 1.3 +++ NamingContextEnumeration.java 16 Jul 2004 17:09:50 -0000 1.4 @@ -17,8 +17,7 @@ package org.apache.naming; -import java.util.Enumeration; -import java.util.Vector; +import java.util.Iterator; import javax.naming.NameClassPair; import javax.naming.NamingEnumeration; @@ -38,13 +37,8 @@ // ----------------------------------------------------------- Constructors - public NamingContextEnumeration(Vector entries) { - enum = entries.elements(); - } - - - public NamingContextEnumeration(Enumeration enum) { - this.enum = enum; + public NamingContextEnumeration(Iterator entries) { + enum = entries; } @@ -54,7 +48,7 @@ /** * Underlying enumeration. */ - protected Enumeration enum; + protected Iterator enum; // --------------------------------------------------------- Public Methods @@ -74,7 +68,7 @@ */ public boolean hasMore() throws NamingException { - return enum.hasMoreElements(); + return enum.hasNext(); } @@ -87,12 +81,12 @@ public boolean hasMoreElements() { - return enum.hasMoreElements(); + return enum.hasNext(); } public Object nextElement() { - NamingEntry entry = (NamingEntry) enum.nextElement(); + NamingEntry entry = (NamingEntry) enum.next(); return new NameClassPair(entry.name, entry.value.getClass().getName()); } 1.4 +8 -14 jakarta-tomcat-catalina/catalina/src/share/org/apache/naming/NamingContextBindingsEnumeration.java Index: NamingContextBindingsEnumeration.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/naming/NamingContextBindingsEnumeration.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- NamingContextBindingsEnumeration.java 27 Feb 2004 14:58:53 -0000 1.3 +++ NamingContextBindingsEnumeration.java 16 Jul 2004 17:09:50 -0000 1.4 @@ -17,8 +17,7 @@ package org.apache.naming; -import java.util.Enumeration; -import java.util.Vector; +import java.util.Iterator; import javax.naming.Binding; import javax.naming.NamingEnumeration; @@ -38,13 +37,8 @@ // ----------------------------------------------------------- Constructors - public NamingContextBindingsEnumeration(Vector entries) { - enum = entries.elements(); - } - - - public NamingContextBindingsEnumeration(Enumeration enum) { - this.enum = enum; + public NamingContextBindingsEnumeration(Iterator entries) { + enum = entries; } @@ -54,7 +48,7 @@ /** * Underlying enumeration. */ - protected Enumeration enum; + protected Iterator enum; // --------------------------------------------------------- Public Methods @@ -74,7 +68,7 @@ */ public boolean hasMore() throws NamingException { - return enum.hasMoreElements(); + return enum.hasNext(); } @@ -87,12 +81,12 @@ public boolean hasMoreElements() { - return enum.hasMoreElements(); + return enum.hasNext(); } public Object nextElement() { - NamingEntry entry = (NamingEntry) enum.nextElement(); + NamingEntry entry = (NamingEntry) enum.next(); return new Binding(entry.name, entry.value.getClass().getName(), entry.value, true); } 1.5 +7 -6 jakarta-tomcat-catalina/catalina/src/share/org/apache/naming/NamingContext.java Index: NamingContext.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/catalina/src/share/org/apache/naming/NamingContext.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- NamingContext.java 27 Feb 2004 14:58:53 -0000 1.4 +++ NamingContext.java 16 Jul 2004 17:09:50 -0000 1.5 @@ -17,6 +17,7 @@ package org.apache.naming; +import java.util.HashMap; import java.util.Hashtable; import java.util.Enumeration; import javax.naming.Context; @@ -65,7 +66,7 @@ */ public NamingContext(Hashtable env, String name) throws NamingException { - this.bindings = new Hashtable(); + this.bindings = new HashMap(); this.env = new Hashtable(); // FIXME ? Could be put in the environment ? this.name = name; @@ -83,7 +84,7 @@ /** * Builds a naming context using the given environment. */ - public NamingContext(Hashtable env, String name, Hashtable bindings) + public NamingContext(Hashtable env, String name, HashMap bindings) throws NamingException { this(env, name); this.bindings = bindings; @@ -108,7 +109,7 @@ /** * Bindings in this Context. */ - protected Hashtable bindings; + protected HashMap bindings; /** @@ -334,7 +335,7 @@ while ((!name.isEmpty()) && (name.get(0).length() == 0)) name = name.getSuffix(1); if (name.isEmpty()) { - return new NamingContextEnumeration(bindings.elements()); + return new NamingContextEnumeration(bindings.values().iterator()); } NamingEntry entry = (NamingEntry) bindings.get(name.get(0)); @@ -386,7 +387,7 @@ while ((!name.isEmpty()) && (name.get(0).length() == 0)) name = name.getSuffix(1); if (name.isEmpty()) { - return new NamingContextBindingsEnumeration(bindings.elements()); + return new NamingContextBindingsEnumeration(bindings.values().iterator()); } NamingEntry entry = (NamingEntry) bindings.get(name.get(0));
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]