[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