[jboss-cvs] JBossAS SVN: r73143 - in trunk/server/src/main/org/jboss/deployment: dependency and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Thu May 8 02:15:24 EDT 2008


Author: scott.stark at jboss.org
Date: 2008-05-08 02:15:24 -0400 (Thu, 08 May 2008)
New Revision: 73143

Removed:
   trunk/server/src/main/org/jboss/deployment/plugin/BasicJndiBindingPolicy.java
Modified:
   trunk/server/src/main/org/jboss/deployment/MappedReferenceMetaDataResolverDeployer.java
   trunk/server/src/main/org/jboss/deployment/dependency/ContainerDependencyMetaData.java
Log:
Update for metadata 1.0.0.Beta13 changes

Modified: trunk/server/src/main/org/jboss/deployment/MappedReferenceMetaDataResolverDeployer.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/MappedReferenceMetaDataResolverDeployer.java	2008-05-08 06:14:45 UTC (rev 73142)
+++ trunk/server/src/main/org/jboss/deployment/MappedReferenceMetaDataResolverDeployer.java	2008-05-08 06:15:24 UTC (rev 73143)
@@ -34,7 +34,6 @@
 import org.jboss.deployers.structure.spi.DeploymentUnit;
 import org.jboss.deployment.dependency.ContainerDependencyMetaData;
 import org.jboss.deployment.dependency.JndiDependencyMetaData;
-import org.jboss.deployment.plugin.BasicJndiBindingPolicy;
 import org.jboss.deployment.plugin.MappedDeploymentEndpointResolver;
 import org.jboss.deployment.spi.DeploymentEndpointResolver;
 import org.jboss.deployment.spi.EndpointInfo;
@@ -47,9 +46,12 @@
 import org.jboss.metadata.ejb.jboss.JBossGenericBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
+import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy;
 import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.SessionJndiBindingPolicy;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DeploymentSummary;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.EjbDeploymentSummary;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces;
 import org.jboss.metadata.ejb.spec.BusinessLocalsMetaData;
 import org.jboss.metadata.ejb.spec.BusinessRemotesMetaData;
 import org.jboss.metadata.javaee.spec.AnnotatedEJBReferenceMetaData;
@@ -299,7 +301,25 @@
       JBossMetaData ejbMetaData = unit.getAttachment(JBossMetaData.class);
       JBossEnterpriseBeansMetaData beans = null;
       if(ejbMetaData != null)
+      {
+         if(ejbMetaData.getDeploymentSummary() == null)
+         {
+            DeploymentSummary deploymentSummary = new DeploymentSummary();
+            deploymentSummary.setDeploymentName(unit.getSimpleName());
+            if(unit.getTopLevel() != unit)
+            {
+               String deploymentScopeBaseName = unit.getTopLevel().getSimpleName();
+               int dot = deploymentScopeBaseName.lastIndexOf('.');
+               if(dot > 0)
+                  deploymentScopeBaseName = deploymentScopeBaseName.substring(0, dot);
+               deploymentSummary.setDeploymentScopeBaseName(deploymentScopeBaseName);
+            }
+            deploymentSummary.setLoader(unit.getClassLoader());
+            ejbMetaData.setDeploymentSummary(deploymentSummary);
+         }
          beans = ejbMetaData.getEnterpriseBeans();
+      }
+
       if(beans != null)
       {
          String vfsPath = unit.getRelativePath();
@@ -308,32 +328,13 @@
          {
             // The unique id for this ejb in the deployment
             String ejbCompID = prefix + "#" + bean.getEjbName();
-            String jndiName = getJndiName(bean, bean.isMessageDriven(), unit);
+            String jndiName = bean.determineResolvedJndiName(null, null);
             ContainerDependencyMetaData cdmd = new ContainerDependencyMetaData(jndiName, bean.getEjbName(), vfsPath);
             cdmd.setEjb3X(ejbMetaData.isEJB3x());
             // TODO, this is a mess that should be simply from the metadata
             ClassLoader loader = unit.getClassLoader();
             EjbDeploymentSummary unitSummary = getUnitSummary(unit, bean);
-            Class<? extends DefaultJndiBindingPolicy> defaultPolicyClass = null;
-            try
-            {
-               if(bean.getJBossMetaData().isEJB3x())
-               {
-                  String policyClassName = "org.jboss.ejb3.jndipolicy.impl.PackagingBasedJndiBindingPolicy";
-                  defaultPolicyClass = (Class<? extends DefaultJndiBindingPolicy>) loader.loadClass(policyClassName);
-               }
-               else if(bean.isSession())
-                  defaultPolicyClass = SessionJndiBindingPolicy.class;
-               else
-                  defaultPolicyClass = BasicJndiBindingPolicy.class;
-               DefaultJndiBindingPolicy policy = bean.createPolicy(loader, defaultPolicyClass);
-               cdmd.setJndiPolicy(policy);
-               cdmd.setUnitSummary(unitSummary);
-            }
-            catch(Exception e)
-            {
-               log.debug("Failed to create DefaultJndiBindingPolicy", e);
-            }
+            cdmd.setUnitSummary(unitSummary);
 
             endpointMap.put(ejbCompID, cdmd);
             // debug info for the mappings each ejb has
@@ -355,12 +356,11 @@
             if(bean instanceof JBossSessionBeanMetaData)
             {
                JBossSessionBeanMetaData sbean = (JBossSessionBeanMetaData) bean;
-               cdmd.addJndiName(sbean.determineJndiName());
-               cdmd.addJndiName(sbean.determineLocalJndiName());
                String ejbName = sbean.getEjbName();
                // home
                if(sbean.getHome() != null && sbean.getHome().length() > 0)
                {
+                  cdmd.addJndiName(sbean.determineResolvedJndiName(KnownInterfaces.HOME, null));
                   // Add ejb/vfsPath at iface
                   String home = sbean.getHome();
                   String ifacePath = prefix + "@" + home;
@@ -391,6 +391,7 @@
                // remote
                if(sbean.getRemote() != null && sbean.getRemote().length() > 0)
                {
+                  cdmd.addJndiName(sbean.determineResolvedJndiName(KnownInterfaces.REMOTE, null));
                   // Add ejb/vfsPath at iface
                   String remote = sbean.getRemote();
                   String ifacePath = prefix + "@" + remote;
@@ -421,6 +422,7 @@
                // local-home
                if(sbean.getLocalHome() != null && sbean.getLocalHome().length() > 0)
                {
+                  cdmd.addJndiName(sbean.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME, null));
                   // Add ejb/vfsPath at iface
                   String local = sbean.getLocalHome();
                   String ifacePath = prefix + "@" + local;
@@ -451,6 +453,7 @@
                // local
                if(sbean.getLocal() != null && sbean.getLocal().length() > 0)
                {
+                  cdmd.addJndiName(sbean.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME, null));
                   // Add ejb/vfsPath at iface
                   String local = sbean.getLocal();
                   String ifacePath = prefix + "@" + local;
@@ -637,7 +640,10 @@
             if(target != null)
             {
                cdmd.addDependency(target);
-               String containerJndiName = target.getContainerName();
+               // Determine the jndi name for the reference interface
+               String ifaceName = iface != null ? iface.getName() : null;
+               // Need to compare iface against the metadata local/local-home/home/remote
+               String containerJndiName = target.getBeanMetaData().determineResolvedJndiName(ifaceName, null);
                if(containerJndiName != null)
                   ref.setResolvedJndiName(containerJndiName);
             }
@@ -804,21 +810,9 @@
             else
             {
                cdmd.addDependency(target);
-               // Hacking to get the correct jndi name
-               String containerJndiName = target.getContainerName();
-               if(target.isEjb3X())
-               {
-                  DefaultJndiBindingPolicy jndiPolicy = target.getJndiPolicy();
-                  if(ref.getHome() != null && ref.getHome().length() > 0)
-                  {
-                     // From StatelessRemoteProxyFactory
-                     String homeJndiName = jndiPolicy.getDefaultRemoteHomeJndiName(target.getUnitSummary());
-                     String remoteBusinessJndiName = jndiPolicy.getDefaultRemoteJndiName(target.getUnitSummary());
-                     if(homeJndiName.equals(remoteBusinessJndiName) == false)
-                        containerJndiName = homeJndiName;
-                  }
-               }  
-
+               // Determine the jndi name for the reference interface
+               String iface = getInterface(ref);
+               String containerJndiName = target.getBeanMetaData().determineResolvedJndiName(iface, null);
                if(containerJndiName != null)
                   ref.setResolvedJndiName(containerJndiName);
             }
@@ -833,6 +827,14 @@
       }
    }
 
+   protected String getInterface(EJBReferenceMetaData ref)
+   {
+      String iface = ref.getHome();
+      if(iface == null)
+         iface = ref.getRemote();
+      return iface;
+   }
+
    protected void resolveMsgRefs(ContainerDependencyMetaData cdmd, DeploymentUnit unit,
          Map<String, ContainerDependencyMetaData> endpointMap,
          MessageDestinationReferencesMetaData msgRefs,

Modified: trunk/server/src/main/org/jboss/deployment/dependency/ContainerDependencyMetaData.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/dependency/ContainerDependencyMetaData.java	2008-05-08 06:14:45 UTC (rev 73142)
+++ trunk/server/src/main/org/jboss/deployment/dependency/ContainerDependencyMetaData.java	2008-05-08 06:15:24 UTC (rev 73143)
@@ -115,15 +115,6 @@
       return this.unitSummary.getBeanMD();
    }
 
-   public DefaultJndiBindingPolicy getJndiPolicy()
-   {
-      return jndiPolicy;
-   }
-   public void setJndiPolicy(DefaultJndiBindingPolicy jndiPolicy)
-   {
-      this.jndiPolicy = jndiPolicy;
-   }
-
    public EjbDeploymentSummary getUnitSummary()
    {
       return unitSummary;

Deleted: trunk/server/src/main/org/jboss/deployment/plugin/BasicJndiBindingPolicy.java
===================================================================
--- trunk/server/src/main/org/jboss/deployment/plugin/BasicJndiBindingPolicy.java	2008-05-08 06:14:45 UTC (rev 73142)
+++ trunk/server/src/main/org/jboss/deployment/plugin/BasicJndiBindingPolicy.java	2008-05-08 06:15:24 UTC (rev 73143)
@@ -1,63 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source
- * Copyright 2008, Red Hat Middleware LLC, and individual contributors
- * by the @authors tag. See the copyright.txt in the distribution for a
- * full listing of individual contributors.
- *
- * This is free software; you can redistribute it and/or modify it
- * under the terms of the GNU Lesser General Public License as
- * published by the Free Software Foundation; either version 2.1 of
- * the License, or (at your option) any later version.
- *
- * This software is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this software; if not, write to the Free
- * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
- * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
- */
-package org.jboss.deployment.plugin;
-
-import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
-import org.jboss.metadata.ejb.jboss.jndipolicy.spi.EjbDeploymentSummary;
-
-/**
- * Basic DefaultJndiBindingPolicy impl based on ejb/mapped name
- * @author Scott.Stark at jboss.org
- * @version $Revision:$
- */
-public class BasicJndiBindingPolicy
-   implements DefaultJndiBindingPolicy
-{
-
-   public String getDefaultLocalHomeJndiName(EjbDeploymentSummary summary)
-   {
-      return summary.getEjbName() + "LocalHome";
-   }
-
-   public String getDefaultLocalJndiName(EjbDeploymentSummary summary)
-   {
-      return summary.getEjbName() + "Local";
-   }
-
-   public String getDefaultRemoteHomeJndiName(EjbDeploymentSummary summary)
-   {
-      return summary.getEjbName() + "Home";
-   }
-
-   public String getDefaultRemoteJndiName(EjbDeploymentSummary summary)
-   {
-      return summary.getEjbName() + "Remote";
-   }
-
-   public String getJndiName(EjbDeploymentSummary summary)
-   {
-      String name = summary.getBeanMD().getMappedName();
-      if(name == null)
-         name = summary.getEjbName();
-      return name;
-   }
-}




More information about the jboss-cvs-commits mailing list