[jboss-cvs] JBossAS SVN: r71595 - 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
Wed Apr 2 08:57:15 EDT 2008
Author: alex.loubyansky at jboss.com
Date: 2008-04-02 08:57:14 -0400 (Wed, 02 Apr 2008)
New Revision: 71595
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
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/JBossEnterpriseBeanMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java 2008-04-02 12:50:14 UTC (rev 71594)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeanMetaData.java 2008-04-02 12:57:14 UTC (rev 71595)
@@ -1519,6 +1519,10 @@
}
}
+ public void checkValid()
+ {
+ }
+
/**
* Get the assembly descriptor
*
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java 2008-04-02 12:50:14 UTC (rev 71594)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossEnterpriseBeansMetaData.java 2008-04-02 12:57:14 UTC (rev 71595)
@@ -166,7 +166,13 @@
}
}
}
+
+ // check that the merged bean metadata is valid
+ java.util.Iterator<JBossEnterpriseBeanMetaData> i = iterator();
+ while(i.hasNext())
+ {
+ JBossEnterpriseBeanMetaData ejb = i.next();
+ ejb.checkValid();
+ }
}
-
-
}
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-04-02 12:50:14 UTC (rev 71594)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossSessionBeanMetaData.java 2008-04-02 12:57:14 UTC (rev 71595)
@@ -902,24 +902,10 @@
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
@@ -938,4 +924,26 @@
ejbTimeoutIdentity = joverride.getEjbTimeoutIdentity();
}
}
+
+ @Override
+ public void checkValid()
+ {
+ if(getEnterpriseBeansMetaData() != null && getEjbJarMetaData() != null)
+ {
+ // this is how the ejb3 deployer determines whether it's ejb3 module or not
+ if(!(getEjbJarMetaData().isEJB1x() || getEjbJarMetaData().isEJB2x()))
+ {
+ if(this.home == null && this.homeJndiName != null)
+ throw new IllegalStateException(
+ "EJB3 bean " + getEjbName() +
+ " doesn't define home interface but defines home-jndi-name '" +
+ this.homeJndiName + "' in jboss.xml");
+ if(this.localHome == null && this.localHomeJndiName != null)
+ throw new IllegalStateException(
+ "EJB3 bean " + getEjbName() +
+ " doesn't define local-home interface but defines local-home-jndi-name '" +
+ this.localHomeJndiName + "' in jboss.xml");
+ }
+ }
+ }
}
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-04-02 12:50:14 UTC (rev 71594)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java 2008-04-02 12:57:14 UTC (rev 71595)
@@ -232,51 +232,47 @@
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");
+ EjbJar30MetaData spec = new EjbJar30MetaData();
+ EnterpriseBeansMetaData specBeans = new EnterpriseBeansMetaData();
+ spec.setEnterpriseBeans(specBeans);
+ SessionBeanMetaData specBean = new SessionBeanMetaData();
+ specBean.setEjbName("ejb3session");
+ specBeans.add(specBean);
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");
+ JBossEnterpriseBeansMetaData jbossBeans = new JBossEnterpriseBeansMetaData();
+ jboss.setEnterpriseBeans(jbossBeans);
+ JBossSessionBeanMetaData jbossBean = new JBossSessionBeanMetaData();
+ jbossBean.setEjbName("ejb3session");
+ jbossBean.setHomeJndiName("home-jndi-name");
+ jbossBeans.add(jbossBean);
- JBossMetaData mergedJBoss = new JBossMetaData();
- JBossEnterpriseBeansMetaData mergedBeans = new JBossEnterpriseBeansMetaData();
- mergedBeans.setEjbJarMetaData(mergedJBoss);
-
+ JBossMetaData merged = new JBossMetaData();
try
{
- JBossSessionBeanMetaData merged = new JBossSessionBeanMetaData();
- merged.setEnterpriseBeansMetaData(mergedBeans);
- merged.merge(override, original);
+ merged.merge(jboss, spec);
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());
+ assertEquals("EJB3 bean ejb3session doesn't define home interface but defines home-jndi-name 'home-jndi-name' in jboss.xml", e.getMessage());
}
+
+ jbossBean = new JBossSessionBeanMetaData();
+ jbossBean.setEjbName("ejb3session");
+ jbossBean.setLocalHomeJndiName("local-home-jndi-name");
+ jbossBeans.clear();
+ jbossBeans.add(jbossBean);
- override = new JBossSessionBeanMetaData();
- override.setEjbName("ejb3session");
- override.setEnterpriseBeansMetaData(overrides);
- override.setLocalHomeJndiName("local-home-jndi-name");
+ merged = new JBossMetaData();
try
{
- JBossSessionBeanMetaData merged = new JBossSessionBeanMetaData();
- merged.setEnterpriseBeansMetaData(mergedBeans);
- merged.merge(override, original);
+ merged.merge(jboss, spec);
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());
+ assertEquals("EJB3 bean ejb3session doesn't define local-home interface but defines local-home-jndi-name 'local-home-jndi-name' in jboss.xml", e.getMessage());
}
}
More information about the jboss-cvs-commits
mailing list