[webbeans-commits] Webbeans SVN: r2430 - in ri/trunk: impl/src/main/java/org/jboss/webbeans/xml and 5 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Apr 16 08:12:33 EDT 2009


Author: vitold
Date: 2009-04-16 08:12:33 -0400 (Thu, 16 Apr 2009)
New Revision: 2430

Modified:
   ri/trunk/impl/pom.xml
   ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/ParseXmlHelper.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/XmlParser.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/registrator/bean/ext/ResourceElementRegistrator.java
   ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/beans/Order.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
   ri/trunk/version-matrix/pom.xml
Log:
make 3.6

Modified: ri/trunk/impl/pom.xml
===================================================================
--- ri/trunk/impl/pom.xml	2009-04-16 11:21:41 UTC (rev 2429)
+++ ri/trunk/impl/pom.xml	2009-04-16 12:12:33 UTC (rev 2430)
@@ -86,26 +86,6 @@
       </dependency>
       
       <dependency>
-         <groupId>msv</groupId>
-         <artifactId>isorelax</artifactId>
-      </dependency>
-      
-      <dependency>
-         <groupId>msv</groupId>
-         <artifactId>msv</artifactId>
-      </dependency>
-      
-      <dependency>
-         <groupId>msv</groupId>
-         <artifactId>relaxngDatatype</artifactId>
-      </dependency>
-      
-      <dependency>
-         <groupId>msv</groupId>
-         <artifactId>xsdlib</artifactId>
-      </dependency>
-      
-      <dependency>
          <groupId>javax.jms</groupId>
          <artifactId>jms</artifactId>
          <optional>true</optional>

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 11:21:41 UTC (rev 2429)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/ParseXmlHelper.java	2009-04-16 12:12:33 UTC (rev 2430)
@@ -12,20 +12,19 @@
 import java.util.Set;
 
 import javax.inject.DefinitionException;
+import javax.xml.transform.stream.StreamSource;
+import javax.xml.validation.Schema;
+import javax.xml.validation.SchemaFactory;
+import javax.xml.validation.Validator;
 
 import org.dom4j.Attribute;
 import org.dom4j.Element;
 import org.dom4j.Namespace;
 import org.dom4j.QName;
-import org.iso_relax.verifier.Verifier;
-import org.iso_relax.verifier.VerifierConfigurationException;
-import org.iso_relax.verifier.VerifierFactory;
 import org.jboss.webbeans.introspector.AnnotatedClass;
 import org.jboss.webbeans.resources.spi.ResourceLoadingException;
 import org.xml.sax.SAXException;
 
-import com.sun.msv.verifier.jarv.TheFactoryImpl;
-
 public class ParseXmlHelper
 {
    public static boolean isJavaEeNamespace(Element element)
@@ -148,31 +147,29 @@
       {
          Namespace namespace = (Namespace) namespacesIterator.next();
          String prefix = namespace.getPrefix();
+         String uri = namespace.getURI();
          
-         for(String uri : namespace.getURI().split(" "))
+         if (uri.startsWith(XmlConstants.URN_PREFIX))
          {
-            if (uri.startsWith(XmlConstants.URN_PREFIX))
-            {
-               Set<String> packagesSet = new HashSet<String>();
+            Set<String> packagesSet = new HashSet<String>();
 
-               URL schemaUrl = environment.loadFileByUrn(uri, XmlConstants.SCHEMA_FILE_NAME);
-               if(schemaUrl != null)
-                  validateXmlWithXsd(xmlUrl, schemaUrl);
-               
-               URL namespaceFile = environment.loadFileByUrn(uri, XmlConstants.NAMESPACE_FILE_NAME);
-               if (namespaceFile != null)
-               {
-                  packagesSet.addAll(parseNamespaceFile(namespaceFile));
-               }
-               else
-               {
-                  String packageName = uri.replaceFirst(XmlConstants.URN_PREFIX, "");
-                  packagesSet.add(packageName);
-               }
-
-               addElementToPackagesMap(packagesMap, prefix, packagesSet);
+            URL schemaUrl = environment.loadFileByUrn(uri, XmlConstants.SCHEMA_FILE_NAME);
+            if(schemaUrl != null)
+               validateXmlWithXsd(xmlUrl, schemaUrl);
+            
+            URL namespaceFile = environment.loadFileByUrn(uri, XmlConstants.NAMESPACE_FILE_NAME);
+            if (namespaceFile != null)
+            {
+               packagesSet.addAll(parseNamespaceFile(namespaceFile));
             }
-         }                  
+            else
+            {
+               String packageName = uri.replaceFirst(XmlConstants.URN_PREFIX, "");
+               packagesSet.add(packageName);
+            }
+
+            addElementToPackagesMap(packagesMap, prefix, packagesSet);
+         }
       }
    }
    
@@ -180,25 +177,22 @@
    {      
       try
       {
-         VerifierFactory factory = new TheFactoryImpl();
-         Verifier verifier = factory.newVerifier(schemaUrl.openStream());
-         verifier.verify(xmlUrl.toExternalForm());
+         final StreamSource stream = new StreamSource(xmlUrl.toExternalForm());
+         final SchemaFactory schemaFactory = SchemaFactory.newInstance("http://www.w3.org/2001/XMLSchema");
+         final Schema schema = schemaFactory.newSchema(schemaUrl);
+         final Validator validator = schema.newValidator();
+         validator.validate(stream);
       }
-      catch (VerifierConfigurationException e)
+      catch(SAXException e)
       {
-         String message = "VerifierConfigurationException while create verifier for " + schemaUrl;
+         String message = "SAXException while validate " + xmlUrl + " with " + schemaUrl;
          throw new DefinitionException(message, e);
       }
-      catch (SAXException e)
+      catch(IOException e)
       {
          String message = "IOException while validate " + xmlUrl + " with " + schemaUrl;
          throw new DefinitionException(message, e);
       }
-      catch (IOException e)
-      {
-         String message = "IOException while validate " + xmlUrl + " with " + schemaUrl;
-         throw new DefinitionException(message, e);
-      }
    }
 
    public static List<Element> findElementsInEeNamespace(Element elementParent, String elementName)

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/XmlParser.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/XmlParser.java	2009-04-16 11:21:41 UTC (rev 2429)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/XmlParser.java	2009-04-16 12:12:33 UTC (rev 2430)
@@ -60,8 +60,8 @@
          {
             parseForArrays(document);
             parseForAnnotationTypes(document);
+            parseForDeploy(document);
             parseForBeans(document);
-            parseForDeploy(document);
          }
       }
    }

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/registrator/bean/ext/ResourceElementRegistrator.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/registrator/bean/ext/ResourceElementRegistrator.java	2009-04-16 11:21:41 UTC (rev 2429)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/registrator/bean/ext/ResourceElementRegistrator.java	2009-04-16 12:12:33 UTC (rev 2430)
@@ -1,10 +1,20 @@
 package org.jboss.webbeans.xml.registrator.bean.ext;
 
 import java.lang.annotation.Annotation;
+import java.lang.reflect.Method;
+import java.util.HashSet;
 import java.util.Iterator;
 import java.util.List;
 import java.util.Set;
 
+import javax.annotation.Resource;
+import javax.ejb.EJB;
+import javax.inject.Current;
+import javax.inject.DeploymentType;
+import javax.persistence.PersistenceContext;
+import javax.persistence.PersistenceUnit;
+import javax.xml.ws.WebServiceRef;
+
 import org.dom4j.Element;
 import org.jboss.webbeans.bean.RIBean;
 import org.jboss.webbeans.bean.ee.AbstractJavaEEResourceBean;
@@ -17,6 +27,7 @@
 import org.jboss.webbeans.introspector.AnnotatedClass;
 import org.jboss.webbeans.persistence.spi.JpaServices;
 import org.jboss.webbeans.resources.spi.ResourceServices;
+import org.jboss.webbeans.util.reflection.AnnotationImpl;
 import org.jboss.webbeans.ws.spi.WebServices;
 import org.jboss.webbeans.xml.ParseXmlHelper;
 import org.jboss.webbeans.xml.XmlConstants;
@@ -169,12 +180,48 @@
    
    private Class<? extends Annotation> obtainDeploymentType(Element beanElement)
    {
+      Iterator<?> elIterator = beanElement.elementIterator();
+      while (elIterator.hasNext())
+      {
+         Element childElement = (Element) elIterator.next();
+         AnnotatedClass<?> childClass = ParseXmlHelper.loadElementClass(childElement, Object.class, environment, packagesMap);
+         if(childClass.getRawType().isAnnotation() && childClass.isAnnotationPresent(DeploymentType.class))
+            return ParseXmlHelper.loadAnnotationClass(childElement, Annotation.class, environment, packagesMap);
+      }
+      
       return null;
    }
    
    private Set<Annotation> obtainBindings(Element beanElement)
    {
-      return null;
+      Set<Annotation> result = new HashSet<Annotation>();
+      
+      Iterator<?> elIterator = beanElement.elementIterator();
+      while (elIterator.hasNext())
+      {
+         Element childElement = (Element) elIterator.next();
+         AnnotatedClass<?> childClass = ParseXmlHelper.loadElementClass(childElement, Object.class, environment, packagesMap);
+         if(childClass.getRawType().isAnnotation() && !childClass.isAnnotationPresent(DeploymentType.class) && 
+               !childClass.getRawType().equals(Resource.class) && !childClass.getRawType().equals(PersistenceContext.class) && 
+               !childClass.getRawType().equals(PersistenceUnit.class) && !childClass.getRawType().equals(EJB.class) && 
+               !childClass.getRawType().equals(WebServiceRef.class))
+         {
+            Class<?> annotationClass = childClass.getRawType();
+            Method[] annotationMethods = annotationClass.getDeclaredMethods();
+            AnnotationImpl annotation = new AnnotationImpl(annotationClass, annotationMethods);
+            result.add(annotation);
+         }
+      }
+      
+      if(result.size() == 0)
+      {         
+         Class<?> annotationClass = Current.class;
+         Method[] annotationMethods = annotationClass.getDeclaredMethods();
+         AnnotationImpl annotation = new AnnotationImpl(annotationClass, annotationMethods);
+         result.add(annotation);
+      }
+      
+      return result;
    }
    
    private String obtainElementValue(Element elementParent, String elementName)

Modified: ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/beans/Order.java
===================================================================
--- ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/beans/Order.java	2009-04-16 11:21:41 UTC (rev 2429)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/beans/Order.java	2009-04-16 12:12:33 UTC (rev 2430)
@@ -1,25 +1,34 @@
 package org.jboss.webbeans.test.unit.xml.beans;
 
+import javax.context.Dependent;
+import javax.inject.Current;
+import javax.inject.Initializer;
+import javax.inject.manager.Manager;
+
 import org.jboss.webbeans.test.unit.xml.beans.annotationtype.TestBindingType;
+import org.jboss.webbeans.test.unit.xml.beans.annotationtype.TestDeploymentType;
 import org.jboss.webbeans.test.unit.xml.beans.annotationtype.TestInterceptorBindingType;
 import org.jboss.webbeans.test.unit.xml.beans.annotationtype.TestStereotype;
 
 @TestBindingType
 @TestInterceptorBindingType
 @TestStereotype
+ at TestDeploymentType
 public class Order
 {
-   public int val;
+   private boolean active;
    
-   public String[] strArray;
-   
-   public Order(int val)
+   @Initializer
+   public Order(@Current Manager manager)
    {
-      this.val = val;
+      if (manager.getContext(Dependent.class).isActive())
+      {
+         active = true;
+      }
    }
    
-   public int getVal()
+   public boolean isActive()
    {
-      return val;
+      return active;
    }
 }

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 11:21:41 UTC (rev 2429)
+++ ri/trunk/tests/src/test/java/org/jboss/webbeans/test/unit/xml/parser/XmlParserImplTest.java	2009-04-16 12:12:33 UTC (rev 2430)
@@ -3,6 +3,7 @@
 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;
@@ -52,20 +53,24 @@
       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);
+      
+      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(bean.getClass());
+         System.out.println("after parsing: " + deploymentType);
       }
    }
 }

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 11:21:41 UTC (rev 2429)
+++ ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/user-defined-beans.xml	2009-04-16 12:12:33 UTC (rev 2430)
@@ -1,5 +1,6 @@
 <Beans xmlns="urn:java:ee" 
 	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">
@@ -25,19 +26,19 @@
 	</myapp:TestStereotype>
 	
 	<myapp:Order>
-		<RequestScoped />
 		<myapp:TestBindingType />
 		<myapp:TestInterceptorBindingType />
 		<myapp:TestStereotype />
-		<myapp:TestDeploymentType />		
-		<myapp:val />
-		<Array>
-			<String />
-		</Array>
-		<Integer />
-		<myapp:getVal />
+		<myapp:TestDeploymentType />
+		<myapp:isActive />
+		<manager:Manager />
 	</myapp:Order>
 	<myapp:PaymentService>
+		<RequestScoped />
+		<myapp:TestBindingType />
+		<myapp:TestInterceptorBindingType />
+		<myapp:TestStereotype />
+		<myapp:TestDeploymentType />
 		<Resource>
 			<name>java:app/service/PaymentService</name>
 		</Resource>

Modified: ri/trunk/version-matrix/pom.xml
===================================================================
--- ri/trunk/version-matrix/pom.xml	2009-04-16 11:21:41 UTC (rev 2429)
+++ ri/trunk/version-matrix/pom.xml	2009-04-16 12:12:33 UTC (rev 2430)
@@ -116,30 +116,6 @@
             <artifactId>log4j</artifactId>
             <version>1.2.14</version>
          </dependency>
-         
-         <dependency>
-            <groupId>msv</groupId>
-            <artifactId>msv</artifactId>
-            <version>20050913</version>
-         </dependency>
-         
-         <dependency>
-            <groupId>msv</groupId>
-            <artifactId>isorelax</artifactId>
-            <version>20050913</version>
-         </dependency>
-         
-         <dependency>
-            <groupId>msv</groupId>
-            <artifactId>relaxngDatatype</artifactId>
-            <version>20050913</version>
-         </dependency>
-         
-         <dependency>
-            <groupId>msv</groupId>
-            <artifactId>xsdlib</artifactId>
-            <version>20050913</version>
-         </dependency>
 
          <dependency>
             <groupId>jaxen</groupId>




More information about the weld-commits mailing list