[jboss-cvs] JBossAS SVN: r80780 - projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Mon Nov 10 22:31:51 EST 2008


Author: ALRubinger
Date: 2008-11-10 22:31:50 -0500 (Mon, 10 Nov 2008)
New Revision: 80780

Modified:
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolveJndiNameDecoratorUnitTestCase.java
Log:
[JBMETA-144] Add failing Unit Test to show decorated JBossServiceBeanMetaData does not honor explicit jndi-name

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-11-11 03:28:04 UTC (rev 80779)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/ResolveJndiNameDecoratorUnitTestCase.java	2008-11-11 03:31:50 UTC (rev 80780)
@@ -26,11 +26,13 @@
 import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeansMetaData;
 import org.jboss.metadata.ejb.jboss.JBossEntityBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
+import org.jboss.metadata.ejb.jboss.JBossServiceBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy;
 import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.EjbNameJndiBindingPolicy;
 import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.JBossSessionPolicyDecorator;
 import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.JbossEntityPolicyDecorator;
+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.JbossEnterpriseBeanJndiNameResolver;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.JbossSessionBeanJndiNameResolver;
@@ -252,16 +254,36 @@
    public void testResolvedJndiNameWithJndiName()
    {
       // Obtain MD, set mappedName, and define expected values for resolution
-      JBossSessionBeanMetaData beanMD = getDecoratedEjbMetaData();
+      JBossSessionBeanMetaData beanMD = this.getEjbMetaData();
       String jndiName = "testResolvedJndiName-jndi-name";
       beanMD.setJndiName(jndiName);
       
+      // Now decorate
+      beanMD = this.decorateEjbMetaData(beanMD);
+      
       // Execute the tests
       String expectedBase = "base/testResolvedJndiNameWithJndiName-ejb/";
       this.resolvedOverrideName(beanMD, jndiName, expectedBase);
       
    }
    
+   @SuppressWarnings(value="deprecation")
+   public void testResolvedJndiNameWithJndiNameServiceMetadata()
+   {
+      // Obtain MD, set mappedName, and define expected values for resolution
+      JBossSessionBeanMetaData beanMD = this.getServiceBeanMetaData();
+      String jndiName = "testResolvedJndiName-jndi-name";
+      beanMD.setJndiName(jndiName);
+      
+      // Now decorate
+      beanMD = this.decorateEjbMetaData(beanMD);
+      
+      // Execute the tests
+      String expectedBase = "base/testResolvedJndiNameWithJndiName-ejb/";
+      this.resolvedOverrideName(beanMD, jndiName, expectedBase);
+      
+   }
+   
    /**
     * Tests for resolved JNDI names in presense of a mapped-name or
     * jndi-name override
@@ -615,8 +637,29 @@
 //      String resolvedJndiNameLocalHome = beanMD.determineResolvedJndiName(KnownInterfaces.LOCAL_HOME, policy);
 //      assertEquals("testResolvedJndiNamesWithExternalPolicy-ejbLocalHome", resolvedJndiNameLocalHome);
 //   }
+   
+   /**
+    * Decorates the specified metadata with a Basic JNDI Binding Policy
+    */
+   protected JBossSessionBeanMetaData decorateEjbMetaData(JBossSessionBeanMetaData smd)
+   {
+      return this.decorateEjbMetaData(smd, new BasicJndiBindingPolicy());
+   }
 
    /**
+    * Decorates the specified metadata with the specified Default JNDI
+    * Binding Policy 
+    * 
+    * @param smd
+    * @param policy
+    * @return
+    */
+   protected JBossSessionBeanMetaData decorateEjbMetaData(JBossSessionBeanMetaData smd, DefaultJndiBindingPolicy policy)
+   {
+      return new JBossSessionPolicyDecorator(smd, policy);
+   }
+
+   /**
     * Creates a JBossSessionBeanMetaData decorated with a BasicJndiBindingPolicy
     */
    protected JBossSessionBeanMetaData getDecoratedEjbMetaData()
@@ -625,7 +668,7 @@
       JBossSessionBeanMetaData sbeanMD = this.getEjbMetaData();
 
       // We want the meta data decorated with the JNDI binding policy.
-      sbeanMD =  new JBossSessionPolicyDecorator(sbeanMD, new BasicJndiBindingPolicy());
+      sbeanMD =  this.decorateEjbMetaData(sbeanMD);
       
       // Return
       return sbeanMD;
@@ -659,6 +702,35 @@
       // Return
       return sbeanMD;
    }
+   
+   /**
+    * Creates a JBossSessionBeanMetaData with associated JBossMetaData with:
+    * ejbName = getName() + "-ejb"
+    * ejbClass = "org.jboss.ejb."+ getName()
+    * jndiName = getName() + "-jndi-name"
+    * @return JBossSessionBeanMetaData
+    */
+   protected JBossServiceBeanMetaData getServiceBeanMetaData()
+   {
+      String name = super.getName();
+      JBossMetaData jbossMetaData = new JBossMetaData();
+      jbossMetaData.setEjbVersion("3.0");
+      DeploymentSummary deploymentSummary = new DeploymentSummary();
+      deploymentSummary.setDeploymentName(name);
+      deploymentSummary.setDeploymentScopeBaseName("base");
+      deploymentSummary.setPackagingType(PackagingType.EAR);
+      jbossMetaData.setDeploymentSummary(deploymentSummary);
+      JBossServiceBeanMetaData sbeanMD = new JBossServiceBeanMetaData();
+      sbeanMD.setEjbName(name + "-ejb");
+      sbeanMD.setEjbClass("org.jboss.ejb." + name);
+      JBossEnterpriseBeansMetaData beans = new JBossEnterpriseBeansMetaData();
+      beans.setEjbJarMetaData(jbossMetaData);
+      beans.add(sbeanMD);
+      jbossMetaData.setEnterpriseBeans(beans);
+      
+      // Return
+      return sbeanMD;
+   }
 
    /**
     * Creates a JBossEntityBeanMetaData with associated JBossMetaData with:




More information about the jboss-cvs-commits mailing list