[CJ-dev] commonjava-projects/commonjava-reflection/src/java/org/commonjava/reflection Reflector.java
Brought to you by:
johnqueso
From: <joh...@co...> - 2004-02-27 07:00:19
|
Update of /cvsroot/commonjava/commonjava-projects/commonjava-reflection/src/java/org/commonjava/reflection In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10722/src/java/org/commonjava/reflection Modified Files: Reflector.java Log Message: added null check/exception throw to getMethod() and getConstructor() in Reflector, to make it easier to debug actual problems. Was throwing NPE from higher-level of call stack, which meant nothing to outside observer. Index: Reflector.java =================================================================== RCS file: /cvsroot/commonjava/commonjava-projects/commonjava-reflection/src/java/org/commonjava/reflection/Reflector.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -d -r1.1 -r1.2 --- Reflector.java 18 Sep 2003 05:55:55 -0000 1.1 +++ Reflector.java 27 Feb 2004 06:43:59 -0000 1.2 @@ -179,7 +179,7 @@ Map constructorMap = getConstructorMap(targetClass); StringBuffer key = new StringBuffer(200); - key.append("$c("); + key.append("("); for(int i=0, len=params.length; i<len; i++){ key.append(params[i].getName()); key.append(","); @@ -215,6 +215,13 @@ } } + if(constructor == null){ + throw new ReflectorException( + "Error retrieving constructor object for: " + + targetClass.getName() + paramKey + ); + } + return constructor; } @@ -232,10 +239,12 @@ Map methodMap = getMethodMap(targetClass, methodName); StringBuffer key = new StringBuffer(200); + key.append("("); for(int i=0, len=params.length; i<len; i++){ key.append(params[i].getName()); key.append(","); } + key.append(")"); Method method = null; @@ -262,6 +271,13 @@ } } + if(method == null){ + throw new ReflectorException( + "Error retrieving method object for: " + + targetClass.getName() + "." + methodName + paramKey + ); + } + return method; } |