[jboss-cvs] JBossAS SVN: r100982 - trunk/server/src/main/java/org/jboss/web/deployers.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Feb 15 13:52:07 EST 2010
Author: remy.maucherat at jboss.com
Date: 2010-02-15 13:52:06 -0500 (Mon, 15 Feb 2010)
New Revision: 100982
Modified:
trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java
trunk/server/src/main/java/org/jboss/web/deployers/WarAnnotationMetaDataDeployer.java
Log:
- Add basic scanning meta data support for the war specific annotation deployer as well as the SCI deployer.
- This does not use path includes/excludes.
Modified: trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java 2010-02-15 18:13:38 UTC (rev 100981)
+++ trunk/server/src/main/java/org/jboss/web/deployers/ServletContainerInitializerDeployer.java 2010-02-15 18:52:06 UTC (rev 100982)
@@ -37,6 +37,7 @@
import javax.servlet.annotation.HandlesTypes;
import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.annotations.ScanningMetaData;
import org.jboss.deployers.spi.deployer.DeploymentStages;
import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
import org.jboss.deployers.structure.spi.DeploymentUnit;
@@ -76,6 +77,7 @@
{
setStage(DeploymentStages.POST_CLASSLOADER);
setInput(JBossWebMetaData.class);
+ addInput(ScanningMetaData.class);
addInput(MergedJBossWebMetaDataDeployer.WEB_ORDER_ATTACHMENT_NAME);
addInput(MergedJBossWebMetaDataDeployer.WEB_SCIS_ATTACHMENT_NAME);
addOutput(SCI_ATTACHMENT_NAME);
@@ -171,6 +173,7 @@
}
}
+ ScanningMetaData scanningMetaData = unit.getAttachment(ScanningMetaData.class);
Class<?>[] typesArray = typesMap.keySet().toArray(new Class<?>[0]);
// Find classes which extend, implement, or are annotated by HandlesTypes
if (typesArray.length > 0 && unit instanceof VFSDeploymentUnit)
@@ -181,9 +184,14 @@
{
for (VirtualFile classpathItem : classpath)
{
- HandlesTypesClassFilter classVisitor = new HandlesTypesClassFilter(vfsUnit, unit.getClassLoader(),
- classpathItem, typesArray, typesMap, handlesTypes);
- classpathItem.visit(classVisitor);
+ if (scanningMetaData == null
+ || !(scanningMetaData.getPaths() == null
+ || !scanningMetaData.getPaths().contains(classpathItem.getName())))
+ {
+ HandlesTypesClassFilter classVisitor = new HandlesTypesClassFilter(vfsUnit, unit.getClassLoader(),
+ classpathItem, typesArray, typesMap, handlesTypes);
+ classpathItem.visit(classVisitor);
+ }
}
}
catch (Exception e)
Modified: trunk/server/src/main/java/org/jboss/web/deployers/WarAnnotationMetaDataDeployer.java
===================================================================
--- trunk/server/src/main/java/org/jboss/web/deployers/WarAnnotationMetaDataDeployer.java 2010-02-15 18:13:38 UTC (rev 100981)
+++ trunk/server/src/main/java/org/jboss/web/deployers/WarAnnotationMetaDataDeployer.java 2010-02-15 18:52:06 UTC (rev 100982)
@@ -29,6 +29,7 @@
import java.util.Map;
import org.jboss.deployers.spi.DeploymentException;
+import org.jboss.deployers.spi.annotations.ScanningMetaData;
import org.jboss.deployers.spi.deployer.DeploymentStages;
import org.jboss.deployers.spi.deployer.helpers.AbstractDeployer;
import org.jboss.deployers.structure.spi.DeploymentUnit;
@@ -57,6 +58,7 @@
{
setStage(DeploymentStages.POST_CLASSLOADER);
addInput(WebMetaData.class);
+ addInput(ScanningMetaData.class);
addOutput(WEB_ANNOTATED_ATTACHMENT_NAME);
}
@@ -139,15 +141,21 @@
*/
protected void processMetaData(VFSDeploymentUnit unit, List<VirtualFile> classpath) throws Exception
{
+ ScanningMetaData scanningMetaData = unit.getAttachment(ScanningMetaData.class);
Map<VirtualFile, Collection<Class<?>>> classesPerJar = new HashMap<VirtualFile, Collection<Class<?>>>();
boolean foundAnnotations = false;
for (VirtualFile path : classpath)
{
- Collection<Class<?>> currentClasses = getClasses(unit, path);
- classesPerJar.put(path, currentClasses);
- if (currentClasses.size() > 0)
+ if (scanningMetaData == null
+ || !(scanningMetaData.getPaths() == null
+ || !scanningMetaData.getPaths().contains(path.getName())))
{
- foundAnnotations = true;
+ Collection<Class<?>> currentClasses = getClasses(unit, path);
+ classesPerJar.put(path, currentClasses);
+ if (currentClasses.size() > 0)
+ {
+ foundAnnotations = true;
+ }
}
}
if (foundAnnotations)
More information about the jboss-cvs-commits
mailing list