rdonkin 02/03/14 12:10:38
Modified: beanutils/src/java/org/apache/commons/beanutils
MethodUtils.java
Log:
Added trace logging to MethodUtils
Revision Changes Path
1.7 +41 -1
jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/MethodUtils.java
Index: MethodUtils.java
===================================================================
RCS file:
/home/cvs/jakarta-commons/beanutils/src/java/org/apache/commons/beanutils/MethodUtils.java,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- MethodUtils.java 6 Mar 2002 20:21:24 -0000 1.6
+++ MethodUtils.java 14 Mar 2002 20:10:38 -0000 1.7
@@ -64,6 +64,11 @@
import java.lang.reflect.Modifier;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+
+
/**
* <p> Utility reflection methods focussed on methods in general rather than
properties in particular. </p>
*
@@ -78,6 +83,14 @@
public class MethodUtils {
+ // --------------------------------------------------------- Private Methods
+
+ /**
+ * All logging goes through this logger
+ */
+ private static Log log = LogFactory.getLog(MethodUtils.class);
+
+
// --------------------------------------------------------- Public Methods
@@ -483,26 +496,53 @@
Class clazz,
String methodName,
Class[] parameterTypes) {
+ // trace logging
+ if (log.isTraceEnabled()) {
+ log.trace("Matching name=" + methodName + " on " + clazz);
+ }
+
+ // search through all methods
int paramSize = parameterTypes.length;
Method[] methods = clazz.getMethods();
for (int i = 0, size = methods.length; i < size ; i++) {
- if (methods[i].getName().equals(methodName)) {
+ if (methods[i].getName().equals(methodName)) {
+ // log some trace information
+ if (log.isTraceEnabled()) {
+ log.trace("Found matching name:");
+ log.trace(methods[i]);
+ }
+
+ // compare parameters
Class[] methodsParams = methods[i].getParameterTypes();
int methodParamSize = methodsParams.length;
if (methodParamSize == paramSize) {
for (int n = 0 ; n < methodParamSize; n++) {
if (!parameterTypes[n].isAssignableFrom(methodsParams[n])) {
+ if (log.isTraceEnabled()) {
+ log.trace(parameterTypes[n] + " is not assignable
from "
+ + methodsParams[n]);
+ }
break;
}
}
+
+ // get accessible version of method
Method method = getAccessibleMethod(methods[i]);
if (method != null) {
+ if (log.isTraceEnabled()) {
+ log.trace(method + " accessible version of "
+ + methods[i]);
+ }
return method;
}
+
+ log.trace("Couldn't find accessible method.");
}
}
}
+ // didn't find a match
+ log.trace("No match found.");
return null;
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>