[jboss-cvs] JBossAS SVN: r75375 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/annotation/ejb3/runas and 2 other directories.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Fri Jul 4 04:30:27 EDT 2008
Author: emuckenhuber
Date: 2008-07-04 04:30:27 -0400 (Fri, 04 Jul 2008)
New Revision: 75375
Modified:
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/runas/RunAsUnitTestCase.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java
projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/runas/jboss.xml
Log:
[JBMETA-45] more bugs in merges
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java 2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/InvokerProxyBindingsMetaData.java 2008-07-04 08:30:27 UTC (rev 75375)
@@ -58,4 +58,13 @@
return;
this.addAll(extra);
}
+
+ public void merge(InvokerProxyBindingsMetaData override, InvokerProxyBindingsMetaData original)
+ {
+ super.merge(override, original);
+
+ // addAll
+ merge(override);
+ merge(original);
+ }
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java 2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/JBossMetaData.java 2008-07-04 08:30:27 UTC (rev 75375)
@@ -920,7 +920,8 @@
if (overrideWebservices != null || originalWebservices != null)
{
- webservices = new WebservicesMetaData();
+ if(webservices == null)
+ webservices = new WebservicesMetaData();
webservices.merge(overrideWebservices, originalWebservices);
}
Modified: projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java
===================================================================
--- projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java 2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/main/java/org/jboss/metadata/ejb/jboss/WebservicesMetaData.java 2008-07-04 08:30:27 UTC (rev 75375)
@@ -91,12 +91,25 @@
this.webserviceDescriptions = webserviceDescriptions;
}
- public void merge(WebservicesMetaData orignal)
+ public void merge(WebservicesMetaData original)
{
- if (orignal != null)
+ if (original != null)
{
- contextRoot = orignal.contextRoot;
- webserviceDescriptions = orignal.webserviceDescriptions;
+ contextRoot = original.contextRoot;
+ webserviceDescriptions = original.webserviceDescriptions;
}
}
+
+ public void merge(WebservicesMetaData override, WebservicesMetaData original)
+ {
+ super.merge(override, original);
+ if(override != null)
+ {
+ merge(override);
+ }
+ else if(override == null && original != null)
+ {
+ merge(original);
+ }
+ }
}
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/runas/RunAsUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/runas/RunAsUnitTestCase.java 2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/annotation/ejb3/runas/RunAsUnitTestCase.java 2008-07-04 08:30:27 UTC (rev 75375)
@@ -104,6 +104,8 @@
// Now merge with the annotation data
mergedData.merge(null, specMerged);
+
+ assertEquals("/webservicesContextRoot", mergedData.getWebservices().getContextRoot());
// Validate the proxy view
JBossEnterpriseBeanMetaData InterMediateBean = mergedData.getEnterpriseBean("InterMediateBean");
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-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/EjbJarJBossMergeEverythingUnitTestCase.java 2008-07-04 08:30:27 UTC (rev 75375)
@@ -35,13 +35,11 @@
import org.jboss.metadata.annotation.creator.ejb.EjbJar30Creator;
import org.jboss.metadata.annotation.finder.AnnotationFinder;
import org.jboss.metadata.annotation.finder.DefaultAnnotationFinder;
-import org.jboss.metadata.ejb.jboss.InvokerBindingMetaData;
-import org.jboss.metadata.ejb.jboss.InvokerBindingsMetaData;
+import org.jboss.metadata.ejb.jboss.InvokerProxyBindingsMetaData;
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.JBossEnterpriseBeansMetaData;
-import org.jboss.metadata.ejb.jboss.JBossEnvironmentRefsGroupMetaData;
import org.jboss.metadata.ejb.jboss.JBossMessageDrivenBeanMetaData;
import org.jboss.metadata.ejb.jboss.JBossMetaData;
import org.jboss.metadata.ejb.jboss.JBossSessionBeanMetaData;
@@ -114,6 +112,7 @@
assertNotNull(ejb);
JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
ejbJar.assertFullSessionBean("session1", jejb, Mode.JBOSS);
+ jboss.assertWebservices(jbossMetaData.getWebservices());
{
JBossMessageDrivenBeanMetaData mdb = (JBossMessageDrivenBeanMetaData) jbossMetaData.getEnterpriseBean("mdb1EjbName");
@@ -124,9 +123,87 @@
// Basic check if EjbReferences.invokerBindings are merged
assertEjbReferenceInvokerBindings(ejb);
+ assertInvokerBindings(jbossMetaData.getInvokerProxyBindings());
}
/**
+ * merge jbossMetaData more times
+ */
+ public void testEJB3xEverythingDualMerge() throws Exception
+ {
+ EjbJar3xMetaData ejbJarMetaData = unmarshal("EjbJar3xEverything_testEverything.xml", EjbJar30MetaData.class, null);
+ EjbJar3xEverythingUnitTestCase ejbJar = new EjbJar3xEverythingUnitTestCase("ejb-jar");
+ ejbJar.assertEverything(ejbJarMetaData, Mode.SPEC);
+
+ JBossMetaData specMetaData = new JBossMetaData();
+ specMetaData.merge(null, ejbJarMetaData);
+
+ JBoss50MetaData jbossMetaData = unmarshal("JBoss5xEverything_testEverything.xml", JBoss50MetaData.class, null);
+ JBoss5xEverythingUnitTestCase jboss = new JBoss5xEverythingUnitTestCase("jboss");
+ jboss.assertEverything(jbossMetaData, Mode.JBOSS);
+ jboss.assertWebservices(jbossMetaData.getWebservices());
+
+ // Create the merged view
+ JBossMetaData mergedMetaData = new JBossMetaData();
+ mergedMetaData.merge(jbossMetaData, specMetaData);
+
+ assertTrue(mergedMetaData.isEJB3x());
+ ejbJar.assertInterceptors(mergedMetaData, Mode.JBOSS);
+
+ JBossEnterpriseBeanMetaData ejb = mergedMetaData.getEnterpriseBean("session1EjbName");
+ assertNotNull(ejb);
+ JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
+ ejbJar.assertFullSessionBean("session1", jejb, Mode.JBOSS);
+ jboss.assertWebservices(mergedMetaData.getWebservices());
+
+ {
+ JBossMessageDrivenBeanMetaData mdb = (JBossMessageDrivenBeanMetaData) mergedMetaData.getEnterpriseBean("mdb1EjbName");
+ ejbJar.assertActivationConfig("mdb1", mdb.getActivationConfig());
+ }
+
+ ejbJar.assertInterceptorBindings(3, mergedMetaData.getAssemblyDescriptor().getInterceptorBindings());
+
+ // Basic check if EjbReferences.invokerBindings are merged
+ assertEjbReferenceInvokerBindings(ejb);
+ assertInvokerBindings(mergedMetaData.getInvokerProxyBindings());
+ }
+
+ /**
+ * merge jbossMetaData more times
+ */
+ public void testEJB21EverythingDualMerge() throws Exception
+ {
+ EjbJar21MetaData ejbJarMetaData = unmarshal("EjbJar21Everything_testEverything.xml", EjbJar21MetaData.class, null);
+ EjbJar21EverythingUnitTestCase ejbJar = new EjbJar21EverythingUnitTestCase("ejb-jar");
+ ejbJar.assertEverything(ejbJarMetaData, Mode.SPEC);
+
+ JBossMetaData specMetaData = new JBossMetaData();
+ specMetaData.merge(null, ejbJarMetaData);
+
+ JBoss50MetaData jbossMetaData = unmarshal("JBoss5xEverything_testEverything.xml", JBoss50MetaData.class, null);
+ JBoss5xEverythingUnitTestCase jboss = new JBoss5xEverythingUnitTestCase("jboss");
+ jboss.assertEverything(jbossMetaData, Mode.JBOSS);
+ jboss.assertWebservices(jbossMetaData.getWebservices());
+
+ //jbossMetaData.setOverridenMetaData(ejbJarMetaData);
+ // Create the merged view
+ JBossMetaData mergedMetaData = new JBossMetaData();
+ mergedMetaData.merge(jbossMetaData, specMetaData);
+
+ assertTrue(mergedMetaData.isEJB2x());
+
+ JBossEnterpriseBeanMetaData ejb = mergedMetaData.getEnterpriseBean("session1EjbName");
+ assertNotNull(ejb);
+ JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
+ ejbJar.assertFullSessionBean("session1", jejb, Mode.JBOSS);
+ jboss.assertWebservices(mergedMetaData.getWebservices());
+ // Basic check if EjbReferences.invokerBindings are merged
+ assertEjbReferenceInvokerBindings(ejb);
+ assertInvokerBindings(mergedMetaData.getInvokerProxyBindings());
+ }
+
+
+ /**
* Very basic merge test
*/
public void testEJB21Everything() throws Exception
@@ -138,7 +215,8 @@
JBoss50MetaData jbossMetaData = unmarshal("JBoss5xEverything_testEverything.xml", JBoss50MetaData.class, null);
JBoss5xEverythingUnitTestCase jboss = new JBoss5xEverythingUnitTestCase("jboss");
jboss.assertEverything(jbossMetaData, Mode.JBOSS);
-
+ jboss.assertWebservices(jbossMetaData.getWebservices());
+
//jbossMetaData.setOverridenMetaData(ejbJarMetaData);
// Create the merged view
jbossMetaData.merge(null, ejbJarMetaData);
@@ -149,6 +227,9 @@
assertNotNull(ejb);
JBossSessionBeanMetaData jejb = (JBossSessionBeanMetaData) ejb;
ejbJar.assertFullSessionBean("session1", jejb, Mode.JBOSS);
+ // Basic check if EjbReferences.invokerBindings are merged
+ assertEjbReferenceInvokerBindings(ejb);
+ assertInvokerBindings(jbossMetaData.getInvokerProxyBindings());
}
/**
@@ -394,4 +475,12 @@
assertEquals("session1Invoker1EjbName1", ejbRef.getInvokerBinding("invokerProxyBinding1Name"));
assertEquals("session1Invoker2EjbName1", ejbRef.getInvokerBinding("invokerProxyBinding2Name"));
}
+
+ private void assertInvokerBindings(InvokerProxyBindingsMetaData invokers)
+ {
+ assertNotNull(invokers);
+ assertTrue(invokers.size() > 0);
+ assertNotNull(invokers.get("invokerProxyBinding1Name"));
+ assertNotNull(invokers.get("invokerProxyBinding2Name"));
+ }
}
\ No newline at end of file
Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java 2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss5xEverythingUnitTestCase.java 2008-07-04 08:30:27 UTC (rev 75375)
@@ -343,7 +343,7 @@
}
}
- private void assertWebservices(WebservicesMetaData webservices)
+ public void assertWebservices(WebservicesMetaData webservices)
{
assertNotNull(webservices);
assertId("webservices", webservices);
Modified: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/runas/jboss.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/runas/jboss.xml 2008-07-04 08:03:49 UTC (rev 75374)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/annotation/ejb3/runas/jboss.xml 2008-07-04 08:30:27 UTC (rev 75375)
@@ -6,7 +6,9 @@
<jboss>
<security-domain>java:/jaas/cts</security-domain>
<missing-method-permissions-excluded-mode>false</missing-method-permissions-excluded-mode>
- <webservices/>
+ <webservices>
+ <context-root>/webservicesContextRoot</context-root>
+ </webservices>
<enterprise-beans>
<session>
<ejb-name>InterMediateBean</ejb-name>
More information about the jboss-cvs-commits
mailing list