[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