[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