Author: dmitri
Date: Thu Mar 17 19:03:32 2005
New Revision: 158012

URL: http://svn.apache.org/viewcvs?view=rev&rev=158012
Log:
Correctly re-applied Vasiliy Stashuk's patch.

Modified:
    
jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/util/ValueUtils.java

Modified: 
jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/util/ValueUtils.java
URL: 
http://svn.apache.org/viewcvs/jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/util/ValueUtils.java?view=diff&r1=158011&r2=158012
==============================================================================
--- 
jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/util/ValueUtils.java
 (original)
+++ 
jakarta/commons/proper/jxpath/trunk/src/java/org/apache/commons/jxpath/util/ValueUtils.java
 Thu Mar 17 19:03:32 2005
@@ -549,18 +549,29 @@
 
         // If the declaring class is public, we are done
         Class clazz = method.getDeclaringClass();
-        while (clazz != null) {
-            if (Modifier.isPublic(clazz.getModifiers())) {
-                return (method);
-            }
+        if (Modifier.isPublic(clazz.getModifiers())) {
+            return (method);
+        }
 
+        String name = method.getName();
+        Class[] parameterTypes = method.getParameterTypes();
+        while (clazz != null) {
             // Check the implemented interfaces and subinterfaces
             Method aMethod = getAccessibleMethodFromInterfaceNest(clazz, 
-                    method.getName(), method.getParameterTypes());
+                    name, parameterTypes);
             if (aMethod != null) {
                 return aMethod;
             }
+            
             clazz = clazz.getSuperclass();
+            if (Modifier.isPublic(clazz.getModifiers())) {
+                try {
+                    return clazz.getDeclaredMethod(name, parameterTypes);
+                } 
+                catch (NoSuchMethodException e) {
+                    ;
+                }
+            }
         }
         return null;
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to