craigmcc 01/08/20 09:10:13 Modified: digester/src/java/org/apache/commons/digester CallMethodRule.java CallParamRule.java FactoryCreateRule.java ObjectCreateRule.java SetNextRule.java SetTopRule.java Log: Clean up finish() processing in Rule implementations such that a preconfigured Digester can be used to parse more than one document. Previously, we were clearing instance variables that were configured in the rule constructors - now, only transient state information is cleared. Submitted by: Matt Cleveland <[EMAIL PROTECTED]> Revision Changes Path 1.5 +4 -7 jakarta-commons/digester/src/java/org/apache/commons/digester/CallMethodRule.java Index: CallMethodRule.java =================================================================== RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/CallMethodRule.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- CallMethodRule.java 2001/08/04 22:26:37 1.4 +++ CallMethodRule.java 2001/08/20 16:10:13 1.5 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/CallMethodRule.java,v 1.4 2001/08/04 22:26:37 craigmcc Exp $ - * $Revision: 1.4 $ - * $Date: 2001/08/04 22:26:37 $ + * $Header: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/CallMethodRule.java,v 1.5 2001/08/20 16:10:13 craigmcc Exp $ + * $Revision: 1.5 $ + * $Date: 2001/08/20 16:10:13 $ * * ==================================================================== * @@ -77,7 +77,7 @@ * * @author Craig McClanahan * @author Scott Sanders - * @version $Revision: 1.4 $ $Date: 2001/08/04 22:26:37 $ + * @version $Revision: 1.5 $ $Date: 2001/08/20 16:10:13 $ */ public class CallMethodRule extends Rule { @@ -296,9 +296,6 @@ public void finish() throws Exception { bodyText = null; - methodName = null; - paramCount = 0; - paramTypes = null; } 1.3 +4 -5 jakarta-commons/digester/src/java/org/apache/commons/digester/CallParamRule.java Index: CallParamRule.java =================================================================== RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/CallParamRule.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- CallParamRule.java 2001/05/12 17:25:53 1.2 +++ CallParamRule.java 2001/08/20 16:10:13 1.3 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/CallParamRule.java,v 1.2 2001/05/12 17:25:53 sanders Exp $ - * $Revision: 1.2 $ - * $Date: 2001/05/12 17:25:53 $ + * $Header: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/CallParamRule.java,v 1.3 2001/08/20 16:10:13 craigmcc Exp $ + * $Revision: 1.3 $ + * $Date: 2001/08/20 16:10:13 $ * * ==================================================================== * @@ -73,7 +73,7 @@ * by a surrounding CallMethodRule rule. * * @author Craig McClanahan - * @version $Revision: 1.2 $ $Date: 2001/05/12 17:25:53 $ + * @version $Revision: 1.3 $ $Date: 2001/08/20 16:10:13 $ */ public class CallParamRule extends Rule { @@ -180,7 +180,6 @@ */ public void finish() throws Exception { - attributeName = null; bodyText = null; } 1.3 +3 -2 jakarta-commons/digester/src/java/org/apache/commons/digester/FactoryCreateRule.java Index: FactoryCreateRule.java =================================================================== RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/FactoryCreateRule.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- FactoryCreateRule.java 2001/08/13 19:49:34 1.2 +++ FactoryCreateRule.java 2001/08/20 16:10:13 1.3 @@ -74,7 +74,7 @@ * in a call to either a factory method or to a non-empty constructor. * * @author Robert Burrell Donkin - * @version $Revision: 1.2 $ $Date: 2001/08/13 19:49:34 $ + * @version $Revision: 1.3 $ $Date: 2001/08/20 16:10:13 $ */ public class FactoryCreateRule extends Rule { @@ -194,7 +194,8 @@ */ public void finish() throws Exception { - creationFactory = null; + if (attributeName != null) + creationFactory = null; } 1.5 +4 -15 jakarta-commons/digester/src/java/org/apache/commons/digester/ObjectCreateRule.java Index: ObjectCreateRule.java =================================================================== RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/ObjectCreateRule.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- ObjectCreateRule.java 2001/08/04 22:26:37 1.4 +++ ObjectCreateRule.java 2001/08/20 16:10:13 1.5 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/ObjectCreateRule.java,v 1.4 2001/08/04 22:26:37 craigmcc Exp $ - * $Revision: 1.4 $ - * $Date: 2001/08/04 22:26:37 $ + * $Header: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/ObjectCreateRule.java,v 1.5 2001/08/20 16:10:13 craigmcc Exp $ + * $Revision: 1.5 $ + * $Date: 2001/08/20 16:10:13 $ * * ==================================================================== * @@ -74,7 +74,7 @@ * * @author Craig McClanahan * @author Scott Sanders - * @version $Revision: 1.4 $ $Date: 2001/08/04 22:26:37 $ + * @version $Revision: 1.5 $ $Date: 2001/08/20 16:10:13 $ */ public class ObjectCreateRule extends Rule { @@ -166,17 +166,6 @@ Object top = digester.pop(); if (digester.getDebug() >= 1) digester.log("Pop " + top.getClass().getName()); - - } - - - /** - * Clean up after parsing is complete. - */ - public void finish() throws Exception { - - attributeName = null; - className = null; } 1.5 +4 -15 jakarta-commons/digester/src/java/org/apache/commons/digester/SetNextRule.java Index: SetNextRule.java =================================================================== RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/SetNextRule.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- SetNextRule.java 2001/08/04 22:26:37 1.4 +++ SetNextRule.java 2001/08/20 16:10:13 1.5 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/SetNextRule.java,v 1.4 2001/08/04 22:26:37 craigmcc Exp $ - * $Revision: 1.4 $ - * $Date: 2001/08/04 22:26:37 $ + * $Header: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/SetNextRule.java,v 1.5 2001/08/20 16:10:13 craigmcc Exp $ + * $Revision: 1.5 $ + * $Date: 2001/08/20 16:10:13 $ * * ==================================================================== * @@ -75,7 +75,7 @@ * * @author Craig McClanahan * @author Scott Sanders - * @version $Revision: 1.4 $ $Date: 2001/08/04 22:26:37 $ + * @version $Revision: 1.5 $ $Date: 2001/08/20 16:10:13 $ */ public class SetNextRule extends Rule { @@ -158,17 +158,6 @@ paramTypes[0] = child.getClass(); Method method = parent.getClass().getMethod(methodName, paramTypes); method.invoke(parent, new Object[] { child }); - - } - - - /** - * Clean up after parsing is complete. - */ - public void finish() throws Exception { - - methodName = null; - paramType = null; } 1.5 +4 -15 jakarta-commons/digester/src/java/org/apache/commons/digester/SetTopRule.java Index: SetTopRule.java =================================================================== RCS file: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/SetTopRule.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- SetTopRule.java 2001/08/04 22:26:37 1.4 +++ SetTopRule.java 2001/08/20 16:10:13 1.5 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/SetTopRule.java,v 1.4 2001/08/04 22:26:37 craigmcc Exp $ - * $Revision: 1.4 $ - * $Date: 2001/08/04 22:26:37 $ + * $Header: /home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/SetTopRule.java,v 1.5 2001/08/20 16:10:13 craigmcc Exp $ + * $Revision: 1.5 $ + * $Date: 2001/08/20 16:10:13 $ * * ==================================================================== * @@ -74,7 +74,7 @@ * * @author Craig McClanahan * @author Scott Sanders - * @version $Revision: 1.4 $ $Date: 2001/08/04 22:26:37 $ + * @version $Revision: 1.5 $ $Date: 2001/08/20 16:10:13 $ */ public class SetTopRule extends Rule { @@ -157,17 +157,6 @@ paramTypes[0] = child.getClass(); Method method = parent.getClass().getMethod(methodName, paramTypes); method.invoke(parent, new Object[] { child }); - - } - - - /** - * Clean up after parsing is complete. - */ - public void finish() throws Exception { - - methodName = null; - paramType = null; }