[jboss-cvs] JBossAS SVN: r74527 - projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Fri Jun 13 06:47:01 EDT 2008


Author: alex.loubyansky at jboss.com
Date: 2008-06-13 06:47:01 -0400 (Fri, 13 Jun 2008)
New Revision: 74527

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossConsumerBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossServiceBeanMetaData.java
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
Log:
JBMETA-45

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossConsumerBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossConsumerBeanMetaData.java	2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossConsumerBeanMetaData.java	2008-06-13 10:47:01 UTC (rev 74527)
@@ -155,7 +155,7 @@
       List<LocalProducerMetaData> originalLocalProducers = null;
       List<MessagePropertiesMetaData> originalMsgProps = null;
       MethodAttributesMetaData originalMsg = null;
-      JBossConsumerBeanMetaData original = (JBossConsumerBeanMetaData) originalEjb;      
+      JBossConsumerBeanMetaData original = originalEjb instanceof JBossGenericBeanMetaData ? null : (JBossConsumerBeanMetaData) originalEjb;      
       if(original != null)
       {
          if(original.destination != null)
@@ -173,7 +173,7 @@
       List<LocalProducerMetaData> overrideLocalProducers = null;
       List<MessagePropertiesMetaData> overrideMsgProps = null;
       MethodAttributesMetaData overrideMsg = null;
-      JBossConsumerBeanMetaData override = (JBossConsumerBeanMetaData) overrideEjb;
+      JBossConsumerBeanMetaData override = overrideEjb instanceof JBossGenericBeanMetaData ? null : (JBossConsumerBeanMetaData) overrideEjb;
       if(override != null)
       {
          if(override.destination != null)

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java	2008-06-13 10:47:01 UTC (rev 74527)
@@ -211,6 +211,21 @@
    }
 
    /**
+    * @return returns a new instance of the same type
+    */
+   public JBossEnterpriseBeanMetaData newBean()
+   {
+      try
+      {
+         return getClass().newInstance();
+      }
+      catch (Exception e)
+      {
+         throw new IllegalStateException("Failed to create a new instance of " + getClass(), e);
+      }
+   }
+   
+   /**
     * Create a new EnterpriseBeanMetaData.
     */
    public JBossEnterpriseBeanMetaData()
@@ -489,6 +504,12 @@
       return false;
    }
 
+   @XmlTransient
+   public boolean isGeneric()
+   {
+      return false;
+   }
+   
    /**
     * Is this container managed transactions
     * 
@@ -1925,8 +1946,17 @@
             securityIdentity = new SecurityIdentityMetaData();
          securityIdentity.merge(overrideSecId, originalSecId);
       }
+      
+      if(original instanceof JBossGenericBeanMetaData)
+         merge((JBossGenericBeanMetaData)original);
+      if(override instanceof JBossGenericBeanMetaData)
+         merge((JBossGenericBeanMetaData)override);
    }
    
+   protected void merge(JBossGenericBeanMetaData generic)
+   {  
+   }
+   
    public void checkValid()
    {
    }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java	2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java	2008-06-13 10:47:01 UTC (rev 74527)
@@ -265,12 +265,12 @@
             if(annBean != null)
             {
                JBossEnterpriseBeanMetaData mbean;
-               if(bean.isSession())
-                  mbean = new JBossSessionBeanMetaData();
-               else if(bean.isEntity())
-                  mbean = new JBossEntityBeanMetaData();
+               if(!bean.isGeneric())
+                  mbean = bean.newBean();
+               else if(!annBean.isGeneric())
+                  mbean = annBean.newBean();
                else
-                  mbean = new JBossMessageDrivenBeanMetaData();
+                  throw new IllegalStateException("Attempt to merge to generic beans.");
                mbean.merge(bean, annBean);
                add(mbean);
             }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java	2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEntityBeanMetaData.java	2008-06-13 10:47:01 UTC (rev 74527)
@@ -847,7 +847,7 @@
       SecurityRoleRefsMetaData originalRoles = null;
       ClusterConfigMetaData originalCluster = null;
       CacheInvalidationConfigMetaData originalCacheInv = null;
-      JBossEntityBeanMetaData original = (JBossEntityBeanMetaData) originalEjb;
+      JBossEntityBeanMetaData original = originalEjb instanceof JBossGenericBeanMetaData ? null : (JBossEntityBeanMetaData) originalEjb;
       if(original != null)
       {
          if(original.abstractSchemaName != null)
@@ -895,7 +895,7 @@
       SecurityRoleRefsMetaData overrideRoles = null;
       ClusterConfigMetaData overrideCluster = null;
       CacheInvalidationConfigMetaData overrideCacheInv = null;
-      JBossEntityBeanMetaData override = (JBossEntityBeanMetaData) overrideEjb;
+      JBossEntityBeanMetaData override = overrideEjb instanceof JBossGenericBeanMetaData ? null : (JBossEntityBeanMetaData) overrideEjb;
       if(override != null)
       {
          if(override.abstractSchemaName != null)
@@ -967,4 +967,14 @@
          cacheInvalidationConfig.merge(overrideCacheInv, originalCacheInv);
       }
    }
+   
+   @Override
+   protected void merge(JBossGenericBeanMetaData generic)
+   {
+      if(generic != null)
+      {
+         if(generic.getJndiName() != null)
+            this.jndiName = generic.getJndiName();
+      }
+   }
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java	2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnvironmentRefsGroupMetaData.java	2008-06-13 10:47:01 UTC (rev 74527)
@@ -213,7 +213,7 @@
    
    public void merge(JBossEnvironmentRefsGroupMetaData override, JBossEnvironmentRefsGroupMetaData original)
    {
-      super.merge(override, original, "jboss.xml", null, true);
+      super.merge(override, original, "deployment descriptors", "annotations", false);
       
       EJBLocalReferencesMetaData originalLocalRefs = null;
       PersistenceContextReferencesMetaData originalPctxRefs = null;

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java	2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossGenericBeanMetaData.java	2008-06-13 10:47:01 UTC (rev 74527)
@@ -23,7 +23,6 @@
 
 import javax.xml.bind.annotation.XmlType;
 
-import org.jboss.metadata.common.ejb.IEnterpriseBeanMetaData;
 import org.jboss.metadata.javaee.spec.PortComponent;
 
 /**
@@ -97,4 +96,10 @@
    {
       this.portComponent = portComponent;
    }
+   
+   @Override
+   public boolean isGeneric()
+   {
+      return true;
+   }
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java	2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMessageDrivenBeanMetaData.java	2008-06-13 10:47:01 UTC (rev 74527)
@@ -660,8 +660,8 @@
    {
       super.merge(overrideEjb, originalEjb);
       
-      JBossMessageDrivenBeanMetaData override = (JBossMessageDrivenBeanMetaData) overrideEjb;
-      JBossMessageDrivenBeanMetaData original = (JBossMessageDrivenBeanMetaData) originalEjb;
+      JBossMessageDrivenBeanMetaData override = overrideEjb instanceof JBossGenericBeanMetaData ? null: (JBossMessageDrivenBeanMetaData) overrideEjb;
+      JBossMessageDrivenBeanMetaData original = originalEjb instanceof JBossGenericBeanMetaData ? null: (JBossMessageDrivenBeanMetaData) originalEjb;
       
       ActivationConfigMetaData originalAConfig = null;
       AroundInvokesMetaData originalAInvokes = null;
@@ -758,4 +758,14 @@
          ejbTimeoutIdentity.merge(overrideEjbTimeoutIdentity, originalEjbTimeoutIdentity);
       }
    }
+   
+   @Override
+   protected void merge(JBossGenericBeanMetaData generic)
+   {
+      if(generic != null)
+      {
+         if(generic.getJndiName() != null)
+            this.destinationJndiName = generic.getJndiName();
+      }
+   }
 }

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossServiceBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossServiceBeanMetaData.java	2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossServiceBeanMetaData.java	2008-06-13 10:47:01 UTC (rev 74527)
@@ -105,8 +105,8 @@
    public void merge(JBossEnterpriseBeanMetaData overrideEjb, JBossEnterpriseBeanMetaData originalEjb)
    {
       super.merge(overrideEjb, originalEjb);
-      JBossServiceBeanMetaData override = (JBossServiceBeanMetaData) overrideEjb;
-      JBossServiceBeanMetaData original = (JBossServiceBeanMetaData) originalEjb;
+      JBossServiceBeanMetaData override = overrideEjb instanceof JBossGenericBeanMetaData ? null : (JBossServiceBeanMetaData) overrideEjb;
+      JBossServiceBeanMetaData original = originalEjb instanceof JBossGenericBeanMetaData ? null : (JBossServiceBeanMetaData) originalEjb;
       
       if(original != null)
       {

Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java	2008-06-13 10:15:27 UTC (rev 74526)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java	2008-06-13 10:47:01 UTC (rev 74527)
@@ -928,13 +928,13 @@
    }
    
    @Override
-   public void merge(JBossEnterpriseBeanMetaData override,
-         JBossEnterpriseBeanMetaData original)
+   public void merge(JBossEnterpriseBeanMetaData override, JBossEnterpriseBeanMetaData original)
    {
       super.merge(override, original);
 
-      JBossSessionBeanMetaData joverride = (JBossSessionBeanMetaData) override;
-      JBossSessionBeanMetaData soriginal = (JBossSessionBeanMetaData) original;
+      JBossSessionBeanMetaData joverride = override instanceof JBossGenericBeanMetaData ? null : (JBossSessionBeanMetaData) override;
+      JBossSessionBeanMetaData soriginal = original instanceof JBossGenericBeanMetaData ? null : (JBossSessionBeanMetaData) original;
+
       // home
       if(joverride != null && joverride.getHome() != null)
          home = joverride.getHome();
@@ -1073,6 +1073,18 @@
    }
 
    @Override
+   protected void merge(JBossGenericBeanMetaData generic)
+   {
+      if(generic != null)
+      {
+         if(generic.getPortComponent() != null)
+            this.portComponent = generic.getPortComponent();
+         if(generic.getJndiName() != null)
+            this.jndiName = generic.getJndiName();
+      }
+   }
+
+   @Override
    public void checkValid()
    {
       if(getEnterpriseBeansMetaData() != null && getEjbJarMetaData() != null)




More information about the jboss-cvs-commits mailing list