[jboss-cvs] JBossAS SVN: r81091 - projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Nov 15 07:44:29 EST 2008
Author: mstruk
Date: 2008-11-15 07:44:28 -0500 (Sat, 15 Nov 2008)
New Revision: 81091
Modified:
projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip/ZipEntryContext.java
projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip/ZipEntryHandler.java
Log:
JBVFS-77 Fixed the code so that all the tests pass now
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip/ZipEntryContext.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip/ZipEntryContext.java 2008-11-15 08:37:40 UTC (rev 81090)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip/ZipEntryContext.java 2008-11-15 12:44:28 UTC (rev 81091)
@@ -1115,7 +1115,8 @@
/**
- * Make sure url protocol is <em>vfszip</em>
+ * Make sure url protocol is <em>vfszip</em>.
+ * Also remove any '!' from URL
*
* @param rootURL the root url
* @return fixed url
@@ -1123,14 +1124,22 @@
*/
private static URL fixUrl(URL rootURL) throws MalformedURLException
{
+ String urlStr = rootURL.toExternalForm();
+ int pos = urlStr.indexOf("!");
+ if (pos != -1)
+ {
+ String tmp = urlStr.substring(0, pos);
+ if (pos < urlStr.length()-1)
+ tmp += urlStr.substring(pos+1);
+ urlStr = tmp;
+ }
if ("vfszip".equals(rootURL.getProtocol()) == false)
{
- String url = rootURL.toString();
- int pos = url.indexOf(":/");
+ pos = urlStr.indexOf(":/");
if (pos != -1)
- url = url.substring(pos);
+ urlStr = urlStr.substring(pos);
- return new URL("vfszip" + url);
+ return new URL("vfszip" + urlStr);
}
return rootURL;
}
Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip/ZipEntryHandler.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip/ZipEntryHandler.java 2008-11-15 08:37:40 UTC (rev 81090)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip/ZipEntryHandler.java 2008-11-15 12:44:28 UTC (rev 81091)
@@ -205,8 +205,23 @@
VirtualFileHandler peer = getLocalVFSContext().getRootPeer();
if (peer == null)
- return getZipEntryContext().getRealURL();
+ {
+ URL ctxURL = getZipEntryContext().getRealURL();
+ String ctxURLStr = ctxURL.toExternalForm();
+ if (ctxURLStr.endsWith("!/"))
+ {
+ String lpath = getLocalPathName();
+ if (lpath.startsWith("/"))
+ lpath = lpath.substring(1);
+ if (lpath.length() == 0)
+ return ctxURL;
+ else
+ return new URL(ctxURLStr + lpath);
+ }
+ return ctxURL;
+ }
+
if (peer instanceof AbstractVirtualFileHandler
&& ((AbstractVirtualFileHandler)peer).getLocalVFSContext() instanceof FileSystemContext)
{
More information about the jboss-cvs-commits
mailing list