diff --git a/pom.xml b/pom.xml
index fe0eccf25..c4c9968bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -169,20 +169,9 @@
1.10.1
- commons-digester
- commons-digester
- 2.1
-
-
-
- commons-beanutils
- commons-beanutils
-
-
- commons-logging
- commons-logging
-
-
+ org.apache.commons
+ commons-digester3
+ 3.2
commons-logging
diff --git a/src/main/java/org/apache/commons/validator/FormSetFactory.java b/src/main/java/org/apache/commons/validator/FormSetFactory.java
index 34a544fe3..81e11e4db 100644
--- a/src/main/java/org/apache/commons/validator/FormSetFactory.java
+++ b/src/main/java/org/apache/commons/validator/FormSetFactory.java
@@ -16,7 +16,7 @@
*/
package org.apache.commons.validator;
-import org.apache.commons.digester.AbstractObjectCreationFactory;
+import org.apache.commons.digester3.AbstractObjectCreationFactory;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.xml.sax.Attributes;
@@ -26,7 +26,7 @@
*
* @since 1.2
*/
-public class FormSetFactory extends AbstractObjectCreationFactory {
+public class FormSetFactory extends AbstractObjectCreationFactory {
/** Logging */
private transient Log log = LogFactory.getLog(FormSetFactory.class);
@@ -89,9 +89,9 @@ private FormSet createFormSet(final ValidatorResources resources,
* @throws Exception If an error occurs creating the FormSet.
*/
@Override
- public Object createObject(final Attributes attributes) throws Exception {
+ public FormSet createObject(final Attributes attributes) throws Exception {
- final ValidatorResources resources = (ValidatorResources) digester.peek(0);
+ final ValidatorResources resources = (ValidatorResources) getDigester().peek(0);
final String language = attributes.getValue("language");
final String country = attributes.getValue("country");
diff --git a/src/main/java/org/apache/commons/validator/ValidatorResources.java b/src/main/java/org/apache/commons/validator/ValidatorResources.java
index b9a7fca41..925d0bf2b 100644
--- a/src/main/java/org/apache/commons/validator/ValidatorResources.java
+++ b/src/main/java/org/apache/commons/validator/ValidatorResources.java
@@ -25,9 +25,10 @@
import java.util.Map;
import org.apache.commons.collections.FastHashMap; // DEPRECATED
-import org.apache.commons.digester.Digester;
-import org.apache.commons.digester.Rule;
-import org.apache.commons.digester.xmlrules.DigesterLoader;
+import org.apache.commons.digester3.Digester;
+import org.apache.commons.digester3.Rule;
+import org.apache.commons.digester3.binder.DigesterLoader;
+import org.apache.commons.digester3.xmlrules.FromXmlRulesModule;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.xml.sax.Attributes;
@@ -557,15 +558,23 @@ public Map getValidatorActions() {
* Initialize the digester.
*/
private Digester initDigester() {
- URL rulesUrl = this.getClass().getResource(VALIDATOR_RULES);
- if (rulesUrl == null) {
- // Fix for Issue# VALIDATOR-195
- rulesUrl = ValidatorResources.class.getResource(VALIDATOR_RULES);
- }
- if (getLog().isDebugEnabled()) {
- getLog().debug("Loading rules from '" + rulesUrl + "'");
- }
- final Digester digester = DigesterLoader.createDigester(rulesUrl);
+ // Create a digester loader using FromXmlRulesModule
+ DigesterLoader loader = DigesterLoader.newLoader(new FromXmlRulesModule() {
+ @Override
+ protected void loadRules() {
+ URL rulesUrl = this.getClass().getResource(VALIDATOR_RULES);
+ if (rulesUrl == null) {
+ // Fix for Issue# VALIDATOR-195
+ rulesUrl = ValidatorResources.class.getResource(VALIDATOR_RULES);
+ }
+ if (getLog().isDebugEnabled()) {
+ getLog().debug("Loading rules from '" + rulesUrl + "'");
+ }
+ loadXMLRules(rulesUrl);
+ }
+ });
+ Digester digester = loader.newDigester();
+
digester.setNamespaceAware(true);
digester.setValidating(true);
digester.setUseContextClassLoader(true);
diff --git a/src/main/resources/org/apache/commons/validator/digester-rules.xml b/src/main/resources/org/apache/commons/validator/digester-rules.xml
index 8647f7941..b35384a94 100644
--- a/src/main/resources/org/apache/commons/validator/digester-rules.xml
+++ b/src/main/resources/org/apache/commons/validator/digester-rules.xml
@@ -22,8 +22,8 @@
-->
-
+