[jboss-cvs] JBossAS SVN: r57434 - in projects/microcontainer/trunk/container/src/main/org/jboss/virtual: . plugins/context
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Wed Oct 4 19:52:24 EDT 2006
Author: bill.burke at jboss.com
Date: 2006-10-04 19:52:22 -0400 (Wed, 04 Oct 2006)
New Revision: 57434
Modified:
projects/microcontainer/trunk/container/src/main/org/jboss/virtual/VisitorAttributes.java
projects/microcontainer/trunk/container/src/main/org/jboss/virtual/plugins/context/AbstractVFSContext.java
Log:
allow ability to avoid recursing on visit if the child is an archive.
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/virtual/VisitorAttributes.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/virtual/VisitorAttributes.java 2006-10-04 23:47:45 UTC (rev 57433)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/virtual/VisitorAttributes.java 2006-10-04 23:52:22 UTC (rev 57434)
@@ -55,7 +55,20 @@
/** Whether to include hidden files */
private boolean includeHidden;
-
+
+ /** Whether to recurse archives or not */
+ private boolean recurseArchives;
+
+ public boolean isRecurseArchives()
+ {
+ return recurseArchives;
+ }
+
+ public void setRecurseArchives(boolean recurseArchives)
+ {
+ this.recurseArchives = recurseArchives;
+ }
+
/**
* Whether to visit leaves only<p>
*
Modified: projects/microcontainer/trunk/container/src/main/org/jboss/virtual/plugins/context/AbstractVFSContext.java
===================================================================
--- projects/microcontainer/trunk/container/src/main/org/jboss/virtual/plugins/context/AbstractVFSContext.java 2006-10-04 23:47:45 UTC (rev 57433)
+++ projects/microcontainer/trunk/container/src/main/org/jboss/virtual/plugins/context/AbstractVFSContext.java 2006-10-04 23:52:22 UTC (rev 57434)
@@ -128,8 +128,9 @@
boolean recurse = attributes.isRecurse();
boolean ignoreErrors = attributes.isIgnoreErrors();
boolean includeHidden = attributes.isIncludeHidden();
+ boolean recurseArchives = attributes.isRecurseArchives();
- visit(handler, visitor, includeRoot, leavesOnly, recurse, ignoreErrors, includeHidden);
+ visit(handler, visitor, includeRoot, leavesOnly, recurse, ignoreErrors, includeHidden, recurseArchives);
}
/**
@@ -145,7 +146,7 @@
* @param includeHidden whether to include hidden files
* @throws IOException for any problem accessing the virtual file system
*/
- protected void visit(VirtualFileHandler handler, VirtualFileHandlerVisitor visitor, boolean includeRoot, boolean leavesOnly, boolean recurse, boolean ignoreErrors, boolean includeHidden) throws IOException
+ protected void visit(VirtualFileHandler handler, VirtualFileHandlerVisitor visitor, boolean includeRoot, boolean leavesOnly, boolean recurse, boolean ignoreErrors, boolean includeHidden, boolean recurseArchives) throws IOException
{
// Visit the root when asked
if (includeRoot)
@@ -176,13 +177,16 @@
boolean isLeaf = child.isLeaf();
if (leavesOnly == false || isLeaf)
visitor.visit(child);
-
+
+ boolean allowArchives = true;
+ if (child.isArchive() && recurseArchives == false) allowArchives = false;
+
// Recurse when asked
- if (recurse && isLeaf == false)
+ if (recurse && isLeaf == false && allowArchives)
{
try
{
- visit(child, visitor, false, leavesOnly, recurse, ignoreErrors, includeHidden);
+ visit(child, visitor, false, leavesOnly, recurse, ignoreErrors, includeHidden, recurseArchives);
}
catch (StackOverflowError e)
{
More information about the jboss-cvs-commits
mailing list