[jboss-cvs] JBossAS SVN: r75060 - in projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context: file and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Jun 25 10:00:25 EDT 2008


Author: mstruk
Date: 2008-06-25 10:00:25 -0400 (Wed, 25 Jun 2008)
New Revision: 75060

Modified:
   projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/AbstractVFSContext.java
   projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileSystemContext.java
   projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip/ZipEntryContext.java
Log:
Fixed context options propagation to mounted contexts

Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/AbstractVFSContext.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/AbstractVFSContext.java	2008-06-25 13:13:22 UTC (rev 75059)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/AbstractVFSContext.java	2008-06-25 14:00:25 UTC (rev 75060)
@@ -25,6 +25,7 @@
 import java.net.URI;
 import java.net.URISyntaxException;
 import java.net.URL;
+import java.net.MalformedURLException;
 import java.util.List;
 import java.util.Map;
 
@@ -121,6 +122,32 @@
       return rootOptions;
    }
 
+   /**
+    * Helper method to set options on an URL
+    *
+    * @param url  url to set options on
+    * @return url with query parameters
+    * @throws java.net.MalformedURLException if url manipulation fails
+    */
+   protected URL setOptionsToURL(URL url) throws MalformedURLException
+   {
+      if (rootOptions.size() == 0)
+         return url;
+
+      StringBuilder sb = new StringBuilder(url.toString());
+      sb.append("?");
+      int i = 0;
+      for (Map.Entry<String, String> ent : rootOptions.entrySet())
+      {
+         if (i > 0)
+            sb.append("&");
+         sb.append(ent.getKey()).append("=").append(ent.getValue());
+         i++;
+      }
+      
+      return new URL(sb.toString());
+   }
+
    public List<VirtualFileHandler> getChildren(VirtualFileHandler parent, boolean ignoreErrors) throws IOException
    {
       if (parent == null)

Modified: projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileSystemContext.java
===================================================================
--- projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileSystemContext.java	2008-06-25 13:13:22 UTC (rev 75059)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileSystemContext.java	2008-06-25 14:00:25 UTC (rev 75060)
@@ -275,6 +275,7 @@
       if (parent != null)
          delegatorUrl = getChildURL(parent, name);
 
+      delegatorUrl = setOptionsToURL(delegatorUrl);
       ZipEntryContext ctx = new ZipEntryContext(delegatorUrl, delegator, fileUrl);
 
       VirtualFileHandler handler = ctx.getRoot();
@@ -282,7 +283,7 @@
 
       return delegator;
    }
-   
+
    /**
     * Create a new virtual file handler
     * 

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-06-25 13:13:22 UTC (rev 75059)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip/ZipEntryContext.java	2008-06-25 14:00:25 UTC (rev 75060)
@@ -475,6 +475,7 @@
       if (parent != null)
          delegatorUrl = getChildURL(parent, name);
 
+      delegatorUrl = setOptionsToURL(delegatorUrl);
       ZipEntryContext ctx = new ZipEntryContext(delegatorUrl, delegator, fileUrl, true);
       VirtualFileHandler handler = ctx.getRoot();
       delegator.setDelegate(handler);
@@ -502,6 +503,7 @@
       if (parent != null)
          delegatorUrl = getChildURL(parent, name);
 
+      delegatorUrl = setOptionsToURL(delegatorUrl);
       ZipEntryContext ctx = new ZipEntryContext(delegatorUrl, delegator, wrapper, false);
       VirtualFileHandler handler = ctx.getRoot();
       delegator.setDelegate(handler);




More information about the jboss-cvs-commits mailing list