[jboss-cvs] JBossAS SVN: r76015 - 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
Sat Jul 19 12:18:44 EDT 2008


Author: ALRubinger
Date: 2008-07-19 12:18:43 -0400 (Sat, 19 Jul 2008)
New Revision: 76015

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-78] BasicJndiBindingPolicy must honor deploymentScopeBaseName

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-19 15:25:06 UTC (rev 76014)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/jndipolicy/plugins/BasicJndiBindingPolicy.java	2008-07-19 16:18:43 UTC (rev 76015)
@@ -180,10 +180,10 @@
 
    private String getBaseJndiName(EjbDeploymentSummary summary)
    {
-      String baseName = null;
-      
+      StringBuffer baseName = new StringBuffer();
+
       JBossEnterpriseBeanMetaData md = summary.getBeanMD();
-      assert md !=null : JBossEnterpriseBeanMetaData.class.getSimpleName() + " is not set for " + summary;
+      assert md != null : JBossEnterpriseBeanMetaData.class.getSimpleName() + " is not set for " + summary;
 
       //TODO Ugly, should be using polymorphism not runtime type checks w/ casting
       if (md.isSession())
@@ -191,19 +191,34 @@
          assert md instanceof JBossSessionBeanMetaData : "Metadata reports as Session Bean but is not assignable to "
                + JBossSessionBeanMetaData.class.getName();
          JBossSessionBeanMetaData smd = (JBossSessionBeanMetaData) md;
-         baseName = smd.getEjbName();
+         baseName.append(smd.getEjbName());
       }
-      if (md.isEntity())
+      else if (md.isEntity())
       {
-         if (baseName == null || baseName.trim().length() == 0)
+         if (baseName == null || baseName.length() == 0)
+         {
+            String jndiName = ((JBossEntityBeanMetaData) summary.getBeanMD()).getJndiName();
+            baseName.append(jndiName.trim());
+         }
+      }
 
-            baseName = ((JBossEntityBeanMetaData) summary.getBeanMD()).getJndiName();
+      // Still no baseName
+      if (baseName == null || baseName.length() == 0)
+      {
+         // Use the EJB Name
+         baseName.append(summary.getBeanMD().getEjbName());
       }
-      if (baseName == null || baseName.trim().length() == 0)
+
+      // Prepend the deployment scope base name, if defined
+      String deploymentScopeBaseName = summary.getDeploymentScopeBaseName();
+      if (deploymentScopeBaseName != null && deploymentScopeBaseName.trim().length() > 0)
       {
-         baseName = summary.getBeanMD().getEjbName();
+         deploymentScopeBaseName = deploymentScopeBaseName.trim();
+         baseName.insert(0, '/');
+         baseName.insert(0, deploymentScopeBaseName);
       }
-      return baseName;
+
+      return baseName.toString();
    }
 
 }

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-19 15:25:06 UTC (rev 76014)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolveJndiNameDecoratorUnitTestCase.java	2008-07-19 16:18:43 UTC (rev 76015)
@@ -56,7 +56,7 @@
    {
       // Obtain MD and define expected values for resolution
       JBossSessionBeanMetaData beanMD = getDecoratedEjbMetaData();
-      String expected = "testResolvedJndiName-ejb/home";
+      String expected = "base/testResolvedJndiName-ejb/home";
       
       // Resolve
       String resolved = beanMD.getHomeJndiName();
@@ -68,6 +68,29 @@
       String resolvedDeprecated = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
       assertEquals(expected, resolvedDeprecated);
    }
+   
+   @SuppressWarnings(value="deprecation")
+   public void testResolvedJndiNameNoBaseName()
+   {
+      // Obtain MD 
+      JBossSessionBeanMetaData beanMD = getDecoratedEjbMetaData();
+      
+      // Remove the baseName
+      JBossMetaData jbMd = beanMD.getEnterpriseBeansMetaData().getEjbJarMetaData();
+      jbMd.getDeploymentSummary().setDeploymentScopeBaseName(null);
+      
+      String expected = "testResolvedJndiNameNoBaseName-ejb/home";
+      
+      // Resolve
+      String resolved = beanMD.getHomeJndiName();
+      
+      // Test
+      assertEquals(expected, resolved);
+      
+      // 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);
+   }
 
    @SuppressWarnings(value="deprecation")
    public void testResolvedJndiNameWithMappedName()
@@ -78,7 +101,7 @@
       beanMD.setMappedName(mappedName);
       
       // Execute the tests
-      String expectedBase = "testResolvedJndiNameWithMappedName-ejb/";
+      String expectedBase = "base/testResolvedJndiNameWithMappedName-ejb/";
       this.resolvedOverrideName(beanMD, mappedName, expectedBase);
       
    }
@@ -92,7 +115,7 @@
       beanMD.setJndiName(jndiName);
       
       // Execute the tests
-      String expectedBase = "testResolvedJndiNameWithJndiName-ejb/";
+      String expectedBase = "base/testResolvedJndiNameWithJndiName-ejb/";
       this.resolvedOverrideName(beanMD, jndiName, expectedBase);
       
    }
@@ -146,7 +169,7 @@
       // Remove a defined jndi-name
       
       // Define expected resolved values
-      String expectedBase = "testResolvedJndiNames-ejb/";
+      String expectedBase = "base/testResolvedJndiNames-ejb/";
       String expectedRemote = beanMD.getJndiName();
       String expectedHome = expectedBase + KnownInterfaceType.REMOTE_HOME.toSuffix();
       String expectedLocal = expectedBase + KnownInterfaceType.BUSINESS_LOCAL.toSuffix();
@@ -211,7 +234,7 @@
       beanMD.setBusinessRemotes(remotes);
 
       // Define expected resolved values
-      String base = "testResolvedJndiNamesWithKnownIfaces-ejb/";
+      String base = "base/testResolvedJndiNamesWithKnownIfaces-ejb/";
       String expectedRemoteDefault = base + "remote";
       String expectedRemote1 = base + "remote-org.jboss.ifaces.RemoteIF1";
       String expectedRemote2 = base + "remote-org.jboss.ifaces.RemoteIF2";
@@ -294,8 +317,8 @@
       sbeanMD.setRemote(remote);
       
       // Define expected values
-      String expectedRemote = "testResolvedJndiNamesWithKnownIfaces2x-ejb";
-      String expectedHome = "testResolvedJndiNamesWithKnownIfaces2x-ejb";
+      String expectedRemote = "base/testResolvedJndiNamesWithKnownIfaces2x-ejb";
+      String expectedHome = "base/testResolvedJndiNamesWithKnownIfaces2x-ejb";
       String expectedLocalHome = "local/" + sbeanMD.getEjbName() + '@' + System.identityHashCode(sbeanMD.getEjbName());
       
       // Resolve
@@ -344,10 +367,10 @@
       beanMD.setRemote(remote);
       
       // Define expected results
-      String expectedRemote = "testResolvedJndiNamesWithKnownIfacesEntity-jndi-name";
-      String expectedHome = "testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/home";
-      String expectedLocalHome = "testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/localHome";
-      String expectedRandomInterface = "testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/" + randomInterface;
+      String expectedRemote = "base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name";
+      String expectedHome = "base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/home";
+      String expectedLocalHome = "base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/localHome";
+      String expectedRandomInterface = "base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/" + randomInterface;
       
       // Resolve
       String resolvedDefault = JbossEnterpriseBeanJndiNameResolver.resolveJndiName(beanMD, null);

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-19 15:25:06 UTC (rev 76014)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolvedJndiNameUnitTestCase.java	2008-07-19 16:18:43 UTC (rev 76015)
@@ -48,7 +48,7 @@
    {
       JBossEnterpriseBeanMetaData beanMD = getEjbMetaData();
       String resolvedJndiName = beanMD.determineResolvedJndiName(null, null);
-      assertEquals("testResolvedJndiName-ejb", resolvedJndiName);
+      assertEquals("base/testResolvedJndiName-ejb", resolvedJndiName);
    }
    public void testResolvedJndiNameWithMappedName()
    {
@@ -61,17 +61,17 @@
    {
       JBossEnterpriseBeanMetaData beanMD = getEjbMetaData();
       String resolvedJndiName = beanMD.determineResolvedJndiName(null, null);
-      assertEquals("testResolvedJndiNames-ejb", resolvedJndiName);      
+      assertEquals("base/testResolvedJndiNames-ejb", resolvedJndiName);      
       String resolvedJndiNameRemote = beanMD.determineResolvedJndiName(KnownInterfaces.REMOTE, null);
-      assertEquals("testResolvedJndiNames-ejb/remote", resolvedJndiNameRemote);      
+      assertEquals("base/testResolvedJndiNames-ejb/remote", resolvedJndiNameRemote);      
       String resolvedJndiNameHome = beanMD.determineResolvedJndiName(KnownInterfaces.HOME, null);
-      assertEquals("testResolvedJndiNames-ejb/home", resolvedJndiNameHome);      
+      assertEquals("base/testResolvedJndiNames-ejb/home", resolvedJndiNameHome);      
       String resolvedJndiNameLocal = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL, null);
-      assertEquals("testResolvedJndiNames-ejb/local", resolvedJndiNameLocal);      
+      assertEquals("base/testResolvedJndiNames-ejb/local", resolvedJndiNameLocal);      
       String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME, null);
-      assertEquals("testResolvedJndiNames-ejb/localHome", resolvedJndiNameLocalHome);      
+      assertEquals("base/testResolvedJndiNames-ejb/localHome", resolvedJndiNameLocalHome);      
       String resolvedJndiNameIface = beanMD.determineResolvedJndiName("org.jboss.test.some.IFace", null);
-      assertEquals("testResolvedJndiNames-ejb/org.jboss.test.some.IFace", resolvedJndiNameIface);      
+      assertEquals("base/testResolvedJndiNames-ejb/org.jboss.test.some.IFace", resolvedJndiNameIface);      
    }
    
    /**
@@ -95,21 +95,21 @@
       sbeanMD.setBusinessRemotes(remotes);
 
       String resolvedJndiName = beanMD.determineResolvedJndiName(null, null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-ejb", resolvedJndiName);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfaces-ejb", resolvedJndiName);      
       String resolvedJndiNameRemote = beanMD.determineResolvedJndiName("org.jboss.ifaces.RemoteIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-ejb/remote-org.jboss.ifaces.RemoteIF", resolvedJndiNameRemote);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfaces-ejb/remote-org.jboss.ifaces.RemoteIF", resolvedJndiNameRemote);      
       String resolvedJndiNameRemote2 = beanMD.determineResolvedJndiName("org.jboss.ifaces.RemoteIF2", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-ejb/remote-org.jboss.ifaces.RemoteIF2", resolvedJndiNameRemote2);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfaces-ejb/remote-org.jboss.ifaces.RemoteIF2", resolvedJndiNameRemote2);      
       String resolvedJndiNameHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.HomeIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-ejb/home", resolvedJndiNameHome);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfaces-ejb/home", resolvedJndiNameHome);      
       String resolvedJndiNameLocal = beanMD.determineResolvedJndiName("org.jboss.ifaces.LocalIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-ejb/local-org.jboss.ifaces.LocalIF", resolvedJndiNameLocal);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfaces-ejb/local-org.jboss.ifaces.LocalIF", resolvedJndiNameLocal);      
       String resolvedJndiNameLocal2 = beanMD.determineResolvedJndiName("org.jboss.ifaces.LocalIF2", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-ejb/local-org.jboss.ifaces.LocalIF2", resolvedJndiNameLocal2);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfaces-ejb/local-org.jboss.ifaces.LocalIF2", resolvedJndiNameLocal2);      
       String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.LocalHomeIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-ejb/localHome", resolvedJndiNameLocalHome);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfaces-ejb/localHome", resolvedJndiNameLocalHome);      
       String resolvedJndiNameIface = beanMD.determineResolvedJndiName("org.jboss.test.some.IFace", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces-ejb/org.jboss.test.some.IFace", resolvedJndiNameIface);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfaces-ejb/org.jboss.test.some.IFace", resolvedJndiNameIface);      
    }
    public void testResolvedJndiNamesWithKnownIfaces2x()
    {
@@ -124,9 +124,9 @@
 
 
       String resolvedJndiName = beanMD.determineResolvedJndiName(null, null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces2x-ejb", resolvedJndiName);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfaces2x-ejb", resolvedJndiName);      
       String resolvedJndiNameHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.HomeIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfaces2x-ejb", resolvedJndiNameHome);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfaces2x-ejb", resolvedJndiNameHome);      
       String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.LocalHomeIF", null);
       assertEquals(sbeanMD.determineLocalJndiName(), resolvedJndiNameLocalHome);      
    }
@@ -141,13 +141,13 @@
       sbeanMD.setRemote("org.jboss.ifaces.RemoteIF");
 
       String resolvedJndiName = beanMD.determineResolvedJndiName(null, null);
-      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name", resolvedJndiName);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name", resolvedJndiName);      
       String resolvedJndiNameHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.HomeIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/home", resolvedJndiNameHome);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/home", resolvedJndiNameHome);      
       String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName("org.jboss.ifaces.LocalHomeIF", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/localHome", resolvedJndiNameLocalHome);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/localHome", resolvedJndiNameLocalHome);      
       String resolvedJndiNameIface = beanMD.determineResolvedJndiName("org.jboss.test.some.IFace", null);
-      assertEquals("testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/org.jboss.test.some.IFace", resolvedJndiNameIface);      
+      assertEquals("base/testResolvedJndiNamesWithKnownIfacesEntity-jndi-name/org.jboss.test.some.IFace", resolvedJndiNameIface);      
    }
 
    /**




More information about the jboss-cvs-commits mailing list