You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openwebbeans.apache.org by ge...@apache.org on 2009/01/16 23:18:50 UTC

svn commit: r735159 - in /incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans: component/xml/XMLComponentImpl.java util/ClassUtil.java xml/WebBeansXMLConfigurator.java xml/XMLDefinitionUtil.java

Author: gerdogdu
Date: Fri Jan 16 14:18:50 2009
New Revision: 735159

URL: http://svn.apache.org/viewvc?rev=735159&view=rev
Log:
XML beans corrections.

Modified:
    incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/xml/XMLComponentImpl.java
    incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
    incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/WebBeansXMLConfigurator.java
    incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/XMLDefinitionUtil.java

Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/xml/XMLComponentImpl.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/xml/XMLComponentImpl.java?rev=735159&r1=735158&r2=735159&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/xml/XMLComponentImpl.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/component/xml/XMLComponentImpl.java Fri Jan 16 14:18:50 2009
@@ -194,7 +194,6 @@
     public void addMethodInjectionPoint(Method method, XMLInjectionPointModel model)
     {
         Asserts.assertNotNull(method, "method parameter can not be null");
-        Asserts.assertNotNull(model, "model parameter can not be null");
 
         List<XMLInjectionPointModel> listModel = this.injectableMethods.get(method);
         if (listModel == null)
@@ -202,8 +201,11 @@
             listModel = new ArrayList<XMLInjectionPointModel>();
             this.injectableMethods.put(method, listModel);
         }
-
-        listModel.add(model);
+        
+        if(model != null)
+        {
+            listModel.add(model);   
+        }
     }
 
     /**

Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java?rev=735159&r1=735158&r2=735159&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/util/ClassUtil.java Fri Jan 16 14:18:50 2009
@@ -788,32 +788,45 @@
         int j = 0;
         for (Method method : methods)
         {
-            Class<?>[] defineTypes = method.getParameterTypes();
-
-            if (defineTypes.length != parameterTypes.size())
+            if(method.getName().equals(methodName))
             {
-                continue;
-            }
+                Class<?>[] defineTypes = method.getParameterTypes();
 
-            boolean ok = false;
-            for (Class<?> defineType : defineTypes)
-            {
-                if (defineType.isAssignableFrom(parameterTypes.get(j)))
+                if (defineTypes.length != parameterTypes.size())
                 {
-                    ok = true;
+                    continue;
                 }
-                else
+
+                boolean ok = true;
+                
+                if(parameterTypes != null && parameterTypes.size() > 0)
                 {
                     ok = false;
                 }
+                
+                if(!ok)
+                {
+                    for (Class<?> defineType : defineTypes)
+                    {
+                        if (defineType.isAssignableFrom(parameterTypes.get(j)))
+                        {
+                            ok = true;
+                        }
+                        else
+                        {
+                            ok = false;
+                        }
 
-                j++;
-            }
-
-            if (ok)
-            {
-                methodList.add(method);
+                        j++;
+                    }                    
+                }
+                
+                if (ok)
+                {
+                    methodList.add(method);
+                }                
             }
+            
         }
 
         return methodList;

Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/WebBeansXMLConfigurator.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/WebBeansXMLConfigurator.java?rev=735159&r1=735158&r2=735159&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/WebBeansXMLConfigurator.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/WebBeansXMLConfigurator.java Fri Jan 16 14:18:50 2009
@@ -784,6 +784,8 @@
      */
     public <T> void configureProducerTypeLevelMetaData(AbstractComponent<T> component, List<Class<? extends Annotation>> annotationSet, List<Element> annotationElementList, Element webBeanDecleration)
     {
+        configureBindingType(component, annotationSet, annotationElementList);
+        
         // StereoType
         configureStereoType(component, annotationSet, annotationElementList);
 
@@ -1183,10 +1185,17 @@
      */
     private <T> void configureMethodInitializeAnnotation(XMLComponentImpl<T> component, Method initializeMethod, List<Element> methodParameterElements)
     {
-        for (Element element : methodParameterElements)
+        if(methodParameterElements.isEmpty())
         {
-            XMLInjectionPointModel model = XMLUtil.getInjectionPointModel(element, createConfigurationFailedMessage());
-            component.addMethodInjectionPoint(initializeMethod, model);
+            component.addMethodInjectionPoint(initializeMethod, null);
+        }
+        else
+        {
+            for (Element element : methodParameterElements)
+            {
+                XMLInjectionPointModel model = XMLUtil.getInjectionPointModel(element, createConfigurationFailedMessage());
+                component.addMethodInjectionPoint(initializeMethod, model);
+            }            
         }
     }
 
@@ -1349,7 +1358,7 @@
      * @param component web beans xml component
      * @param anns annotations defined in the xml documents
      */
-    private <T> void configureBindingType(XMLComponentImpl<T> component, List<Class<? extends Annotation>> annotationSet, List<Element> annotationElementList)
+    private <T> void configureBindingType(AbstractComponent<T> component, List<Class<? extends Annotation>> annotationSet, List<Element> annotationElementList)
     {
         boolean isDefined = XMLDefinitionUtil.defineXMLBindingType(component, annotationSet, annotationElementList, createConfigurationFailedMessage());
 

Modified: incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/XMLDefinitionUtil.java
URL: http://svn.apache.org/viewvc/incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/XMLDefinitionUtil.java?rev=735159&r1=735158&r2=735159&view=diff
==============================================================================
--- incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/XMLDefinitionUtil.java (original)
+++ incubator/openwebbeans/trunk/webbeans-impl/src/main/java/org/apache/webbeans/xml/XMLDefinitionUtil.java Fri Jan 16 14:18:50 2009
@@ -172,7 +172,7 @@
         return metaType;
     }
 
-    public static <T> boolean defineXMLBindingType(XMLComponentImpl<T> component, List<Class<? extends Annotation>> annotationSet, List<Element> annotationElementList, String errorMessage)
+    public static <T> boolean defineXMLBindingType(AbstractComponent<T> component, List<Class<? extends Annotation>> annotationSet, List<Element> annotationElementList, String errorMessage)
     {
         Iterator<Class<? extends Annotation>> it = annotationSet.iterator();
         boolean found = false;
@@ -556,7 +556,7 @@
         else
         {
             /* Configures the java api types and actual type parameters */
-            XMLInjectionPointModel model = XMLUtil.getArrayInjectionPointModel(typeElement, errorMessage);
+            XMLInjectionPointModel model = XMLUtil.getInjectionPointModel(typeElement, errorMessage);
 
             producerComponentImpl.setActualTypeArguments(model.getActualTypeArguments());
             producerComponentImpl.addApiType(model.getInjectionClassType());