[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