You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@struts.apache.org by ge...@apache.org on 2004/04/02 16:30:58 UTC
cvs commit: jakarta-struts/src/share/org/apache/struts/validator DynaValidatorActionForm.java DynaValidatorForm.java ValidatorActionForm.java ValidatorForm.java
germuska 2004/04/02 06:30:58
Modified: src/share/org/apache/struts/validator
DynaValidatorActionForm.java DynaValidatorForm.java
ValidatorActionForm.java ValidatorForm.java
Log:
Push validate code up into ValidatorForm and add a getValidationKey() method
which enables subclasses to share that code while using different rules for
finding the Validator form.
PR: 28150
Submitted by: Niall Pemberton
Revision Changes Path
1.14 +11 -39 jakarta-struts/src/share/org/apache/struts/validator/DynaValidatorActionForm.java
Index: DynaValidatorActionForm.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/validator/DynaValidatorActionForm.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- DynaValidatorActionForm.java 14 Mar 2004 06:23:47 -0000 1.13
+++ DynaValidatorActionForm.java 2 Apr 2004 14:30:57 -0000 1.14
@@ -21,16 +21,9 @@
package org.apache.struts.validator;
import java.io.Serializable;
-
-import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
import org.apache.commons.beanutils.DynaBean;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.commons.validator.Validator;
-import org.apache.commons.validator.ValidatorException;
-import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
/**
@@ -49,37 +42,16 @@
public class DynaValidatorActionForm extends DynaValidatorForm implements DynaBean, Serializable {
/**
- * Commons Logging instance.
- */
- private static Log log = LogFactory.getLog(DynaValidatorActionForm.class);
-
- /**
- * Validate the properties that have been set from this HTTP request,
- * and return an <code>ActionErrors</code> object that encapsulates any
- * validation errors that have been found. If no errors are found, return
- * <code>null</code> or an <code>ActionErrors</code> object with no
- * recorded error messages.
+ * Returns the Validation key.
*
- * @param mapping The mapping used to select this instance.
- * @param request The servlet request we are processing.
- * @return ActionErrors containing validation errors.
+ * @param mapping The mapping used to select this instance
+ * @param request The servlet request we are processing
+ * @return validation key - the action element's 'path' attribute in this case
*/
- public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) {
- this.setPageFromDynaProperty();
-
- ServletContext application = getServlet().getServletContext();
- ActionErrors errors = new ActionErrors();
-
- Validator validator =
- Resources.initValidator(mapping.getPath(), this, application, request, errors, page);
-
- try {
- validatorResults = validator.validate();
- } catch (ValidatorException e) {
- log.error(e.getMessage(), e);
- }
+ public String getValidationKey(ActionMapping mapping,
+ HttpServletRequest request) {
- return errors;
+ return mapping.getPath();
}
}
1.16 +23 -6 jakarta-struts/src/share/org/apache/struts/validator/DynaValidatorForm.java
Index: DynaValidatorForm.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/validator/DynaValidatorForm.java,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -r1.15 -r1.16
--- DynaValidatorForm.java 14 Mar 2004 06:23:47 -0000 1.15
+++ DynaValidatorForm.java 2 Apr 2004 14:30:57 -0000 1.16
@@ -101,8 +101,12 @@
ServletContext application = getServlet().getServletContext();
ActionErrors errors = new ActionErrors();
- Validator validator =
- Resources.initValidator(mapping.getAttribute(), this, application, request, errors, page);
+ String validationKey = getValidationKey(mapping, request);
+
+ Validator validator = Resources.initValidator(validationKey,
+ this,
+ application, request,
+ errors, page);
try {
validatorResults = validator.validate();
@@ -111,6 +115,19 @@
}
return errors;
+ }
+
+ /**
+ * Returns the Validation key.
+ *
+ * @param mapping The mapping used to select this instance
+ * @param request The servlet request we are processing
+ * @return validation key - the form element's name in this case
+ */
+ public String getValidationKey(ActionMapping mapping,
+ HttpServletRequest request) {
+
+ return mapping.getAttribute();
}
/**
1.10 +9 -39 jakarta-struts/src/share/org/apache/struts/validator/ValidatorActionForm.java
Index: ValidatorActionForm.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/validator/ValidatorActionForm.java,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -r1.9 -r1.10
--- ValidatorActionForm.java 14 Mar 2004 06:23:47 -0000 1.9
+++ ValidatorActionForm.java 2 Apr 2004 14:30:57 -0000 1.10
@@ -18,18 +18,11 @@
* limitations under the License.
*/
-
package org.apache.struts.validator;
import java.io.Serializable;
-import javax.servlet.ServletContext;
import javax.servlet.http.HttpServletRequest;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.commons.validator.Validator;
-import org.apache.commons.validator.ValidatorException;
-import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionMapping;
@@ -50,39 +43,16 @@
public class ValidatorActionForm extends ValidatorForm implements Serializable {
/**
- * Commons Logging instance.
- */
- private static Log log = LogFactory.getLog(ValidatorActionForm.class);
-
- /**
- * Validate the properties that have been set from this HTTP request,
- * and return an <code>ActionErrors</code> object that encapsulates any
- * validation errors that have been found. If no errors are found, return
- * <code>null</code> or an <code>ActionErrors</code> object with no
- * recorded error messages.
+ * Returns the Validation key.
*
* @param mapping The mapping used to select this instance
* @param request The servlet request we are processing
- * @return <code>ActionErrors</code> object that encapsulates any validation errors
+ * @return validation key - the action element's 'path' attribute in this case
*/
- public ActionErrors validate(ActionMapping mapping,
- HttpServletRequest request) {
-
- ServletContext application = getServlet().getServletContext();
- ActionErrors errors = new ActionErrors();
-
- Validator validator = Resources.initValidator(mapping.getPath(),
- this,
- application, request,
- errors, page);
-
- try {
- validatorResults = validator.validate();
- } catch (ValidatorException e) {
- log.error(e.getMessage(), e);
- }
+ public String getValidationKey(ActionMapping mapping,
+ HttpServletRequest request) {
- return errors;
+ return mapping.getPath();
}
}
1.14 +20 -5 jakarta-struts/src/share/org/apache/struts/validator/ValidatorForm.java
Index: ValidatorForm.java
===================================================================
RCS file: /home/cvs/jakarta-struts/src/share/org/apache/struts/validator/ValidatorForm.java,v
retrieving revision 1.13
retrieving revision 1.14
diff -u -r1.13 -r1.14
--- ValidatorForm.java 14 Mar 2004 06:23:47 -0000 1.13
+++ ValidatorForm.java 2 Apr 2004 14:30:57 -0000 1.14
@@ -101,7 +101,9 @@
ServletContext application = getServlet().getServletContext();
ActionErrors errors = new ActionErrors();
- Validator validator = Resources.initValidator(mapping.getAttribute(),
+ String validationKey = getValidationKey(mapping, request);
+
+ Validator validator = Resources.initValidator(validationKey,
this,
application, request,
errors, page);
@@ -113,6 +115,19 @@
}
return errors;
+ }
+
+ /**
+ * Returns the Validation key.
+ *
+ * @param mapping The mapping used to select this instance
+ * @param request The servlet request we are processing
+ * @return validation key - the form element's name in this case
+ */
+ public String getValidationKey(ActionMapping mapping,
+ HttpServletRequest request) {
+
+ return mapping.getAttribute();
}
/**
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@struts.apache.org
For additional commands, e-mail: dev-help@struts.apache.org