[jboss-cvs] JBossAS SVN: r72158 - trunk/server/src/main/org/jboss/deployment.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Mon Apr 14 06:21:49 EDT 2008
Author: scott.stark at jboss.org
Date: 2008-04-14 06:21:49 -0400 (Mon, 14 Apr 2008)
New Revision: 72158
Modified:
trunk/server/src/main/org/jboss/deployment/AnnotationMetaDataDeployer.java
Log:
JBAS-5423, only consider spec metadata attachments
Modified: trunk/server/src/main/org/jboss/deployment/AnnotationMetaDataDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/AnnotationMetaDataDeployer.java 2008-04-14 10:07:06 UTC (rev 72157)
+++ trunk/server/src/main/org/jboss/deployment/AnnotationMetaDataDeployer.java 2008-04-14 10:21:49 UTC (rev 72158)
@@ -37,13 +37,11 @@
import org.jboss.metadata.annotation.creator.web.Web25MetaDataCreator;
import org.jboss.metadata.annotation.finder.AnnotationFinder;
import org.jboss.metadata.annotation.finder.DefaultAnnotationFinder;
-import org.jboss.metadata.client.jboss.JBossClientMetaData;
import org.jboss.metadata.client.spec.ApplicationClient5MetaData;
import org.jboss.metadata.client.spec.ApplicationClientMetaData;
import org.jboss.metadata.ejb.spec.EjbJar30MetaData;
import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
import org.jboss.metadata.ejb.spec.EjbJarMetaData;
-import org.jboss.metadata.web.jboss.JBossWebMetaData;
import org.jboss.metadata.web.spec.Web25MetaData;
import org.jboss.metadata.web.spec.WebMetaData;
import org.jboss.virtual.VirtualFile;
@@ -66,12 +64,14 @@
public AnnotationMetaDataDeployer()
{
setStage(DeploymentStages.POST_CLASSLOADER);
+ addInput(EjbJarMetaData.class);
+ addInput(WebMetaData.class);
+ addInput(ApplicationClientMetaData.class);
addOutput(EJB_ANNOTATED_ATTACHMENT_NAME);
addOutput(CLIENT_ANNOTATED_ATTACHMENT_NAME);
addOutput(WEB_ANNOTATED_ATTACHMENT_NAME);
}
-
public boolean isMetaDataCompleteIsDefault()
{
return metaDataCompleteIsDefault;
@@ -100,7 +100,7 @@
}
/**
- * Deploy a vfs deployment
+ * Process the
*
* @param unit the unit
* @throws DeploymentException for any error
@@ -108,28 +108,29 @@
protected void deploy(VFSDeploymentUnit unit)
throws DeploymentException
{
- // Ignore any metadata complete deployments
+ /* Ignore any spec metadata complete deployments. This expects that a
+ deployment unit only represents one of the client, ejb or web
+ deployments and its metadata completeness applies to the unit in terms
+ of whether annotations should be scanned for.
+ */
boolean isComplete = this.isMetaDataCompleteIsDefault();
- /* Since we haven't merged yet, JBossMetaData is not the authority on isMetadataComplete
- JBossMetaData jbossMetaData = unit.getAttachment(JBossMetaData.class);
- if(jbossMetaData != null)
- isComplete &= jbossMetaData.isMetadataComplete();
- */
EjbJarMetaData ejbJarMetaData = unit.getAttachment(EjbJarMetaData.class);
if(ejbJarMetaData != null && ejbJarMetaData instanceof EjbJar3xMetaData)
isComplete |= ((EjbJar3xMetaData) ejbJarMetaData).isMetadataComplete();
- JBossWebMetaData jbossWebMetaData = unit.getAttachment(JBossWebMetaData.class);
- if(jbossWebMetaData != null)
- isComplete |= jbossWebMetaData.isMetadataComplete();
- JBossClientMetaData jbossClientMetaData = unit.getAttachment(JBossClientMetaData.class);
- if(jbossClientMetaData != null)
- isComplete |= jbossClientMetaData.isMetadataComplete();
+ WebMetaData webMetaData = unit.getAttachment(WebMetaData.class);
+ if(webMetaData != null && webMetaData instanceof Web25MetaData)
+ {
+ isComplete |= ((Web25MetaData)webMetaData).isMetadataComplete();
+ }
+ ApplicationClientMetaData clientMetaData = unit.getAttachment(ApplicationClientMetaData.class);
+ if(clientMetaData != null)
+ isComplete |= clientMetaData.isMetadataComplete();
if(isComplete)
{
log.debug("Deployment is metadata-complete, skipping annotation processing"
- + ", ejbJarMetaData="+ejbJarMetaData
- + ", jbossWebMetaData="+jbossWebMetaData
- + ", jbossClientMetaData="+jbossClientMetaData
+ + ", ejbJarMetaData="+ejbJarMetaData
+ + ", jbossWebMetaData="+webMetaData
+ + ", jbossClientMetaData="+clientMetaData
+ ", metaDataCompleteIsDefault="+metaDataCompleteIsDefault
);
return;
@@ -175,9 +176,9 @@
if(classpathClasses.size() > 0)
{
AnnotationFinder<AnnotatedElement> finder = new DefaultAnnotationFinder<AnnotatedElement>();
- if(jbossWebMetaData != null)
+ if(webMetaData != null)
processJBossWebMetaData(unit, finder, classpathClasses);
- else if(jbossClientMetaData != null)
+ else if(clientMetaData != null)
processJBossClientMetaData(unit, finder, classpathClasses);
else
processJBossMetaData(unit, finder, classpathClasses);
More information about the jboss-cvs-commits
mailing list