Index: common/common-util/src/main/java/com/sun/enterprise/loader/ASURLClassLoader.java =================================================================== --- common/common-util/src/main/java/com/sun/enterprise/loader/ASURLClassLoader.java (revision 41579) +++ common/common-util/src/main/java/com/sun/enterprise/loader/ASURLClassLoader.java (working copy) @@ -68,23 +68,13 @@ import java.security.SecureClassLoader; import java.security.cert.Certificate; import java.text.MessageFormat; -import java.util.ArrayList; -import java.util.Collections; -import java.util.Date; -import java.util.HashMap; -import java.util.Hashtable; -import java.util.List; -import java.util.Map; -import java.util.StringTokenizer; +import java.util.*; import java.util.jar.Attributes; import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.jar.Manifest; import java.util.logging.Level; import java.util.logging.Logger; -import java.util.Vector; -import java.util.Enumeration; -import java.util.Iterator; import java.util.concurrent.ConcurrentHashMap; import com.sun.appserv.server.util.PreprocessorUtil; @@ -124,7 +114,7 @@ private static final Logger _logger=LogDomains.getLogger(ASURLClassLoader.class, LogDomains.LOADER_LOGGER); /** list of url entries of this class loader */ - private final List urlSet = Collections.synchronizedList(new ArrayList()); + private final Set urlSet = Collections.synchronizedSet(new LinkedHashSet()); /** cache of not found resources */ private final Map notFoundResources = new ConcurrentHashMap(); @@ -225,8 +215,7 @@ // closes the jar handles and sets the url entries to null int i = 0; - while (i < this.urlSet.size()) { - URLEntry u = (URLEntry) this.urlSet.get(i); + for (URLEntry u : this.urlSet) { if (u.zip != null) { try { u.zip.reallyClose(); @@ -356,11 +345,12 @@ URL[] url = null; + int i=0; if (this.urlSet != null) { url = new URL[this.urlSet.size()]; - for (int i=0; i