[jboss-cvs] JBossAS SVN: r71383 - 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
Fri Mar 28 12:18:56 EDT 2008
Author: alex.loubyansky at jboss.com
Date: 2008-03-28 12:18:56 -0400 (Fri, 28 Mar 2008)
New Revision: 71383
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java
Log:
JBMETA-11
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java 2008-03-28 15:09:02 UTC (rev 71382)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java 2008-03-28 16:18:56 UTC (rev 71383)
@@ -895,26 +895,47 @@
else if(soriginal != null && soriginal.getSecurityRoleRefs() != null)
securityRoleRefs = soriginal.getSecurityRoleRefs();
- // jndiName
- if(joverride != null && joverride.getJndiName() != null)
- jndiName = joverride.getJndiName();
- // callByValue
if(joverride != null)
+ {
+ // jndiName
+ if(joverride.getJndiName() != null)
+ jndiName = joverride.getJndiName();
+ // homeJndiName
+ if(joverride.homeJndiName != null)
+ {
+ if(joverride.getEjbJarMetaData().isEJB3x() ||
+ soriginal != null && soriginal.getEjbJarMetaData().isEJB3x())
+ throw new IllegalStateException(
+ "EJB3 bean " + getEjbName() + " defines home-jndi-name '" +
+ joverride.homeJndiName + "' in jboss.xml");
+ homeJndiName = joverride.homeJndiName;
+ }
+ // localHomeJndiName
+ if(joverride.localHomeJndiName != null)
+ {
+ if(joverride.getEjbJarMetaData().isEJB3x() ||
+ soriginal != null && soriginal.getEjbJarMetaData().isEJB3x())
+ throw new IllegalStateException(
+ "EJB3 bean " + getEjbName() + " defines local-home-jndi-name '" +
+ joverride.localHomeJndiName + "' in jboss.xml");
+ localHomeJndiName = joverride.localHomeJndiName;
+ }
+ // callByValue
callByValue = joverride.isCallByValue();
- // clustered
- if(joverride != null)
+ // clustered
clustered = joverride.isClustered();
- // remoteBindings
- if(joverride != null && joverride.getRemoteBindings() != null)
- remoteBindings = joverride.getRemoteBindings();
- // clusterConfig
- if(joverride != null && joverride.getClusterConfig() != null)
- clusterConfig = joverride.getClusterConfig();
- // portComponent
- if(joverride != null && joverride.getPortComponent() != null)
- portComponent = joverride.getPortComponent();
- // ejbTimeoutIdentity
- if(joverride != null && joverride.getEjbTimeoutIdentity() != null)
- ejbTimeoutIdentity = joverride.getEjbTimeoutIdentity();
+ // remoteBindings
+ if(joverride.getRemoteBindings() != null)
+ remoteBindings = joverride.getRemoteBindings();
+ // clusterConfig
+ if(joverride.getClusterConfig() != null)
+ clusterConfig = joverride.getClusterConfig();
+ // portComponent
+ if(joverride.getPortComponent() != null)
+ portComponent = joverride.getPortComponent();
+ // ejbTimeoutIdentity
+ if(joverride.getEjbTimeoutIdentity() != null)
+ ejbTimeoutIdentity = joverride.getEjbTimeoutIdentity();
+ }
}
}
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java 2008-03-28 15:09:02 UTC (rev 71382)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java 2008-03-28 16:18:56 UTC (rev 71383)
@@ -47,6 +47,7 @@
import org.jboss.metadata.ejb.spec.EjbJar3xMetaData;
import org.jboss.metadata.ejb.spec.EjbJarMetaData;
import org.jboss.metadata.ejb.spec.EnterpriseBeansMetaData;
+import org.jboss.metadata.ejb.spec.SessionBeanMetaData;
import org.jboss.metadata.javaee.spec.DescriptionGroupMetaData;
import org.jboss.metadata.javaee.spec.EJBLocalReferenceMetaData;
import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
@@ -228,7 +229,57 @@
assertEquals("crucialEjb", merged.getEjbRefName());
assertEquals("CrucialLocal", merged.getLocal());
}
-
+
+ public void testHomeJndiNameForEJB3() throws Exception
+ {
+ EjbJar30MetaData ejbjar3 = new EjbJar30MetaData();
+ EnterpriseBeansMetaData originals = new EnterpriseBeansMetaData();
+ originals.setEjbJarMetaData(ejbjar3);
+ SessionBeanMetaData original = new SessionBeanMetaData();
+ original.setEnterpriseBeansMetaData(originals);
+ original.setEjbName("ejb3session");
+
+ JBossMetaData jboss = new JBossMetaData();
+ JBossEnterpriseBeansMetaData overrides = new JBossEnterpriseBeansMetaData();
+ overrides.setEjbJarMetaData(jboss);
+ JBossSessionBeanMetaData override = new JBossSessionBeanMetaData();
+ override.setEjbName("ejb3session");
+ override.setEnterpriseBeansMetaData(overrides);
+ override.setHomeJndiName("home-jndi-name");
+
+ JBossMetaData mergedJBoss = new JBossMetaData();
+ JBossEnterpriseBeansMetaData mergedBeans = new JBossEnterpriseBeansMetaData();
+ mergedBeans.setEjbJarMetaData(mergedJBoss);
+
+ try
+ {
+ JBossSessionBeanMetaData merged = new JBossSessionBeanMetaData();
+ merged.setEnterpriseBeansMetaData(mergedBeans);
+ merged.merge(override, original);
+ fail("ejb3 session bean can't have home-jndi-name");
+ }
+ catch(IllegalStateException e)
+ {
+ assertEquals("EJB3 bean ejb3session defines home-jndi-name 'home-jndi-name' in jboss.xml", e.getMessage());
+ }
+
+ override = new JBossSessionBeanMetaData();
+ override.setEjbName("ejb3session");
+ override.setEnterpriseBeansMetaData(overrides);
+ override.setLocalHomeJndiName("local-home-jndi-name");
+ try
+ {
+ JBossSessionBeanMetaData merged = new JBossSessionBeanMetaData();
+ merged.setEnterpriseBeansMetaData(mergedBeans);
+ merged.merge(override, original);
+ fail("ejb3 session bean can't have local-home-jndi-name");
+ }
+ catch(IllegalStateException e)
+ {
+ assertEquals("EJB3 bean ejb3session defines local-home-jndi-name 'local-home-jndi-name' in jboss.xml", e.getMessage());
+ }
+ }
+
private Collection<Class<?>> loadClassesFromCurrentClassDir()
{
// In real life the deployer will pass probably pass a class scanner
More information about the jboss-cvs-commits
mailing list