[jboss-cvs] JBossAS SVN: r57724 - projects/microcontainer/trunk/container/src/main/org/jboss/virtual/plugins/context/jar
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Thu Oct 19 00:56:41 EDT 2006
Author: scott.stark at jboss.org
Date: 2006-10-19 00:56:39 -0400 (Thu, 19 Oct 2006)
New Revision: 57724
Modified:
projects/microcontainer/trunk/container/src/main/org/jboss/virtual/plugins/context/jar/AbstractJarHandler.java
Log:
Just use a simple list for the level entries as the name was unused and lead to conflicts when subpackage names collided.
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/virtual/plugins/context/jar/AbstractJarHandler.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/virtual/plugins/context/jar/AbstractJarHandler.java 2006-10-19 04:54:55 UTC (rev 57723)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/virtual/plugins/context/jar/AbstractJarHandler.java 2006-10-19 04:56:39 UTC (rev 57724)
@@ -33,7 +33,6 @@
import java.util.Collections;
import java.util.Enumeration;
import java.util.HashMap;
-import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.jar.JarEntry;
@@ -127,7 +126,7 @@
// Go through and create a structured representation of the jar
Map<String, VirtualFileHandler> parentMap = new HashMap<String, VirtualFileHandler>();
- ArrayList<LinkedHashMap<String,JarEntry>> levelMapList = new ArrayList<LinkedHashMap<String,JarEntry>>();
+ ArrayList<ArrayList<JarEntry>> levelMapList = new ArrayList<ArrayList<JarEntry>>();
entries = new ArrayList<VirtualFileHandler>();
entryMap = new HashMap<String, VirtualFileHandler>();
boolean trace = log.isTraceEnabled();
@@ -139,17 +138,20 @@
if( depth >= levelMapList.size() )
{
for(int n = levelMapList.size(); n <= depth; n ++)
- levelMapList.add(new LinkedHashMap<String,JarEntry>());
+ levelMapList.add(new ArrayList<JarEntry>());
}
- LinkedHashMap<String,JarEntry> levelMap = levelMapList.get(depth);
- levelMap.put(paths[depth-1], entry);
+ ArrayList<JarEntry> levelMap = levelMapList.get(depth);
+ levelMap.add(entry);
if( trace )
log.trace("added "+entry.getName()+" at depth "+depth);
}
// Process each level to build the handlers in parent first order
- for(LinkedHashMap<String,JarEntry> levelMap : levelMapList)
+ int level = 0;
+ for(ArrayList<JarEntry> levels : levelMapList)
{
- for(JarEntry entry : levelMap.values())
+ if( trace )
+ log.trace("Level("+level++ +"): "+levels);
+ for(JarEntry entry : levels)
{
String name = entry.getName();
int slash = entry.isDirectory() ? name.lastIndexOf('/', name.length()-2) :
@@ -168,7 +170,11 @@
entryName = name.substring(start, end);
VirtualFileHandler handler = this.createVirtualFileHandler(parent, entry, entryName);
if( entry.isDirectory() )
+ {
parentMap.put(name, handler);
+ if( trace )
+ log.trace("Added parent: "+name);
+ }
if( parent == this )
{
// This is an immeadiate child of the jar handler
More information about the jboss-cvs-commits
mailing list