You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by si...@apache.org on 2011/02/04 08:51:18 UTC

svn commit: r1067105 - /commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java

Author: simonetripodi
Date: Fri Feb  4 07:51:17 2011
New Revision: 1067105

URL: http://svn.apache.org/viewvc?rev=1067105&view=rev
Log:
setup for callMethod() paramTypes[] according to proper CallMethodRule

Modified:
    commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java

Modified: commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java
URL: http://svn.apache.org/viewvc/commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java?rev=1067105&r1=1067104&r2=1067105&view=diff
==============================================================================
--- commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java (original)
+++ commons/sandbox/digester3/trunk/src/main/java/org/apache/commons/digester3/RulesBinderImpl.java Fri Feb  4 07:51:17 2011
@@ -577,13 +577,28 @@ final class RulesBinderImpl implements R
 
                     private int targetOffset;
 
-                    private int paramCount;
+                    private int paramCount = 0;
 
                     private Class<?>[] paramTypes;
 
-                    private boolean useExactMatch;
+                    private boolean useExactMatch = false;
 
                     public CallMethodRule get() {
+                        Class<?>[] paramTypes = null;
+
+                        if (this.paramTypes == null) {
+                            if (this.paramCount == 0) {
+                                paramTypes = new Class<?>[] { String.class };
+                            } else {
+                                paramTypes = new Class<?>[this.paramCount];
+                                for (int i = 0; i < paramTypes.length; i++) {
+                                    paramTypes[i] = String.class;
+                                }
+                            }
+                        } else {
+                            paramTypes = this.paramTypes;
+                        }
+
                         return setNamespaceAndReturn(
                                 new CallMethodRule(targetOffset, methodName, paramCount, paramTypes, useExactMatch));
                     }