[jboss-cvs] JBossAS SVN: r81214 - 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
Tue Nov 18 05:29:22 EST 2008


Author: alesj
Date: 2008-11-18 05:29:21 -0500 (Tue, 18 Nov 2008)
New Revision: 81214

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:
Override getOptions and getEH in ZipEntryContext.
Remove merge.

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-11-18 09:47:23 UTC (rev 81213)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/AbstractVFSContext.java	2008-11-18 10:29:21 UTC (rev 81214)
@@ -128,6 +128,17 @@
    }
 
    /**
+    * Get peer vfs context.
+    *
+    * @return the peer context
+    */
+   protected VFSContext getPeerContext()
+   {
+      VirtualFileHandler peer = getRootPeer();
+      return peer != null ? peer.getVFSContext() : null;
+   }
+
+   /**
     * Helper method to set options on an URL
     *
     * @param url  url to set options on
@@ -153,33 +164,6 @@
       return new URL(sb.toString());
    }
 
-   /**
-    * Merge source context with this.
-    *
-    * @param target the vfs context source
-    */
-   protected void mergeContexts(VFSContext target)
-   {
-      if (target.getExceptionHandler() == null)
-         target.setExceptionHandler(getExceptionHandler());
-
-      mergeOptions(target);
-   }
-
-   /**
-    * Merge options.
-    *
-    * @param target the vfs context target
-    */
-   private void mergeOptions(VFSContext target)
-   {
-      Map<String, String> sourceOptions = getOptions();
-      if (sourceOptions != null && sourceOptions.isEmpty() == false)
-      {
-         target.getOptions().putAll(sourceOptions);
-      }
-   }
-
    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-11-18 09:47:23 UTC (rev 81213)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/file/FileSystemContext.java	2008-11-18 10:29:21 UTC (rev 81214)
@@ -278,7 +278,6 @@
 
       delegatorUrl = setOptionsToURL(delegatorUrl);
       ZipEntryContext ctx = new ZipEntryContext(delegatorUrl, delegator, fileUrl);
-      mergeContexts(ctx);
 
       VirtualFileHandler handler = ctx.getRoot();
       delegator.setDelegate(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-11-18 09:47:23 UTC (rev 81213)
+++ projects/vfs/trunk/src/main/java/org/jboss/virtual/plugins/context/zip/ZipEntryContext.java	2008-11-18 10:29:21 UTC (rev 81214)
@@ -58,6 +58,7 @@
 import org.jboss.virtual.plugins.copy.AbstractCopyMechanism;
 import org.jboss.virtual.spi.ExceptionHandler;
 import org.jboss.virtual.spi.VirtualFileHandler;
+import org.jboss.virtual.spi.VFSContext;
 
 /**
  * <tt>ZipEntryContext</tt> implements a {@link org.jboss.virtual.spi.VFSContext}
@@ -250,6 +251,26 @@
       //initEntries();
    }
 
+   public Map<String, String> getOptions()
+   {
+      Map<String, String> options = new HashMap<String, String>();
+      VFSContext peerContext = getPeerContext();
+      if (peerContext != null)
+         options.putAll(peerContext.getOptions());
+      options.putAll(super.getOptions()); // put them after peer, possible override
+      return options;
+   }
+
+   public ExceptionHandler getExceptionHandler()
+   {
+      ExceptionHandler eh = super.getExceptionHandler();
+      if (eh != null)
+         return eh;
+
+      VFSContext peerContext = getPeerContext();
+      return peerContext != null ? peerContext.getExceptionHandler() : null;
+   }
+
    /**
     * Create zip source.
     *
@@ -536,7 +557,6 @@
 
       delegatorUrl = setOptionsToURL(delegatorUrl);
       ZipEntryContext ctx = new ZipEntryContext(delegatorUrl, delegator, fileUrl, true);
-      mergeContexts(ctx);
 
       VirtualFileHandler handler = ctx.getRoot();
       delegator.setDelegate(handler);
@@ -566,7 +586,6 @@
 
       delegatorUrl = setOptionsToURL(delegatorUrl);
       ZipEntryContext ctx = new ZipEntryContext(delegatorUrl, delegator, wrapper, false);
-      mergeContexts(ctx);
 
       VirtualFileHandler handler = ctx.getRoot();
       delegator.setDelegate(handler);




More information about the jboss-cvs-commits mailing list