hi Álvaro someone else reported this recently. i'm in the process of creating a fix and test case.
- robert On Wednesday, June 5, 2002, at 07:01 PM, Álvaro Barge wrote: > Hi > > I am trying to parse an XML document that has a numeric attribute (size) > in one of its elements. I was trying to invoke a setNumber(int value) > method in the bean by adding a CallMethodRule and a CallParamRule: > > digester.addCallMethod("result/stats", > "setNumber", 1, new String[] {"java.lang.Integer"}); > digester.addCallParam("result/stats", 0, "size"); > > > This code throws a NullPointerException in the CallMethodRule(String > methodName,int paramCount, String paramTypes[]) constructor (in line 229) > . (I am using digester 1.2 over Linux with the Sun Java 1.3.1).I have > been looking for the error cause, and I have found that the constructor > uses a "digester.getClassLoader().load..." method when the paramTypes > array specified is not empty. > > Well, looking at the digester source code, it seems that the > CallMethodRule is created in the addCallMethod method, so in that > constructor the digester object has not been set (the setDigester method > is invoked in the addRule method of the Digester class, after creating > the CallMethodRule). So, IMHO, the NullPointerException will appear > whenever a non-empty paramTypes array is specified in the CallMethodRule > creation, because the Digester object will never be set in that point of > the program. Do you think that this is correct? > > I have been also looking at the RuleTestCase, and there are no tests > checking this constructor with a non-empty paramTypes array, so this > situation is not tested. > > In my opinion, the ClassLoader must be obtained using another object and > a new test line should be added in the TestCase. > > What do you think about this? Is this correct? Has anybody had this > problem before? > > Thanks, > > Álvaro Barge > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]. > org> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]. > org> > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>