[jboss-cvs] JBossAS SVN: r62090 - in trunk/ejb3/src: resources/schema and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Wed Apr 4 14:05:37 EDT 2007


Author: wolfc
Date: 2007-04-04 14:05:37 -0400 (Wed, 04 Apr 2007)
New Revision: 62090

Modified:
   trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
   trunk/ejb3/src/resources/schema/jboss_5_0.xsd
Log:
EJBTHREE-936: generic bean fixes

Modified: trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java	2007-04-04 18:00:24 UTC (rev 62089)
+++ trunk/ejb3/src/main/org/jboss/ejb3/Ejb3DescriptorHandler.java	2007-04-04 18:05:37 UTC (rev 62090)
@@ -111,6 +111,7 @@
 import org.jboss.ejb3.metamodel.EnterpriseBean;
 import org.jboss.ejb3.metamodel.EnterpriseBeans;
 import org.jboss.ejb3.metamodel.ExcludeList;
+import org.jboss.ejb3.metamodel.GenericBean;
 import org.jboss.ejb3.metamodel.InitMethod;
 import org.jboss.ejb3.metamodel.InterceptorBinding;
 import org.jboss.ejb3.metamodel.MessageDestination;
@@ -499,7 +500,16 @@
 
       container.setAssemblyDescriptor(dd.getAssemblyDescriptor());
 
-      addMDBAnnotations(container, ejbName, enterpriseBean);
+      if(enterpriseBean instanceof MessageDrivenBean)
+         addMDBAnnotations(container, ejbName, (MessageDrivenBean) enterpriseBean);
+      else if(enterpriseBean instanceof GenericBean)
+      {
+         // EJBTHREE-936: TODO: unsupported wickedness starts here
+         MessageDrivenBean mdb = new MessageDrivenBean();
+         mdb.setDestinationJndiName(enterpriseBean.getJndiName());
+         
+         addMDBAnnotations(container, ejbName, mdb);
+      }
 
       addInterfaces(container, enterpriseBean);
 
@@ -532,12 +542,10 @@
    }
 
    private void addMDBAnnotations(MDB container, String ejbName,
-         EnterpriseBean enterpriseBean)
+         MessageDrivenBean mdb)
    {
-      if (enterpriseBean != null)
+      if (mdb != null)
       {
-         MessageDrivenBean mdb = (MessageDrivenBean) enterpriseBean;
-
          ArrayList properties = new ArrayList();
          if (mdb.getAcknowledgeMode() != null)
             properties.add(new ActivationConfigPropertyImpl("acknowledgeMode",
@@ -703,6 +711,18 @@
    private void addDescriptorAnnotations(EJBContainer container,
          EnterpriseBean enterpriseBean, String ejbName) throws Exception
    {
+      // EJBTHREE-936: TODO: another wicked patch: jndi-name might mean local-jndi-name
+      // TODO: Make sure this is done after addInterfaces!
+      if(enterpriseBean instanceof GenericBean)
+      {
+         Class[] remoteInterfaces = ProxyFactoryHelper.getRemoteInterfaces(container);
+         if(remoteInterfaces == null)
+         {
+            enterpriseBean.setLocalJndiName(enterpriseBean.getJndiName());
+            enterpriseBean.setJndiName(null);
+         }
+      }
+      
       container.setXml(enterpriseBean);
 
       addTransactionAnnotations(container, enterpriseBean, ejbName);

Modified: trunk/ejb3/src/resources/schema/jboss_5_0.xsd
===================================================================
(Binary files differ)




More information about the jboss-cvs-commits mailing list