[jboss-cvs] JBossAS SVN: r75861 - projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Jul 15 22:27:36 EDT 2008
Author: ALRubinger
Date: 2008-07-15 22:27:36 -0400 (Tue, 15 Jul 2008)
New Revision: 75861
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/BasicJndiBindingPolicy.java
Log:
[JBMETA-75] Local Business JNDI Names should not be concerned with mapped-name when obtaining a base
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/BasicJndiBindingPolicy.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/BasicJndiBindingPolicy.java 2008-07-16 02:27:03 UTC (rev 75860)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/BasicJndiBindingPolicy.java 2008-07-16 02:27:36 UTC (rev 75861)
@@ -21,6 +21,7 @@
*/
package org.jboss.metadata.ejb.jboss.jndipolicy.plugins;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DefaultJndiBindingPolicy;
@@ -97,12 +98,27 @@
// EJB 3
switch (ifaceType)
{
- // base-name / (local|remote) - iface
+ // base-name/local(-iface)
case BUSINESS_LOCAL :
+
+ if (iface == null)
+ jndiName = baseJndiName + "/" + ifaceType.toSuffix();
+ else
+ jndiName = baseJndiName + "/" + ifaceType.toSuffix() + "-" + iface;
+
+ break;
+
+ // base-name/remote(-iface) || mappedName
case BUSINESS_REMOTE :
case UNKNOWN :
- String mappedName = summary.getBeanMD().getMappedName();
+ JBossEnterpriseBeanMetaData md = summary.getBeanMD();
+ String mappedName = null;
+ if (md.isSession())
+ {
+ mappedName = ((JBossSessionBeanMetaData) md).getJndiName();
+ }
+ mappedName = md.getMappedName();
// JBMETA-75
// Use mappedName if it's specified
@@ -160,21 +176,28 @@
private String getBaseJndiName(EjbDeploymentSummary summary)
{
String baseName = null;
+
+ JBossEnterpriseBeanMetaData md = summary.getBeanMD();
+ assert md !=null : JBossEnterpriseBeanMetaData.class.getSimpleName() + " is not set for " + summary;
//TODO Ugly, should be using polymorphism not runtime type checks w/ casting
- if (summary.getBeanMD().isSession())
+ if (md.isSession())
{
-
- baseName = ((JBossSessionBeanMetaData) summary.getBeanMD()).getJndiName();
+ assert md instanceof JBossSessionBeanMetaData : "Metadata reports as Session Bean but is not assignable to "
+ + JBossSessionBeanMetaData.class.getName();
+ JBossSessionBeanMetaData smd = (JBossSessionBeanMetaData) md;
+ baseName = smd.getJndiName();
+ if (baseName == null || baseName.trim().length() == 0)
+ {
+ baseName = smd.getEjbName();
+ }
}
- if (summary.getBeanMD().isEntity())
+ if (md.isEntity())
{
if (baseName == null || baseName.trim().length() == 0)
baseName = ((JBossEntityBeanMetaData) summary.getBeanMD()).getJndiName();
-
}
-
if (baseName == null || baseName.trim().length() == 0)
{
baseName = summary.getBeanMD().getEjbName();
More information about the jboss-cvs-commits
mailing list