craigmcc    01/09/05 11:52:37

  Modified:    digester/src/java/org/apache/commons/digester Digester.java
                        RulesBase.java
               digester/src/test/org/apache/commons/digester
                        DigesterTestCase.java RulesBaseTestCase.java
  Log:
  RulesBase.match() must return a zero-length list if there are no matching
  rules.  It was incorrectly returning null in some circumstances.
  
  Submitted by:  Robert Burrell Donkin <[EMAIL PROTECTED]>
  
  Revision  Changes    Path
  1.17      +6 -6      
jakarta-commons/digester/src/java/org/apache/commons/digester/Digester.java
  
  Index: Digester.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/Digester.java,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- Digester.java     2001/08/26 22:13:44     1.16
  +++ Digester.java     2001/09/05 18:52:37     1.17
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/Digester.java,v
 1.16 2001/08/26 22:13:44 craigmcc Exp $
  - * $Revision: 1.16 $
  - * $Date: 2001/08/26 22:13:44 $
  + * $Header: 
/home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/Digester.java,v
 1.17 2001/09/05 18:52:37 craigmcc Exp $
  + * $Revision: 1.17 $
  + * $Date: 2001/09/05 18:52:37 $
    *
    * ====================================================================
    *
  @@ -106,7 +106,7 @@
    *
    * @author Craig McClanahan
    * @author Scott Sanders
  - * @version $Revision: 1.16 $ $Date: 2001/08/26 22:13:44 $
  + * @version $Revision: 1.17 $ $Date: 2001/09/05 18:52:37 $
    */
   
   public class Digester extends DefaultHandler {
  @@ -647,7 +647,7 @@
   
        // Fire "body" events for all relevant rules
        List rules = getRules().match(namespaceURI, match);
  -     if (rules != null) {
  +     if ((rules != null) && (rules.size() > 0)) {
            String bodyText = this.bodyText.toString().trim();
            for (int i = 0; i < rules.size(); i++) {
                try {
  @@ -845,7 +845,7 @@
   
        // Fire "begin" events for all relevant rules
        List rules = getRules().match(namespaceURI, match);
  -     if (rules != null) {
  +     if ((rules != null) && (rules.size() > 0)) {
            String bodyText = this.bodyText.toString();
            for (int i = 0; i < rules.size(); i++) {
                try {
  
  
  
  1.6       +6 -4      
jakarta-commons/digester/src/java/org/apache/commons/digester/RulesBase.java
  
  Index: RulesBase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/RulesBase.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- RulesBase.java    2001/09/04 02:36:44     1.5
  +++ RulesBase.java    2001/09/05 18:52:37     1.6
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/RulesBase.java,v
 1.5 2001/09/04 02:36:44 sanders Exp $
  - * $Revision: 1.5 $
  - * $Date: 2001/09/04 02:36:44 $
  + * $Header: 
/home/cvs/jakarta-commons/digester/src/java/org/apache/commons/digester/RulesBase.java,v
 1.6 2001/09/05 18:52:37 craigmcc Exp $
  + * $Revision: 1.6 $
  + * $Date: 2001/09/05 18:52:37 $
    *
    * ====================================================================
    *
  @@ -86,7 +86,7 @@
    * </ul>
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.5 $ $Date: 2001/09/04 02:36:44 $
  + * @version $Revision: 1.6 $ $Date: 2001/09/05 18:52:37 $
    */
   
   public class RulesBase implements Rules {
  @@ -261,6 +261,8 @@
                }
            }
        }
  +        if (rulesList == null)
  +            rulesList = new ArrayList();
        return (rulesList);
   
       }
  
  
  
  1.4       +6 -6      
jakarta-commons/digester/src/test/org/apache/commons/digester/DigesterTestCase.java
  
  Index: DigesterTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/DigesterTestCase.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- DigesterTestCase.java     2001/08/08 03:21:17     1.3
  +++ DigesterTestCase.java     2001/09/05 18:52:37     1.4
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/DigesterTestCase.java,v
 1.3 2001/08/08 03:21:17 craigmcc Exp $
  - * $Revision: 1.3 $
  - * $Date: 2001/08/08 03:21:17 $
  + * $Header: 
/home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/DigesterTestCase.java,v
 1.4 2001/09/05 18:52:37 craigmcc Exp $
  + * $Revision: 1.4 $
  + * $Date: 2001/09/05 18:52:37 $
    *
    * ====================================================================
    *
  @@ -83,7 +83,7 @@
    * </p>
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.3 $ $Date: 2001/08/08 03:21:17 $
  + * @version $Revision: 1.4 $ $Date: 2001/09/05 18:52:37 $
    */
   
   public class DigesterTestCase extends TestCase {
  @@ -276,8 +276,8 @@
   
           List list = null;
   
  -        assertNull("Initial rules list is empty",
  -                   digester.getRules().match("a"));
  +        assertEquals("Initial rules list is empty",
  +                     0, digester.getRules().match("a").size());
           digester.addSetProperties("a");
           assertEquals("Add a matching rule",
                        1, digester.getRules().match("a").size());
  
  
  
  1.2       +6 -6      
jakarta-commons/digester/src/test/org/apache/commons/digester/RulesBaseTestCase.java
  
  Index: RulesBaseTestCase.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/RulesBaseTestCase.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- RulesBaseTestCase.java    2001/09/05 03:33:26     1.1
  +++ RulesBaseTestCase.java    2001/09/05 18:52:37     1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: 
/home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/RulesBaseTestCase.java,v
 1.1 2001/09/05 03:33:26 craigmcc Exp $
  - * $Revision: 1.1 $
  - * $Date: 2001/09/05 03:33:26 $
  + * $Header: 
/home/cvs/jakarta-commons/digester/src/test/org/apache/commons/digester/RulesBaseTestCase.java,v
 1.2 2001/09/05 18:52:37 craigmcc Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/09/05 18:52:37 $
    *
    * ====================================================================
    *
  @@ -87,7 +87,7 @@
    * </p>
    *
    * @author Craig R. McClanahan
  - * @version $Revision: 1.1 $ $Date: 2001/09/05 03:33:26 $
  + * @version $Revision: 1.2 $ $Date: 2001/09/05 18:52:37 $
    */
   
   public class RulesBaseTestCase extends TestCase {
  @@ -173,8 +173,8 @@
           // perform tests
           List list = null;
   
  -        assertNull("Initial rules list is empty",
  -                   digester.getRules().match(null,"a"));
  +        assertEquals("Initial rules list is empty",
  +                     0, digester.getRules().match("a").size());
           digester.addSetProperties("a");
           assertEquals("Add a matching rule",
                        1, digester.getRules().match(null,"a").size());
  
  
  

Reply via email to