[jboss-cvs] JBossAS SVN: r75783 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/ejb and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Jul 14 11:53:12 EDT 2008


Author: ALRubinger
Date: 2008-07-14 11:53:11 -0400 (Mon, 14 Jul 2008)
New Revision: 75783

Modified:
   projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/BasicJndiBindingPolicy.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolveJndiNameDecoratorUnitTestCase.java
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolvedJndiNameUnitTestCase.java
Log:
[JBMETA-75] Use mapped-name only for default remote business interface, do not use as 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-14 15:47:43 UTC (rev 75782)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/BasicJndiBindingPolicy.java	2008-07-14 15:53:11 UTC (rev 75783)
@@ -101,7 +101,17 @@
                case BUSINESS_LOCAL :
                case BUSINESS_REMOTE :
                case UNKNOWN :
-                  if (iface == null)
+                  
+                  String mappedName = summary.getBeanMD().getMappedName();
+                  
+                  // JBMETA-75
+                  // Use mappedName if it's specified
+                  if(mappedName!=null && iface==null){
+                     jndiName = mappedName;
+                  }
+                  // JBMETA-75
+                  // Fall back on base JNDI Name + type suffix
+                  else if (iface == null)
                      jndiName = baseJndiName + "/" + ifaceType.toSuffix();
                   else
                      jndiName = baseJndiName + "/" + ifaceType.toSuffix() + "-" + iface;
@@ -149,22 +159,20 @@
 
    private String getBaseJndiName(EjbDeploymentSummary summary)
    {
-      String baseName = summary.getBeanMD().getMappedName();
+      String baseName = null;
 
       //TODO Ugly, should be using polymorphism not runtime type checks w/ casting
       if (summary.getBeanMD().isSession())
       {
-         if (baseName == null || baseName.trim().length() == 0)
-         {
-            baseName = ((JBossSessionBeanMetaData) summary.getBeanMD()).getJndiName();
-         }
+
+         baseName = ((JBossSessionBeanMetaData) summary.getBeanMD()).getJndiName();
       }
       if (summary.getBeanMD().isEntity())
       {
          if (baseName == null || baseName.trim().length() == 0)
-         {
+
             baseName = ((JBossEntityBeanMetaData) summary.getBeanMD()).getJndiName();
-         }
+
       }
 
       if (baseName == null || baseName.trim().length() == 0)

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolveJndiNameDecoratorUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolveJndiNameDecoratorUnitTestCase.java	2008-07-14 15:47:43 UTC (rev 75782)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolveJndiNameDecoratorUnitTestCase.java	2008-07-14 15:53:11 UTC (rev 75783)
@@ -73,18 +73,24 @@
    {
       // Obtain MD, set mappedName, and define expected values for resolution
       JBossSessionBeanMetaData beanMD = getDecoratedEjbMetaData();
-      beanMD.setMappedName("testResolvedJndiName-mapped-name");
-      String expected = "testResolvedJndiName-mapped-name/home";
+      String mappedName = "testResolvedJndiName-mapped-name";
+      beanMD.setMappedName(mappedName);
+      String expectedRemoteBusiness = mappedName;
+      String expectedHome = "testResolvedJndiNameWithMappedName-jndi-name/home";
       
       // Resolve
-      String resolved = beanMD.getHomeJndiName();
+      String resolvedRemoteBusiness = beanMD.getJndiName();
+      String resolvedHome = beanMD.getHomeJndiName();
       
       // Test
-      assertEquals(expected, resolved);
+      assertEquals("JNDI Target for default remote business interface in presense of mapped-name must be equal to mapped-name",expectedRemoteBusiness, resolvedRemoteBusiness);
+      assertEquals("JNDI Target for Remote Home in presense of a mapped-name is invalid",expectedHome, resolvedHome);
       
       // Test Deprecated, backwards-compat behavior (may be removed when these methods no longer exist, JBMETA-68)
-      String resolvedDeprecated = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
-      assertEquals(expected, resolvedDeprecated);
+      String resolvedDeprecatedRemote = beanMD.determineResolvedJndiName(KnownInterfaces.REMOTE, null);
+      String resolvedDeprecatedHome = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
+      assertEquals(expectedHome, resolvedDeprecatedHome);
+      assertEquals(expectedRemoteBusiness, resolvedDeprecatedRemote);
    }
 
    @SuppressWarnings(value="deprecation")

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolvedJndiNameUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolvedJndiNameUnitTestCase.java	2008-07-14 15:47:43 UTC (rev 75782)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolvedJndiNameUnitTestCase.java	2008-07-14 15:53:11 UTC (rev 75783)
@@ -54,7 +54,7 @@
    {
       JBossEnterpriseBeanMetaData beanMD = getEjbMetaData();
       beanMD.setMappedName("testResolvedJndiName-mapped-name");
-      String resolvedJndiName = beanMD.determineResolvedJndiName(null, null);
+      String resolvedJndiName = beanMD.determineResolvedJndiName(KnownInterfaces.REMOTE, null);
       assertEquals("testResolvedJndiName-mapped-name", resolvedJndiName);
    }
    public void testResolvedJndiNames()




More information about the jboss-cvs-commits mailing list