[jboss-cvs] JBossAS SVN: r100223 - projects/weld-int/trunk/ejb/src/main/java/org/jboss/weld/integration/ejb.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Feb 1 15:51:17 EST 2010


Author: pete.muir at jboss.org
Date: 2010-02-01 15:51:16 -0500 (Mon, 01 Feb 2010)
New Revision: 100223

Modified:
   projects/weld-int/trunk/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBean31DescriptorAdaptor.java
   projects/weld-int/trunk/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBeanDescriptorAdaptor.java
Log:
Get the correct JNDI name for no-interface view EJBs

Modified: projects/weld-int/trunk/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBean31DescriptorAdaptor.java
===================================================================
--- projects/weld-int/trunk/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBean31DescriptorAdaptor.java	2010-02-01 20:40:15 UTC (rev 100222)
+++ projects/weld-int/trunk/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBean31DescriptorAdaptor.java	2010-02-01 20:51:16 UTC (rev 100223)
@@ -3,18 +3,31 @@
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.ejb3.common.resolvers.spi.EjbReferenceResolver;
 import org.jboss.metadata.ejb.jboss.JBossSessionBean31MetaData;
+import org.jboss.metadata.ejb.jboss.jndi.resolver.impl.JNDIPolicyBasedJNDINameResolverFactory;
+import org.jboss.metadata.ejb.jboss.jndi.resolver.spi.SessionBean31JNDINameResolver;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.DefaultJNDIBindingPolicyFactory;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
 
 public class JBossSessionBean31DescriptorAdaptor<T> extends JBossSessionBeanDescriptorAdaptor<T>
 {
 
-   
    public JBossSessionBean31DescriptorAdaptor(JBossSessionBean31MetaData sessionBeanMetaData, DeploymentUnit deploymentUnit, EjbReferenceResolver resolver)
    {
-      super(sessionBeanMetaData, deploymentUnit, resolver);
+      super(sessionBeanMetaData, deploymentUnit, resolver, getJndiName(sessionBeanMetaData));
       if (sessionBeanMetaData.isNoInterfaceBean())
       {
          getLocalBusinessInterfaces().add(new JBossBussinessInterfaceDescriptorAdaptor<T>(sessionBeanMetaData.getEjbClass(), sessionBeanMetaData.getEjbName(), deploymentUnit, resolver));
       }
+      
    }
-   
+
+   private static String getJndiName(JBossSessionBean31MetaData sessionBean)
+   {
+      DefaultJndiBindingPolicy jndiBindingPolicy = DefaultJNDIBindingPolicyFactory.getDefaultJNDIBindingPolicy();
+      // get a jndi name resolver for this session bean, based on a jndi binding
+      // policy
+      SessionBean31JNDINameResolver jndiNameResolver = JNDIPolicyBasedJNDINameResolverFactory.getJNDINameResolver(sessionBean, jndiBindingPolicy);
+      // no-interface view jndi name
+      return jndiNameResolver.resolveNoInterfaceJNDIName(sessionBean);
+   }
 }

Modified: projects/weld-int/trunk/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBeanDescriptorAdaptor.java
===================================================================
--- projects/weld-int/trunk/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBeanDescriptorAdaptor.java	2010-02-01 20:40:15 UTC (rev 100222)
+++ projects/weld-int/trunk/ejb/src/main/java/org/jboss/weld/integration/ejb/JBossSessionBeanDescriptorAdaptor.java	2010-02-01 20:51:16 UTC (rev 100223)
@@ -28,6 +28,11 @@
    
    public JBossSessionBeanDescriptorAdaptor(JBossSessionBeanMetaData sessionBeanMetaData, DeploymentUnit deploymentUnit, EjbReferenceResolver resolver)
    {
+      this(sessionBeanMetaData, deploymentUnit, resolver, sessionBeanMetaData.getLocalJndiName());
+   }
+   
+   public JBossSessionBeanDescriptorAdaptor(JBossSessionBeanMetaData sessionBeanMetaData, DeploymentUnit deploymentUnit, EjbReferenceResolver resolver, String jndiName)
+   {
       super(sessionBeanMetaData, deploymentUnit, resolver);
       this.localBusinessInterfaces = new ArrayList<BusinessInterfaceDescriptor<?>>();
       if (sessionBeanMetaData.getBusinessLocals() != null)
@@ -78,7 +83,7 @@
       this.stateful = sessionBeanMetaData.isStateful();
       this.stateless = sessionBeanMetaData.isStateless();
       this.singleton = false;
-      this.localJndiName = sessionBeanMetaData.getLocalJndiName();
+      this.localJndiName = jndiName;
       this.deploymentUnit = deploymentUnit;
    }
    




More information about the jboss-cvs-commits mailing list