[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