[jboss-cvs] JBossAS SVN: r76117 - in projects/metadata/trunk/src/test: resources/org/jboss/test/metadata/jbmeta42/unit and 1 other directory.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Jul 22 22:06:19 EDT 2008


Author: scott.stark at jboss.org
Date: 2008-07-22 22:06:19 -0400 (Tue, 22 Jul 2008)
New Revision: 76117

Added:
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase_testRemoteHomeWithEarScope.xml
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase_testRemoteHomeWithEarScopeJBoss.xml
Modified:
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java
Log:
JBMETA-79, add a test which shows the current problem with deployment scoped ejb2x remote homes.

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java	2008-07-23 00:42:57 UTC (rev 76116)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java	2008-07-23 02:06:19 UTC (rev 76117)
@@ -27,21 +27,28 @@
 
 import org.jboss.metadata.ApplicationMetaData;
 import org.jboss.metadata.BeanMetaData;
+import org.jboss.metadata.ejb.jboss.JBoss50DTDMetaData;
+import org.jboss.metadata.ejb.jboss.JBoss50MetaData;
+import org.jboss.metadata.ejb.jboss.JBossEnterpriseBeanMetaData;
 import org.jboss.metadata.ejb.jboss.JBossMetaData;
 import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
 import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.BasicJndiBindingPolicy;
 import org.jboss.metadata.ejb.jboss.jndipolicy.plugins.JBossSessionPolicyDecorator;
+import org.jboss.metadata.ejb.jboss.jndipolicy.spi.DeploymentSummary;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.JbossSessionBeanJndiNameResolver;
 import org.jboss.metadata.ejb.jboss.jndipolicy.spi.KnownInterfaces;
+import org.jboss.metadata.ejb.spec.EjbJar20MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar21MetaData;
 import org.jboss.metadata.ejb.spec.EjbJar2xMetaData;
 import org.jboss.test.metadata.ejb.AbstractEJBEverythingTest;
+import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
 import org.jboss.xb.binding.sunday.unmarshalling.SchemaBindingResolver;
 
 /**
  * Legacy ejb 2.x naming tests 
  * 
  * @author <a href="mailto:emuckenh at redhat.com">Emanuel Muckenhuber</a>
+ * @author Scott.Stark at jboss.org
  * @version $Revision$
  */
 @SuppressWarnings("deprecation")
@@ -54,7 +61,19 @@
 
    public static SchemaBindingResolver initResolver()
    {
-      return schemaResolverForClass(EjbJar21MetaData.class);
+      DefaultSchemaResolver resolver = new DefaultSchemaResolver();
+      resolver.addClassBindingForLocation("ejb-jar_2_1.xsd", EjbJar21MetaData.class);
+      resolver.addClassBindingForLocation("jboss_3_0.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_3_2.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_4_0.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_4_2.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_5_0.dtd", JBoss50DTDMetaData.class);
+      resolver.addClassBindingForLocation("jboss_5_0.xsd", JBoss50MetaData.class);
+      // Set the JBoss50DTDMetaData class as the default for the jboss root element
+      resolver.addClassBindingForLocation("jboss", JBoss50DTDMetaData.class);
+      // Workaround wildard resolution slowness
+      resolver.addClassBinding("http://www.jboss.com/xml/ns/javaee", JBoss50MetaData.class);
+      return resolver;
    }
    
    public Default2xNamingStrategyTestCase(String name)
@@ -80,7 +99,36 @@
     
       assertLegacyBeanMetaData(mergedMetaData);
    }
-   
+   /**
+    * JBMETA-79
+    * @param metaData
+    */
+   public void testRemoteHomeWithEarScope()
+      throws Exception
+   {
+      EjbJar2xMetaData ejbJarMetaData = unmarshal();
+      
+      JBossMetaData mergedMetaData = new JBossMetaData();
+      JBossMetaData jbossMetaData = unmarshal("Default2xNamingStrategyTestCase_testRemoteHomeWithEarScopeJBoss.xml", JBossMetaData.class, null);
+      assertNotNull(jbossMetaData);
+      mergedMetaData.merge(jbossMetaData, ejbJarMetaData);
+      JBossEnterpriseBeanMetaData beanMD = mergedMetaData.getEnterpriseBean("session1EjbName");
+      assertNotNull(beanMD);
+      assertTrue("beanMD is a JBossSessionBeanMetaData", beanMD instanceof JBossSessionBeanMetaData);
+      JBossSessionBeanMetaData sbeanMD = (JBossSessionBeanMetaData) beanMD;
+      // Validate the expected metadata jndi name and remote home
+      assertEquals("session1EjbName_jndi_name", sbeanMD.getJndiName());
+      assertEquals("session1Home", sbeanMD.getHome());
+      // Set a DeploymentSummary with an ear scoping
+      DeploymentSummary dsummary = new DeploymentSummary();
+      dsummary.setDeploymentName("some-ejb.jar");
+      dsummary.setDeploymentScopeBaseName("some-ear");
+      sbeanMD.getJBossMetaData().setDeploymentSummary(dsummary);
+      // Validate that 
+      String jndiName = sbeanMD.determineResolvedJndiName("session1Home");
+      assertEquals("session1EjbName_jndi_name", jndiName);
+   }
+
    protected void assertSessionBeans(JBossSessionBeanMetaData metaData)
    {
       assertNotNull(metaData);


Property changes on: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase.java
___________________________________________________________________
Name: svn:keywords
   + Id Revision

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase_testRemoteHomeWithEarScope.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase_testRemoteHomeWithEarScope.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase_testRemoteHomeWithEarScope.xml	2008-07-23 02:06:19 UTC (rev 76117)
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- $Id$ -->
+<ejb-jar xmlns="http://java.sun.com/xml/ns/j2ee"
+   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+   xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/ejb-jar_2_1.xsd"
+   version="2.1"
+   id="ejb-jar-id">
+         
+   <description>testRemoteHomeWithEarScope ejb-jar.xml</description>
+   <enterprise-beans id="enterprise-beans-id">
+
+      <session id="session1Ejb">
+         <ejb-name>session1EjbName</ejb-name>
+
+         <home>session1Home</home>
+         <remote>session1Remote</remote>
+         <local-home>session1LocalHome</local-home>
+         <local>session1Local</local>
+         <ejb-class>session1EjbClass</ejb-class>
+         <session-type>Stateless</session-type>
+         <transaction-type>Container</transaction-type>
+      </session>
+   </enterprise-beans>   
+</ejb-jar>


Property changes on: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase_testRemoteHomeWithEarScope.xml
___________________________________________________________________
Name: svn:keywords
   + Id

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase_testRemoteHomeWithEarScopeJBoss.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase_testRemoteHomeWithEarScopeJBoss.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/jbmeta42/unit/Default2xNamingStrategyTestCase_testRemoteHomeWithEarScopeJBoss.xml	2008-07-23 02:06:19 UTC (rev 76117)
@@ -0,0 +1,13 @@
+<?xml version="1.0"?>
+<!DOCTYPE jboss PUBLIC
+   "-//JBoss//DTD JBOSS 4.0//EN"
+   "http://www.jboss.org/j2ee/dtd/jboss_4_0.dtd">
+
+<jboss>
+   <enterprise-beans>
+      <session>
+         <ejb-name>session1EjbName</ejb-name>
+         <jndi-name>session1EjbName_jndi_name</jndi-name>
+      </session>
+   </enterprise-beans>   
+</jboss>




More information about the jboss-cvs-commits mailing list