[webbeans-commits] Webbeans SVN: r2427 - in ri/trunk: impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext and 2 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Thu Apr 16 03:58:29 EDT 2009


Author: vitold
Date: 2009-04-16 03:58:29 -0400 (Thu, 16 Apr 2009)
New Revision: 2427

Modified:
   ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/XmlConstants.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/AbstractBeanChildrenChecker.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/NotSimpleBeanChildrenChecker.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/ResourceBeanChildrenChecker.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/SimpleBeanChildrenChecker.java
   ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/registrator/bean/ext/ResourceElementRegistrator.java
   ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/user-defined-beans.xml
Log:
some changes with 3.6

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/XmlConstants.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/XmlConstants.java	2009-04-16 02:17:04 UTC (rev 2426)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/XmlConstants.java	2009-04-16 07:58:29 UTC (rev 2427)
@@ -46,8 +46,6 @@
    
    public static final String SCHEMA_LOCATION = "schemaLocation";
 
-   public static final String NAME = "name";
-
    public static final String MAPPED_NAME = "mappedName";
    
    public static final String UNIT_NAME = "unitName";
@@ -66,7 +64,7 @@
    
    public static final String ARRAY = "Array";
    
-   public static final String JNDI_NAME = "jndiName";
+   public static final String JNDI_NAME = "name";
    
    public static final String JAVA_GLOBAL = "java:global/";
    

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/AbstractBeanChildrenChecker.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/AbstractBeanChildrenChecker.java	2009-04-16 02:17:04 UTC (rev 2426)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/AbstractBeanChildrenChecker.java	2009-04-16 07:58:29 UTC (rev 2427)
@@ -62,6 +62,8 @@
    
    protected abstract void checkForConstructor(Element beanElement, AnnotatedClass<?> beanClass);
    
+   protected abstract void checkRIBean(Element beanElement, AnnotatedClass<?> beanClass);
+   
    protected AbstractBeanChildrenChecker(XmlEnvironment environment, Map<String, Set<String>> packagesMap)
    {
       super(environment, packagesMap);
@@ -102,7 +104,7 @@
          if(beanChildType.isAnnotation())
          {
             //bean child element declaring type-level metadata
-            checkAnnotationChild(beanChildElement, beanChildClass);
+            checkAnnotationChild(beanChildElement, beanChildClass, beanClass);
             return;
          }
          if(isJavaClass || isInterface)
@@ -134,7 +136,7 @@
       }
    }
    
-   private void checkAnnotationChild(Element beanChildElement, AnnotatedClass<?> beanChildClass)
+   private void checkAnnotationChild(Element beanChildElement, AnnotatedClass<?> beanChildClass, AnnotatedClass<?> beanClass)
    {
       if(beanChildClass.isAnnotationPresent(DeploymentType.class))
       {
@@ -169,6 +171,13 @@
             beanChildClass.isAnnotationPresent(WebServiceRef.class) || beanChildClass.isAnnotationPresent(PersistenceContext.class) || 
             beanChildClass.isAnnotationPresent(PersistenceUnit.class))
          return;
+      if(beanChildClass.getRawType().equals(Resource.class) || beanChildClass.getRawType().equals(EJB.class) || 
+            beanChildClass.getRawType().equals(WebServiceRef.class) || beanChildClass.getRawType().equals(PersistenceContext.class) || 
+            beanChildClass.getRawType().equals(PersistenceUnit.class))
+      {
+         checkRIBean(beanChildElement.getParent(), beanClass);
+         return;
+      }         
       
       throw new DefinitionException("Can't determine annotation type of <" + beanChildElement.getName() + "> element in bean '" + 
             beanChildElement.getParent().getName() + "'");

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/NotSimpleBeanChildrenChecker.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/NotSimpleBeanChildrenChecker.java	2009-04-16 02:17:04 UTC (rev 2426)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/NotSimpleBeanChildrenChecker.java	2009-04-16 07:58:29 UTC (rev 2427)
@@ -48,4 +48,8 @@
    {
       //There is nothing to validate
    }
+   
+   protected void checkRIBean(Element beanElement, AnnotatedClass<?> beanClass){
+      throw new DefinitionException("It is impossible determine some kind of resource in not Resource Bean");
+   }
 }

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/ResourceBeanChildrenChecker.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/ResourceBeanChildrenChecker.java	2009-04-16 02:17:04 UTC (rev 2426)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/ResourceBeanChildrenChecker.java	2009-04-16 07:58:29 UTC (rev 2427)
@@ -11,16 +11,15 @@
 import org.jboss.webbeans.xml.ParseXmlHelper;
 import org.jboss.webbeans.xml.XmlConstants;
 import org.jboss.webbeans.xml.XmlEnvironment;
-import org.jboss.webbeans.xml.checker.beanchildren.impl.BeanChildrenCheckerImpl;
 
-public class ResourceBeanChildrenChecker extends BeanChildrenCheckerImpl
+public class ResourceBeanChildrenChecker extends NotSimpleBeanChildrenChecker
 {
    public ResourceBeanChildrenChecker(XmlEnvironment environment, Map<String, Set<String>> packagesMap)
    {
       super(environment, packagesMap);
    }
 
-   public void checkChildren(Element beanElement, AnnotatedClass<?> beanClass)
+   protected void checkRIBean(Element beanElement, AnnotatedClass<?> beanClass)
    {
       List<Element> resourceElements = ParseXmlHelper.findElementsInEeNamespace(beanElement, XmlConstants.RESOURCE);
       if(resourceElements.size() > 0)
@@ -65,7 +64,7 @@
       if(resourceElements.size() > 1)
          throw new DefinitionException("There is more than one <Resource> elements in '" + resourceElement.getParent().getName() + "'");
                   
-      List<Element> nameElements = ParseXmlHelper.findElementsInEeNamespace(resourceElement, XmlConstants.NAME);
+      List<Element> nameElements = ParseXmlHelper.findElementsInEeNamespace(resourceElement, XmlConstants.JNDI_NAME);
       List<Element> mappedNameElements = ParseXmlHelper.findElementsInEeNamespace(resourceElement, XmlConstants.MAPPED_NAME);
       
       if(nameElements.size() + mappedNameElements.size() != 1)
@@ -73,7 +72,7 @@
                "or mapped name must be specified using the <name> or <mappedName> child elements of the <Resource> element");
       
       if(nameElements.size() == 1)
-         checkNameElementValue(nameElements.get(0));
+         checkJndiNameElementValue(nameElements.get(0));
    }
    
    private void checkPersContextElements(List<Element> persContextElements)
@@ -111,7 +110,7 @@
       if(ejbElements.size() > 1)
          throw new DefinitionException("There is more than one <EJB> elements in '" + ejbElement.getParent().getName() + "'");
       
-      List<Element> nameElements = ParseXmlHelper.findElementsInEeNamespace(ejbElement, XmlConstants.NAME);
+      List<Element> nameElements = ParseXmlHelper.findElementsInEeNamespace(ejbElement, XmlConstants.JNDI_NAME);
       List<Element> mappedNameElements = ParseXmlHelper.findElementsInEeNamespace(ejbElement, XmlConstants.MAPPED_NAME);
       List<Element> ejbLinkElements = ParseXmlHelper.findElementsInEeNamespace(ejbElement, XmlConstants.EJB_LINK);
       
@@ -120,7 +119,7 @@
                "must be specified using the <name>, <mappedName> or <ejbLink> child elements of the <EJB> element");
       
       if(nameElements.size() == 1)
-         checkNameElementValue(nameElements.get(0));
+         checkJndiNameElementValue(nameElements.get(0));
    }
    
    private void checkWebServiceRefElements(List<Element> webServiceRefElements)
@@ -131,7 +130,7 @@
          throw new DefinitionException("There is more than one <WebServiceRef> elements in '" + 
                webServiceRefElement.getParent().getName() + "'");
       
-      List<Element> nameElements = ParseXmlHelper.findElementsInEeNamespace(webServiceRefElement, XmlConstants.NAME);
+      List<Element> nameElements = ParseXmlHelper.findElementsInEeNamespace(webServiceRefElement, XmlConstants.JNDI_NAME);
       List<Element> mappedNameElements = ParseXmlHelper.findElementsInEeNamespace(webServiceRefElement, XmlConstants.MAPPED_NAME);
       
       if(nameElements.size() == 0 && mappedNameElements.size() == 0)
@@ -139,10 +138,10 @@
                "or mapped name must be specified using the <name> or <mappedName> child elements of the <WebServiceRef> element");
       
       if(nameElements.size() == 1)
-         checkNameElementValue(nameElements.get(0));
+         checkJndiNameElementValue(nameElements.get(0));
    }
    
-   private void checkNameElementValue(Element nameElement)
+   private void checkJndiNameElementValue(Element nameElement)
    {
       String nameValue = nameElement.getData().toString();
       if(!nameValue.startsWith(XmlConstants.JAVA_GLOBAL) && !nameValue.startsWith(XmlConstants.JAVA_APP))

Modified: ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/SimpleBeanChildrenChecker.java
===================================================================
--- ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/SimpleBeanChildrenChecker.java	2009-04-16 02:17:04 UTC (rev 2426)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/checker/beanchildren/ext/SimpleBeanChildrenChecker.java	2009-04-16 07:58:29 UTC (rev 2427)
@@ -89,4 +89,8 @@
          throw new DefinitionException("There is more than one constructor of the simple bean '" + beanElement.getName() + 
                "' with the same number and types of parameters as declared");
    }
+   
+   protected void checkRIBean(Element beanElement, AnnotatedClass<?> beanClass){
+      throw new DefinitionException("It is impossible determine some kind of resource in not Resource Bean");
+   }
 }

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 02:17:04 UTC (rev 2426)
+++ ri/trunk/impl/src/main/java/org/jboss/webbeans/xml/registrator/bean/ext/ResourceElementRegistrator.java	2009-04-16 07:58:29 UTC (rev 2427)
@@ -91,8 +91,8 @@
    
    private void registerResourceBean(Element resourceElement, AnnotatedClass<?> beanClass)
    {
-      Class<? extends Annotation> deploymentType = null;
-      Set<Annotation> bindings = null;
+      Class<? extends Annotation> deploymentType = obtainDeploymentType(resourceElement.getParent());
+      Set<Annotation> bindings = obtainBindings(resourceElement.getParent());
       Class<?> type = beanClass.getRawType();
       String jndiName = obtainElementValue(resourceElement, XmlConstants.JNDI_NAME);
       String mappedName = obtainElementValue(resourceElement, XmlConstants.MAPPED_NAME);
@@ -107,8 +107,8 @@
    
    private void registerPersContextBean(Element persContextElement, AnnotatedClass<?> beanClass)
    {
-      Class<? extends Annotation> deploymentType = null;
-      Set<Annotation> bindings = null;
+      Class<? extends Annotation> deploymentType = obtainDeploymentType(persContextElement.getParent());
+      Set<Annotation> bindings = obtainBindings(persContextElement.getParent());
       String unitName = obtainElementValue(persContextElement, XmlConstants.UNIT_NAME);
       
       RIBean<?> bean = new PersistenceContextBean(environment.getManager(), deploymentType, bindings, unitName);
@@ -121,8 +121,8 @@
    
    private void registerPersUnitBean(Element persUnitElement, AnnotatedClass<?> beanClass)
    {
-      Class<? extends Annotation> deploymentType = null;
-      Set<Annotation> bindings = null;
+      Class<? extends Annotation> deploymentType = obtainDeploymentType(persUnitElement.getParent());
+      Set<Annotation> bindings = obtainBindings(persUnitElement.getParent());
       String unitName = obtainElementValue(persUnitElement, XmlConstants.UNIT_NAME);
       
       RIBean<?> bean = new PersistenceUnitBean(environment.getManager(), deploymentType, bindings, unitName);
@@ -135,8 +135,8 @@
    
    private void registerEjbBean(Element ejbElement, AnnotatedClass<?> beanClass)
    {
-      Class<? extends Annotation> deploymentType = null;
-      Set<Annotation> bindings = null;
+      Class<? extends Annotation> deploymentType = obtainDeploymentType(ejbElement.getParent());
+      Set<Annotation> bindings = obtainBindings(ejbElement.getParent());
       Class<?> type = beanClass.getRawType();
       String jndiName = obtainElementValue(ejbElement, XmlConstants.JNDI_NAME);
       String mappedName = obtainElementValue(ejbElement, XmlConstants.MAPPED_NAME);
@@ -152,8 +152,8 @@
    
    private void registerWebServiceRefBean(Element webServiceRefElement, AnnotatedClass<?> beanClass)
    {
-      Class<? extends Annotation> deploymentType = null;
-      Set<Annotation> bindings = null;
+      Class<? extends Annotation> deploymentType = obtainDeploymentType(webServiceRefElement.getParent());
+      Set<Annotation> bindings = obtainBindings(webServiceRefElement.getParent());
       Class<?> type = beanClass.getRawType();
       String jndiName = obtainElementValue(webServiceRefElement, XmlConstants.JNDI_NAME);
       String mappedName = obtainElementValue(webServiceRefElement, XmlConstants.MAPPED_NAME);
@@ -167,6 +167,16 @@
       }
    }
    
+   private Class<? extends Annotation> obtainDeploymentType(Element beanElement)
+   {
+      return null;
+   }
+   
+   private Set<Annotation> obtainBindings(Element beanElement)
+   {
+      return null;
+   }
+   
    private String obtainElementValue(Element elementParent, String elementName)
    {
       List<Element> elements = ParseXmlHelper.findElementsInEeNamespace(elementParent, elementName);
@@ -177,15 +187,4 @@
       }
       return null;
    }
-   
-   private String obtainUnitName(Element persistenceElement)
-   {
-      List<Element> unitNameElements = ParseXmlHelper.findElementsInEeNamespace(persistenceElement, XmlConstants.UNIT_NAME);
-      if(unitNameElements.size() > 0)
-      {
-         Element unitNameElement = unitNameElements.get(0);
-         return unitNameElement.getData().toString();
-      }
-      return null;
-   }
 }

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 02:17:04 UTC (rev 2426)
+++ ri/trunk/tests/src/test/resources/org/jboss/webbeans/test/unit/xml/parser/user-defined-beans.xml	2009-04-16 07:58:29 UTC (rev 2427)
@@ -38,10 +38,9 @@
 		<myapp:getVal />
 	</myapp:Order>
 	<myapp:PaymentService>
-		<WebServiceRef>
+		<Resource>
 			<name>java:app/service/PaymentService</name>
-			<wsdlLocation>http://theirdomain.com/services/PaymentService.wsdl</wsdlLocation>
-		</WebServiceRef>
+		</Resource>
 	</myapp:PaymentService>
 	
 	<Decorators>




More information about the weld-commits mailing list