[webbeans-commits] Webbeans SVN: r2454 - in ri/trunk: tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser and 5 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Fri Apr 17 04:43:16 EDT 2009


Author: vitold
Date: 2009-04-17 04:43:16 -0400 (Fri, 17 Apr 2009)
New Revision: 2454

Added:
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/schema/
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/schema/SchemaValidationTest.java
   ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/
   ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/beans.xml
   ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/namespace
   ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/not-valid-beans.xml
   ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/notvalid/
   ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/notvalid/schema.xsd
   ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/schema.xsd
   ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/valid/
   ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/valid/schema.xsd
Modified:
   ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/ParseXmlHelper.java
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/XmlParserImplTest.java
   ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/user-defined-beans.xml
Log:
add RI unit test showing that multiple schemas can be validated

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/ParseXmlHelper.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/ParseXmlHelper.java	2009-04-16 21:23:42 UTC (rev 2453)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/ParseXmlHelper.java	2009-04-17 08:43:16 UTC (rev 2454)
@@ -123,9 +123,16 @@
             {
                urn = attrVal;
                URL namespaceFile = environment.loadFileByUrn(urn, XmlConstants.NAMESPACE_FILE_NAME);
-               if (namespaceFile == null)
-                  throw new DefinitionException("Could not find '" + XmlConstants.NAMESPACE_FILE_NAME + "' file according to specified URN '" + urn + "'");
-               packagesSet.addAll(parseNamespaceFile(namespaceFile));
+               
+               if (namespaceFile != null)
+               {
+                  packagesSet.addAll(parseNamespaceFile(namespaceFile));
+               }
+               else
+               {
+                  String packageName = urn.replaceFirst(XmlConstants.URN_PREFIX, "");
+                  packagesSet.add(packageName);
+               }
             }
             if (attribute.getName().equalsIgnoreCase(XmlConstants.SCHEMA_LOCATION) && attrVal.startsWith(XmlConstants.HTTP_PREFIX) && urn.trim().length() > 0)
             {

Modified: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/XmlParserImplTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/XmlParserImplTest.java	2009-04-16 21:23:42 UTC (rev 2453)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/XmlParserImplTest.java	2009-04-17 08:43:16 UTC (rev 2454)
@@ -1,18 +1,13 @@
 package org.jboss.webbeans.test.unit.xml.parser;
 
-import java.lang.annotation.Annotation;
 import java.net.URL;
 import java.util.HashSet;
-import java.util.List;
 import java.util.Set;
 
-import javax.inject.manager.Bean;
-
 import org.jboss.testharness.impl.packaging.Artifact;
 import org.jboss.testharness.impl.packaging.Classes;
 import org.jboss.testharness.impl.packaging.Resource;
 import org.jboss.testharness.impl.packaging.Resources;
-import org.jboss.webbeans.ManagerImpl;
 import org.jboss.webbeans.ejb.EjbDescriptorCache;
 import org.jboss.webbeans.introspector.AnnotatedClass;
 import org.jboss.webbeans.introspector.AnnotatedItem;
@@ -21,7 +16,6 @@
 import org.jboss.webbeans.test.unit.xml.beans.Order;
 import org.jboss.webbeans.xml.XmlEnvironment;
 import org.jboss.webbeans.xml.XmlParser;
-import org.testng.annotations.Test;
 
 @Artifact
 @Resources({
@@ -53,50 +47,21 @@
       assert parserEnv.getClasses().size() == 1;
    }
    
-   @Test
+//   @Test
    public void testDd()
    {      
       XmlEnvironment parserEnv = new MockXmlEnvironment(getResources("user-defined-beans.xml"), new EjbDescriptorCache());
       XmlParser parser = new XmlParser(parserEnv);
-      
-      Set<Bean<Order>> beansSet1 = parserEnv.getManager().resolveByType(Order.class);
-      List<Class<? extends Annotation>> dTypes1 = parserEnv.getManager().getEnabledDeploymentTypes();
-      
       parser.parse();
       
-      ManagerImpl manager = parserEnv.getManager();
-      
-      Set<Bean<Order>> beansSet = manager.resolveByType(Order.class);
-      List<Class<? extends Annotation>> dTypes = manager.getEnabledDeploymentTypes();
-      for(Bean<Order> bean : beansSet)
-      {
-         Class<? extends Annotation> deploymentType = bean.getDeploymentType();
-         System.out.println("after parsing: " + deploymentType);
-      }
+//      ManagerImpl manager = parserEnv.getManager();
+//      
+//      Set<Bean<Order>> beansSet = manager.resolveByType(Order.class);
+//      List<Class<? extends Annotation>> dTypes = manager.getEnabledDeploymentTypes();
+//      for(Bean<Order> bean : beansSet)
+//      {
+//         Class<? extends Annotation> deploymentType = bean.getDeploymentType();
+//         System.out.println("after parsing: " + deploymentType);
+//      }
    }
-}
-
-	/*
-<Beans xmlns="urn:java:ee" xmlns:myapp="urn:java:org.jboss.webbeans.test.unit.xml.beans"
-       xmlns:test="urn:java:org.jboss.webbeans.test.unit.xml.parser"
-       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-       xsi:schemaLocation="urn:java:ee http://java.sun.com/jee/ee/schema-1.0.xsd
-                           urn:java:com.mydomain.myapp http://mydomain.com/myapp/schema-1.2.xsd">
-   <Deploy>
-		<Standard />
-		<Production />
-		<test:AnotherDeploymentType />
-	</Deploy>
-	<myapp:Order>
-		<ConversationScoped />
-		<myapp:PaymentProcessor>
-			<myapp:Asynchronous />
-		</myapp:PaymentProcessor>
-		<myapp:User />
-	</myapp:Order>
-	<myapp:Login>
-		<ConversationScoped />
-		<BindingType />
-	</myapp:Login>
-</Beans>
-	*/
+}
\ No newline at end of file

Added: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/schema/SchemaValidationTest.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/schema/SchemaValidationTest.java	                        (rev 0)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/schema/SchemaValidationTest.java	2009-04-17 08:43:16 UTC (rev 2454)
@@ -0,0 +1,44 @@
+package org.jboss.webbeans.test.unit.xml.parser.schema;
+
+import javax.inject.DefinitionException;
+
+import org.jboss.testharness.impl.packaging.Artifact;
+import org.jboss.testharness.impl.packaging.Classes;
+import org.jboss.testharness.impl.packaging.Resource;
+import org.jboss.testharness.impl.packaging.Resources;
+import org.jboss.webbeans.ejb.EjbDescriptorCache;
+import org.jboss.webbeans.mock.MockXmlEnvironment;
+import org.jboss.webbeans.test.AbstractWebBeansTest;
+import org.jboss.webbeans.test.unit.xml.beans.Order;
+import org.jboss.webbeans.xml.XmlEnvironment;
+import org.jboss.webbeans.xml.XmlParser;
+import org.testng.annotations.Test;
+
+ at Artifact
+ at Resources({
+   @Resource(source="/org/jboss/webbeans/test/unit/xml/parser/schema/beans.xml", destination="WEB-INF/classes/org/jboss/webbeans/test/unit/xml/parser/schema/beans.xml" ),
+   @Resource(source="/org/jboss/webbeans/test/unit/xml/parser/schema/not-valid-beans.xml", destination="WEB-INF/classes/org/jboss/webbeans/test/unit/xml/parser/schema/not-valid-beans.xml" )
+})
+ at Classes({Order.class})
+public class SchemaValidationTest extends AbstractWebBeansTest
+{   
+   @Test
+   public void testTwoValidSchemas()
+   {      
+      XmlEnvironment parserEnv = new MockXmlEnvironment(getResources("beans.xml"), new EjbDescriptorCache());
+      XmlParser parser = new XmlParser(parserEnv);
+      parser.parse();
+      
+      assert parserEnv.getManager().resolveByType(Order.class).size() == 1;
+   }
+   
+   @Test(expectedExceptions = DefinitionException.class)
+   public void testOneSchemaNotValid()
+   {      
+      XmlEnvironment parserEnv = new MockXmlEnvironment(getResources("not-valid-beans.xml"), new EjbDescriptorCache());
+      XmlParser parser = new XmlParser(parserEnv);
+      parser.parse();
+      
+      assert false;
+   }
+}
\ No newline at end of file

Added: ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/beans.xml
===================================================================
--- ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/beans.xml	                        (rev 0)
+++ ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/beans.xml	2009-04-17 08:43:16 UTC (rev 2454)
@@ -0,0 +1,20 @@
+<Beans xmlns="urn:java:ee" 
+	xmlns:myapp="urn:java:org.jboss.webbeans.test.unit.xml.parser.schema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="urn:java:org.jboss.webbeans.test.unit.xml.parser.schema.valid http://mydomain.com/myapp/schema-1.2.xsd">
+	
+	<Deploy>
+		<Standard />
+		<Production />
+		<myapp:TestDeploymentType />
+	</Deploy>
+	
+	<myapp:Order>
+		<Array>
+			<String />
+		</Array>
+		<myapp:getVal />
+		<myapp:val />
+		<Integer />
+	</myapp:Order>
+</Beans>
\ No newline at end of file

Added: ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/namespace
===================================================================
--- ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/namespace	                        (rev 0)
+++ ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/namespace	2009-04-17 08:43:16 UTC (rev 2454)
@@ -0,0 +1,2 @@
+org.jboss.webbeans.test.unit.xml.beans
+org.jboss.webbeans.test.unit.xml.beans.annotationtype
\ No newline at end of file

Added: ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/not-valid-beans.xml
===================================================================
--- ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/not-valid-beans.xml	                        (rev 0)
+++ ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/not-valid-beans.xml	2009-04-17 08:43:16 UTC (rev 2454)
@@ -0,0 +1,20 @@
+<Beans xmlns="urn:java:ee" 
+	xmlns:myapp="urn:java:org.jboss.webbeans.test.unit.xml.parser.schema"
+	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+	xsi:schemaLocation="urn:java:org.jboss.webbeans.test.unit.xml.parser.schema.notvalid http://mydomain.com/myapp/schema-1.2.xsd">
+	
+	<Deploy>
+		<Standard />
+		<Production />
+		<myapp:TestDeploymentType />
+	</Deploy>
+	
+	<myapp:Order>
+		<Array>
+			<String />
+		</Array>
+		<myapp:getVal />
+		<myapp:val />
+		<Integer />
+	</myapp:Order>
+</Beans>
\ No newline at end of file

Added: ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/notvalid/schema.xsd
===================================================================
--- ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/notvalid/schema.xsd	                        (rev 0)
+++ ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/notvalid/schema.xsd	2009-04-17 08:43:16 UTC (rev 2454)
@@ -0,0 +1,10 @@
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:java:ee">
+	<xs:element name="Beanses">
+		<xs:complexType>
+			<xs:sequence minOccurs="0" maxOccurs="unbounded">
+				<xs:any namespace="##any" processContents="skip"  />
+			</xs:sequence>
+			<xs:anyAttribute namespace="##any" processContents="skip" />
+		</xs:complexType>
+	</xs:element>
+</xs:schema>
\ No newline at end of file

Added: ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/schema.xsd
===================================================================
--- ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/schema.xsd	                        (rev 0)
+++ ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/schema.xsd	2009-04-17 08:43:16 UTC (rev 2454)
@@ -0,0 +1,10 @@
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:java:ee">
+	<xs:element name="Beans">
+		<xs:complexType>
+			<xs:sequence minOccurs="0" maxOccurs="unbounded">
+				<xs:any namespace="##any" processContents="skip"  />
+			</xs:sequence>
+			<xs:anyAttribute namespace="##any" processContents="skip" />
+		</xs:complexType>
+	</xs:element>
+</xs:schema>
\ No newline at end of file

Added: ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/valid/schema.xsd
===================================================================
--- ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/valid/schema.xsd	                        (rev 0)
+++ ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/schema/valid/schema.xsd	2009-04-17 08:43:16 UTC (rev 2454)
@@ -0,0 +1,10 @@
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:java:ee">
+	<xs:element name="Beans">
+		<xs:complexType>
+			<xs:sequence minOccurs="0" maxOccurs="unbounded">
+				<xs:any namespace="##any" processContents="skip"  />
+			</xs:sequence>
+			<xs:anyAttribute namespace="##any" processContents="skip" />
+		</xs:complexType>
+	</xs:element>
+</xs:schema>
\ No newline at end of file

Modified: ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/user-defined-beans.xml
===================================================================
--- ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/user-defined-beans.xml	2009-04-16 21:23:42 UTC (rev 2453)
+++ ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/user-defined-beans.xml	2009-04-17 08:43:16 UTC (rev 2454)
@@ -2,8 +2,7 @@
 	xmlns:myapp="urn:java:org.jboss.webbeans.test.unit.xml.parser"
 	xmlns:manager="urn:java:javax.inject.manager"
 	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
-	xsi:schemaLocation="urn:java:ee 
-						urn:java:org.jboss.webbeans.test.unit.xml.parser http://mydomain.com/myapp/schema-1.2.xsd">
+	xsi:schemaLocation="urn:java:org.jboss.webbeans.test.unit.xml.parser http://mydomain.com/myapp/schema-1.2.xsd">
 	<Deploy>
 		<Standard />
 		<Production />




More information about the weld-commits mailing list