[jboss-cvs] JBossAS SVN: r107124 - projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/base.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jul 27 16:13:36 EDT 2010
Author: alesj
Date: 2010-07-27 16:13:36 -0400 (Tue, 27 Jul 2010)
New Revision: 107124
Modified:
projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/base/ClassLoaderInformation.java
Log:
No need for dumb temp collections; a*b = b*a. ;-)
Modified: projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/base/ClassLoaderInformation.java
===================================================================
--- projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/base/ClassLoaderInformation.java 2010-07-27 19:56:31 UTC (rev 107123)
+++ projects/jboss-cl/trunk/classloader/src/main/java/org/jboss/classloader/spi/base/ClassLoaderInformation.java 2010-07-27 20:13:36 UTC (rev 107124)
@@ -22,7 +22,6 @@
package org.jboss.classloader.spi.base;
import java.net.URL;
-import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.List;
@@ -353,8 +352,6 @@
String[] packageNames = policy.getPackageNames();
if (packageNames != null && packageNames.length > 0)
{
- // lets first build a list of possible maps
- List<Map<String, List<Loader>>> maps = new ArrayList<Map<String, List<Loader>>>();
for (ImportType type : types)
{
Map<String, List<Loader>> map = index.get(type);
@@ -363,12 +360,7 @@
map = new ConcurrentHashMap<String, List<Loader>>();
index.put(type, map);
}
- maps.add(map);
- }
- // single package iteration
- for (String pn : packageNames)
- {
- for (Map<String, List<Loader>> map : maps)
+ for (String pn : packageNames)
{
List<Loader> loaders = map.get(pn);
if (loaders == null)
@@ -393,31 +385,26 @@
{
if (policy == null)
return;
-
+
String[] packageNames = policy.getPackageNames();
if (packageNames != null && packageNames.length > 0)
{
- // lets first build a list of possible maps
- Map<ImportType, Map<String, List<Loader>>> maps = new HashMap<ImportType, Map<String, List<Loader>>>();
for (ImportType type : types)
{
Map<String, List<Loader>> map = index.get(type);
if (map != null)
- maps.put(type, map);
- }
- // single package iteration
- for (String pn : packageNames)
- {
- for (Map.Entry<ImportType, Map<String, List<Loader>>> entry : maps.entrySet())
{
- Map<String, List<Loader>> map = entry.getValue();
- List<Loader> loaders = map.get(pn);
- if (loaders != null)
+ for (String pn : packageNames)
{
- if (loaders.remove(loader) && loaders.isEmpty())
+ List<Loader> loaders = map.get(pn);
+ if (loaders != null)
{
- if (map.remove(pn) != null && map.isEmpty())
- index.remove(entry.getKey());
+ if (loaders.remove(loader) && loaders.isEmpty())
+ {
+ map.remove(pn); // remove returns loaders
+ if (map.isEmpty())
+ index.remove(type);
+ }
}
}
}
More information about the jboss-cvs-commits
mailing list