[jboss-cvs] JBossAS SVN: r76014 - in projects/jboss-deployers/trunk: deployers-impl/src/main/org/jboss/deployers/plugins/annotations and 4 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Sat Jul 19 11:25:07 EDT 2008
Author: alesj
Date: 2008-07-19 11:25:06 -0400 (Sat, 19 Jul 2008)
New Revision: 76014
Modified:
projects/jboss-deployers/trunk/build/pom.xml
projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java
projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java
projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/classloading/AbstractResourceVisitorDeployer.java
projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/classloading/support/MockDeploymentClassLoaderPolicyModule.java
projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java
projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java
Log:
Updating deployers to use Module::visit with recursion filter.
Changing build/pom.xml to use CL snapshot - failing some ManifestCLUniteTestCases.
Modified: projects/jboss-deployers/trunk/build/pom.xml
===================================================================
--- projects/jboss-deployers/trunk/build/pom.xml 2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/build/pom.xml 2008-07-19 15:25:06 UTC (rev 76014)
@@ -24,7 +24,7 @@
<version.jboss.man>2.0.0.Beta12</version.jboss.man>
<version.jboss.mdr>2.0.0.Beta15</version.jboss.mdr>
<version.jboss.microcontainer>2.0.0.Beta16</version.jboss.microcontainer>
- <version.jboss.classloader>2.0.0.Beta12</version.jboss.classloader>
+ <version.jboss.classloader>2.0.0-SNAPSHOT</version.jboss.classloader>
<version.jboss.common.core>2.2.4.GA</version.jboss.common.core>
<version.jboss.common.logging.spi>2.0.4.GA</version.jboss.common.logging.spi>
<version.jboss.common.logging.log4j>2.0.4.GA</version.jboss.common.logging.log4j>
Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java 2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/FilteredGenericAnnotationDeployer.java 2008-07-19 15:25:06 UTC (rev 76014)
@@ -21,10 +21,8 @@
*/
package org.jboss.deployers.plugins.annotations;
-import javassist.ClassPool;
-import org.jboss.classloader.spi.filter.ClassFilter;
-import org.jboss.classloading.spi.dependency.Module;
import org.jboss.classloading.spi.visitor.ResourceFilter;
+import org.jboss.classloading.spi.dependency.Module;
import org.jboss.deployers.structure.spi.DeploymentUnit;
/**
@@ -39,8 +37,7 @@
public class FilteredGenericAnnotationDeployer extends GenericAnnotationDeployer
{
private ResourceFilter resourceFilter;
- private ClassFilter includedFilter;
- private ClassFilter excludedFilter;
+ private ResourceFilter recurseFilter;
/**
* Get filter.
@@ -61,23 +58,26 @@
return result;
}
- protected GenericAnnotationResourceVisitor createGenericAnnotationResourceVisitor(DeploymentUnit unit, ClassPool pool, ClassLoader classLoader)
+ /**
+ * We look for filter attachments:
+ * * org.jboss.classloading.spi.visitor.ResourceFilter.resource - plain resource filter
+ * * org.jboss.classloading.spi.visitor.ResourceFilter.recurse - recurse resource filter
+ *
+ * @see Module#visit(org.jboss.classloading.spi.visitor.ResourceVisitor, org.jboss.classloading.spi.visitor.ResourceFilter, org.jboss.classloading.spi.visitor.ResourceFilter)
+ *
+ * @param unit the deployment unit
+ * @param module the underlying module
+ * @param visitor the current generic annotation resource visitor
+ */
+ protected void visitModule(DeploymentUnit unit, Module module, GenericAnnotationResourceVisitor visitor)
{
- GenericAnnotationResourceVisitor visitor = super.createGenericAnnotationResourceVisitor(unit, pool, classLoader);
- ResourceFilter filter = getFilter(unit, ResourceFilter.class, null, resourceFilter);
+ ResourceFilter filter = getFilter(unit, ResourceFilter.class, "resource", resourceFilter);
if (filter != null)
- visitor.setResourceFilter(filter);
- return visitor;
+ filter = visitor.getFilter();
+ ResourceFilter recurse = getFilter(unit, ResourceFilter.class, "recurse", recurseFilter);
+ module.visit(visitor, filter, recurse);
}
- protected Module prepareModule(DeploymentUnit unit, Module original)
- {
- ClassFilter included = getFilter(unit, ClassFilter.class, "included", includedFilter);
- ClassFilter excluded = getFilter(unit, ClassFilter.class, "excluded", excludedFilter);
- // TODO - temp set this two
- return super.prepareModule(unit, original);
- }
-
/**
* Set resource filter.
*
@@ -89,22 +89,12 @@
}
/**
- * Set included class filter.
+ * Set recurse filter.
*
- * @param includedFilter included class filter
+ * @param recurseFilter the recurse filter
*/
- public void setIncludedFilter(ClassFilter includedFilter)
+ public void setRecurseFilter(ResourceFilter recurseFilter)
{
- this.includedFilter = includedFilter;
+ this.recurseFilter = recurseFilter;
}
-
- /**
- * Set excluded class filter.
- *
- * @param excludedFilter excluded class filter
- */
- public void setExcludedFilter(ClassFilter excludedFilter)
- {
- this.excludedFilter = excludedFilter;
- }
}
\ No newline at end of file
Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java 2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/annotations/GenericAnnotationDeployer.java 2008-07-19 15:25:06 UTC (rev 76014)
@@ -86,18 +86,18 @@
}
/**
- * Prepare module.
+ * Visit module.
*
* Util method to add some behavior to Module
* before we visit it.
*
* @param unit the deployment unit
- * @param original the original module
- * @return prepared module
+ * @param module the module
+ * @param visitor the resource visitor
*/
- protected Module prepareModule(DeploymentUnit unit, Module original)
+ protected void visitModule(DeploymentUnit unit, Module module, GenericAnnotationResourceVisitor visitor)
{
- return original;
+ module.visit(visitor);
}
public void deploy(DeploymentUnit unit, Module module) throws DeploymentException
@@ -113,8 +113,7 @@
Thread.currentThread().setContextClassLoader(classLoader);
try
{
- Module preparedModule = prepareModule(unit, module);
- preparedModule.visit(visitor);
+ visitModule(unit, module, visitor);
}
finally
{
Modified: projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/classloading/AbstractResourceVisitorDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/classloading/AbstractResourceVisitorDeployer.java 2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-impl/src/main/org/jboss/deployers/plugins/classloading/AbstractResourceVisitorDeployer.java 2008-07-19 15:25:06 UTC (rev 76014)
@@ -38,6 +38,7 @@
{
private ResourceVisitor visitor;
private ResourceFilter filter;
+ private ResourceFilter recurseFilter;
public AbstractResourceVisitorDeployer()
{
@@ -57,22 +58,46 @@
this.filter = filter;
}
+ public AbstractResourceVisitorDeployer(ResourceVisitor visitor, ResourceFilter filter, ResourceFilter recurseFilter)
+ {
+ this(visitor, filter);
+ this.recurseFilter = recurseFilter;
+ }
+
public void deploy(DeploymentUnit unit, Module module) throws DeploymentException
{
- ResourceVisitor currentVisitor = visitor;
+ ResourceVisitor currentVisitor = createVisitor(unit);
if (currentVisitor == null)
- currentVisitor = createVisitor(unit);
- ResourceFilter currentFilter = filter;
+ currentVisitor = visitor;
+ ResourceFilter currentFilter = createFilter(unit);
if (currentFilter == null)
- currentFilter = createFilter(unit);
+ currentFilter = filter;
+ ResourceFilter recurse = createRecurseFilter(unit);
+ if (recurse == null)
+ currentFilter = recurseFilter;
- if (currentFilter != null)
- module.visit(currentVisitor, currentFilter);
- else
- module.visit(currentVisitor);
+ visitModule(module, currentVisitor, currentFilter, recurse);
}
/**
+ * Visit module.
+ *
+ * By default we don't care if filters are null,
+ * we always visit Module's visit methods that takes all three.
+ * It should be up to uper classes if they want to differentiate between
+ * the Module::visit method.
+ *
+ * @param module the module
+ * @param visitor the visitor
+ * @param filter the filter
+ * @param recurse the recurse filter
+ */
+ protected void visitModule(Module module, ResourceVisitor visitor, ResourceFilter filter, ResourceFilter recurse)
+ {
+ module.visit(visitor, filter, recurse);
+ }
+
+ /**
* Create resource visitor from unit.
*
* @param unit the deployment unit
@@ -80,7 +105,7 @@
*/
protected ResourceVisitor createVisitor(DeploymentUnit unit)
{
- throw new UnsupportedOperationException("Missing resource visitor");
+ return null;
}
/**
@@ -93,4 +118,15 @@
{
return null;
}
+
+ /**
+ * Create recurse filter from unit.
+ *
+ * @param unit the deployment unit
+ * @return new recurse filter
+ */
+ protected ResourceFilter createRecurseFilter(DeploymentUnit unit)
+ {
+ return null;
+ }
}
\ No newline at end of file
Modified: projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/classloading/support/MockDeploymentClassLoaderPolicyModule.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/classloading/support/MockDeploymentClassLoaderPolicyModule.java 2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-impl/src/tests/org/jboss/test/deployers/classloading/support/MockDeploymentClassLoaderPolicyModule.java 2008-07-19 15:25:06 UTC (rev 76014)
@@ -153,7 +153,8 @@
return classLoader.getResource(path);
}
- public void visit(ResourceVisitor visitor, ResourceFilter filter)
+ @Override
+ public void visit(ResourceVisitor visitor, ResourceFilter filter, ResourceFilter recurseFilter)
{
MockClassLoadingMetaData mclmd = getClassLoadingMetaData();
String[] paths = mclmd.getPaths();
Modified: projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java 2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/main/org/jboss/deployers/vfs/plugins/classloader/VFSDeploymentClassLoaderPolicyModule.java 2008-07-19 15:25:06 UTC (rev 76014)
@@ -199,7 +199,7 @@
}
@Override
- public void visit(ResourceVisitor visitor, ResourceFilter filter)
+ public void visit(ResourceVisitor visitor, ResourceFilter filter, ResourceFilter recurseFilter)
{
ClassLoader classLoader = getClassLoader();
if (classLoader == null)
@@ -210,7 +210,7 @@
{
ClassFilter included = getIncluded();
ClassFilter excluded = getExcluded();
- VFSResourceVisitor.visit(roots, included, excluded, classLoader, visitor, filter);
+ VFSResourceVisitor.visit(roots, included, excluded, classLoader, visitor, filter, recurseFilter);
}
}
}
Modified: projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java
===================================================================
--- projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java 2008-07-19 13:35:44 UTC (rev 76013)
+++ projects/jboss-deployers/trunk/deployers-vfs/src/tests/org/jboss/test/deployers/vfs/structure/ear/support/MockEarStructureDeployer.java 2008-07-19 15:25:06 UTC (rev 76014)
@@ -319,7 +319,7 @@
ClassFilter included = null;
ClassFilter excluded = null;
ResourceFilter filter = org.jboss.classloading.spi.visitor.ClassFilter.INSTANCE;
- VFSResourceVisitor.visit(new VirtualFile[]{archive}, included, excluded, classLoader, visitor, filter);
+ VFSResourceVisitor.visit(new VirtualFile[]{archive}, included, excluded, classLoader, visitor, filter, null);
AnnotationEnvironment env = visitor.getEnv();
Integer ejbs = getType(env, Stateless.class, J2eeModuleMetaData.EJB);
More information about the jboss-cvs-commits
mailing list