craigmcc
Wed, 05 Sep 2001 11:28:45 -0700
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());