[jboss-cvs] JBossAS SVN: r66174 - in projects/metadata/trunk/src: test/java/org/jboss/test/metadata/ejb and 1 other directories.

jboss-cvs-commits at lists.jboss.org jboss-cvs-commits at lists.jboss.org
Tue Oct 16 07:02:33 EDT 2007


Author: wolfc
Date: 2007-10-16 07:02:33 -0400 (Tue, 16 Oct 2007)
New Revision: 66174

Added:
   projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testDependencies.xml
Modified:
   projects/metadata/trunk/src/main/resources/schema/jboss_5_0.xsd
   projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
Log:
JBAS-4506: test and fix for dependencies

Modified: projects/metadata/trunk/src/main/resources/schema/jboss_5_0.xsd
===================================================================
--- projects/metadata/trunk/src/main/resources/schema/jboss_5_0.xsd	2007-10-16 10:53:42 UTC (rev 66173)
+++ projects/metadata/trunk/src/main/resources/schema/jboss_5_0.xsd	2007-10-16 11:02:33 UTC (rev 66174)
@@ -423,7 +423,7 @@
                       maxOccurs="unbounded"/>
          <xsd:element name="message-destination-ref" type="jboss:jboss-message-destination-refType"
                       minOccurs="0" maxOccurs="unbounded"/>
-         <xsd:element name="depends" type="jboss:dependsType" minOccurs="0"/>
+         <xsd:element name="depends" type="jboss:dependsType" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="annotation" type="jboss:annotationType" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="ignore-dependency" type="jboss:ignore-dependencyType" minOccurs="0"/>
          <xsd:element name="aop-domain-name" type="jboss:aop-domain-nameType" minOccurs="0"/>
@@ -741,7 +741,7 @@
                       minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="security-domain" type="jboss:security-domainType" minOccurs="0"/>
          <xsd:element name="method-attributes" type="jboss:method-attributesType" minOccurs="0"/>
-         <xsd:element name="depends" type="jboss:dependsType" minOccurs="0"/>
+         <xsd:element name="depends" type="jboss:dependsType" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="annotation" type="jboss:annotationType" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="ignore-dependency" type="jboss:ignore-dependencyType" minOccurs="0"/>
          <xsd:element name="aop-domain-name" type="jboss:aop-domain-nameType" minOccurs="0"/>
@@ -795,7 +795,7 @@
                       minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="security-domain" type="javaee:xsdStringType" minOccurs="0"/>
          <xsd:element name="method-attributes" type="jboss:method-attributesType" minOccurs="0"/>
-         <xsd:element name="depends" type="javaee:xsdStringType" minOccurs="0"/>
+         <xsd:element name="depends" type="javaee:xsdStringType" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="annotation" type="jboss:annotationType" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="ignore-dependency" type="jboss:ignore-dependencyType" minOccurs="0"/>
          <xsd:element name="aop-domain-name" type="jboss:aop-domain-nameType" minOccurs="0"/>
@@ -910,7 +910,7 @@
          <xsd:element name="cluster-config" type="jboss:cluster-configType" minOccurs="0"/>
          <xsd:element name="security-domain" type="jboss:security-domainType" minOccurs="0"/>
          <xsd:element name="method-attributes" type="jboss:method-attributesType" minOccurs="0"/>
-         <xsd:element name="depends" type="jboss:dependsType" minOccurs="0"/>
+         <xsd:element name="depends" type="jboss:dependsType" minOccurs="0" maxOccurs="unbounded"/>
          <xsd:element name="annotation" type="jboss:annotationType" minOccurs="0"/>
          <xsd:element name="ignore-dependency" type="jboss:ignore-dependencyType" minOccurs="0"/>
          <xsd:element name="aop-domain-name" type="jboss:aop-domain-nameType" minOccurs="0"/>

Modified: projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java
===================================================================
--- projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2007-10-16 10:53:42 UTC (rev 66173)
+++ projects/metadata/trunk/src/test/java/org/jboss/test/metadata/ejb/JBoss50UnitTestCase.java	2007-10-16 11:02:33 UTC (rev 66174)
@@ -21,7 +21,9 @@
 */
 package org.jboss.test.metadata.ejb;
 
+import java.util.HashSet;
 import java.util.Iterator;
+import java.util.Set;
 
 import junit.framework.Test;
 
@@ -48,6 +50,7 @@
 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.ResourceInjectionTargetMetaData;
 import org.jboss.test.metadata.javaee.AbstractJavaEEMetaDataTest;
 import org.jboss.test.metadata.javaee.JBossXBTestDelegate;
 import org.jboss.xb.binding.sunday.unmarshalling.DefaultSchemaResolver;
@@ -100,6 +103,35 @@
    }
    
    /**
+    * Test whether the cardinality of depends and ignore-dependency is correct.
+    */
+   public void testDependencies() throws Exception
+   {
+//      JBossXBTestDelegate xbdelegate = (JBossXBTestDelegate) super.getDelegate();
+//      xbdelegate.setValidateSchema(false);
+      
+      JBossMetaData result = unmarshal();
+      
+      assertEquals(1, result.getEnterpriseBeans().size());
+      JBossEnterpriseBeanMetaData bean = result.getEnterpriseBean("MyStatelessBean");
+      assertNotNull(bean);
+      Set<String> expected = new HashSet<String>();
+      expected.add("A");
+      expected.add("B");
+      assertEquals(expected, bean.getDepends());
+      
+      assertNotNull(bean.getIgnoreDependency());
+      assertNotNull(bean.getIgnoreDependency().getInjectionTargets());
+      int i = 1;
+      for(ResourceInjectionTargetMetaData target : bean.getIgnoreDependency().getInjectionTargets())
+      {
+         assertEquals("Class" + i, target.getInjectionTargetClass());
+         assertEquals(Character.toString((char) ('B' + i)), target.getInjectionTargetName());
+         i++;
+      }
+   }
+   
+   /**
     * EJBTHREE-936: allow for an unknown bean type
     */
    public void testEjbthree936() throws Exception

Added: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testDependencies.xml
===================================================================
--- projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testDependencies.xml	                        (rev 0)
+++ projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testDependencies.xml	2007-10-16 11:02:33 UTC (rev 66174)
@@ -0,0 +1,25 @@
+<jboss
+        xmlns="http://www.jboss.com/xml/ns/javaee"
+        xmlns:jee="http://java.sun.com/xml/ns/javaee"
+        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+        xsi:schemaLocation="http://www.jboss.com/xml/ns/javaee
+                            http://www.jboss.org/j2ee/schema/jboss_5_0.xsd"
+        version="3.0">
+   <enterprise-beans>
+      <session>
+         <ejb-name>MyStatelessBean</ejb-name>
+         <depends>A</depends>
+         <depends>B</depends>
+         <ignore-dependency>
+            <injection-target>
+               <injection-target-class>Class1</injection-target-class>
+               <injection-target-name>C</injection-target-name>
+            </injection-target>
+            <injection-target>
+               <injection-target-class>Class2</injection-target-class>
+               <injection-target-name>D</injection-target-name>
+            </injection-target>
+         </ignore-dependency>
+      </session>
+   </enterprise-beans>
+</jboss>


Property changes on: projects/metadata/trunk/src/test/resources/org/jboss/test/metadata/ejb/JBoss50_testDependencies.xml
___________________________________________________________________
Name: svn:keywords
   + Author Date Id Revision
Name: svn:eol-style
   + native




More information about the jboss-cvs-commits mailing list