[jboss-cvs] JBossAS SVN: r73607 - trunk/ejb3/src/main/org/jboss/ejb3/deployers.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu May 22 22:06:15 EDT 2008


Author: scott.stark at jboss.org
Date: 2008-05-22 22:06:15 -0400 (Thu, 22 May 2008)
New Revision: 73607

Modified:
   trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java
Log:
work around for JBCTS-800

Modified: trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java
===================================================================
--- trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java	2008-05-23 02:00:35 UTC (rev 73606)
+++ trunk/ejb3/src/main/org/jboss/ejb3/deployers/JBossASKernel.java	2008-05-23 02:06:15 UTC (rev 73607)
@@ -38,6 +38,7 @@
 import org.jboss.beans.metadata.plugins.AbstractBeanMetaData;
 import org.jboss.beans.metadata.plugins.AbstractConstructorMetaData;
 import org.jboss.beans.metadata.plugins.AbstractDemandMetaData;
+import org.jboss.beans.metadata.plugins.AbstractSupplyMetaData;
 import org.jboss.beans.metadata.plugins.AbstractValueMetaData;
 import org.jboss.beans.metadata.spi.BeanMetaDataFactory;
 import org.jboss.beans.metadata.spi.DemandMetaData;
@@ -105,12 +106,28 @@
       }
 
       // Create the metadata for the bean to install
+      // Hack for JBCTS-800
+      String extraSupplyName = null;
+      if(name.startsWith("persistence.units:"))
+      {
+         if(name.startsWith("persistence.units:unitName=") == false)
+         {
+            // Build the simple persistence.units:unitName=xxx as a supplies
+            int unitName = name.indexOf("unitName=");
+            if(unitName > 0)
+            {
+               extraSupplyName = "persistence.units:" + name.substring(unitName);
+            }
+         }
+      }
+      MCDependencyPolicy policy = (MCDependencyPolicy) dependencies;
       AbstractBeanMetaData bean = new AbstractBeanMetaData(name, service.getClass().getName());
       bean.setConstructor(new AlreadyInstantiated(service));
-      MCDependencyPolicy policy = (MCDependencyPolicy) dependencies;
       bean.setDepends(policy.getDependencies());
       bean.setDemands(policy.getDemands());
       bean.setSupplies(policy.getSupplies());
+      if(extraSupplyName != null)
+         bean.getSupplies().add(new AbstractSupplyMetaData(extraSupplyName));
       log.info("installing bean: " + name);
       log.info("  with dependencies:");
       for (Object obj : policy.getDependencies())




More information about the jboss-cvs-commits mailing list