rleland 2002/10/16 15:41:43
Modified: src/share/org/apache/struts/validator
DynaValidatorActionForm.java DynaValidatorForm.java
ValidatorActionForm.java ValidatorForm.java
ValidatorPlugIn.java
Log:
Cleanup JavaDoc and unused imports.
Revision Changes Path
1.6 +15 -16
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.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- DynaValidatorActionForm.java 30 Jun 2002 03:28:47 -0000 1.5
+++ DynaValidatorActionForm.java 16 Oct 2002 22:41:42 -0000 1.6
@@ -62,17 +62,15 @@
package org.apache.struts.validator;
import java.io.Serializable;
-import java.util.Locale;
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.commons.validator.ValidatorResources;
import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.StrutsValidatorUtil;
@@ -90,7 +88,7 @@
* @author David Winterfeldt
* @version $Revision$ $Date$
* @since Struts 1.1
-*/
+ */
public class DynaValidatorActionForm extends DynaValidatorForm implements DynaBean,
Serializable {
@@ -108,6 +106,7 @@
*
* @param mapping The mapping used to select this instance
* @param request The servlet request we are processing
+ * @return ActionErrors containing validation errors.
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
@@ -115,16 +114,16 @@
ServletContext application = getServlet().getServletContext();
ActionErrors errors = new ActionErrors();
- Validator validator = StrutsValidatorUtil.initValidator(mapping.getPath(),
- this,
- application, request,
- errors, page);
+ Validator validator = StrutsValidatorUtil.initValidator(mapping.getPath(),
+ this,
+ application, request,
+ errors, page);
- try {
- validatorResults = validator.validate();
+ try {
+ validatorResults = validator.validate();
} catch (ValidatorException e) {
- log.error(e.getMessage(), e);
- }
+ log.error(e.getMessage(), e);
+ }
return errors;
}
1.5 +1 -225
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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- DynaValidatorForm.java 30 Jun 2002 03:28:47 -0000 1.4
+++ DynaValidatorForm.java 16 Oct 2002 22:41:42 -0000 1.5
@@ -1,225 +1 @@
-/*
- * $Header$
- * $Revision$
- * $Date$
- *
- * ====================================================================
- *
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Struts", and "Apache Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact [EMAIL PROTECTED]
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-package org.apache.struts.validator;
-
-import java.io.Serializable;
-import java.util.Locale;
-import java.util.Map;
-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.commons.validator.ValidatorResources;
-import org.apache.commons.validator.ValidatorResults;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.DynaActionForm;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.util.StrutsValidatorUtil;
-
-
-/**
- * <p>This class extends <strong>DynaActionForm</strong> and provides
- * basic field validation based on an XML file. The key passed into the
- * validator is the action element's 'name' attribute from the
- * struts-config.xml which should match the form element's name attribute
- * in the validation.xml.</p>
- *
- * <ul><li>See <code>ValidatorPlugin</code> definition in struts-config.xml
- * for validation rules.</li></ul>
- *
- * @author David Winterfeldt
- * @version $Revision$ $Date$
- * @since Struts 1.1
- * @see org.apache.struts.action.ActionForm
-*/
-
-public class DynaValidatorForm extends DynaActionForm implements DynaBean,
Serializable {
-
- /**
- * Commons Logging instance.
- */
- private static Log log = LogFactory.getLog(DynaValidatorForm.class);
-
- /**
- * The results returned from the validation performed
- * by the <code>Validator</code>.
- */
- protected ValidatorResults validatorResults = null;
-
- /**
- * Used to indicate the current page of a multi-page form.
- */
- protected int page = 0;
-
- /**
- * Gets page.
- */
- public int getPage() {
- return page;
- }
-
- /**
- * Sets page.
- */
- public void setPage(int page) {
- this.page = page;
- }
-
- /**
- * 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.
- *
- * @param mapping The mapping used to select this instance
- * @param request The servlet request we are processing
- */
- public ActionErrors validate(ActionMapping mapping,
- HttpServletRequest request) {
-
- ServletContext application = getServlet().getServletContext();
- ActionErrors errors = new ActionErrors();
-
- Validator validator = StrutsValidatorUtil.initValidator(mapping.getAttribute(),
- this,
- application, request,
- errors, page);
-
- try {
- validatorResults = validator.validate();
- } catch (ValidatorException e) {
- log.error(e.getMessage(), e);
- }
-
- return errors;
- }
-
- /**
- * Convenience method that call the comparable servlet log method and writes
- * an explanatory message and a stack trace for a given Throwable exception to
the
- * servlet log file.
- *
- * @param message String that describes the error or exception
- */
- protected void log(String message) {
- if (getServlet().getDebug() >= 1) {
- getServlet().log(message);
- }
- }
-
- /**
- * Convenience method that call the comparable servlet log method and writes
- * an explanatory message and a stack trace for a given Throwable exception to
the
- * servlet log file.
- *
- * @param message String that describes the error or exception
- * @param throwable Throwable error or exception
- */
- protected void log(String message, Throwable throwable) {
- if (getServlet().getDebug() >= 1) {
- getServlet().log(message, throwable);
- }
- }
-
- /**
- * Reset all properties to their default values.
- *
- * @param mapping The mapping used to select this instance
- * @param request The servlet request we are processing
- */
- public void reset(ActionMapping mapping, HttpServletRequest request) {
- super.reset(mapping, request);
- page = 0;
- validatorResults = null;
- }
-
- /**
- * Get results of the validation performed by the
- * <code>Validator</code>.
- */
- public ValidatorResults getValidatorResults() {
- return validatorResults;
- }
-
- /**
- * Set results of the validation performed by the
- * <code>Validator</code>.
- */
- public void setValidatorResults(ValidatorResults validatorResults) {
- this.validatorResults = validatorResults;
- }
-
- /**
- * Returns a <code>Map</code> of values returned
- * from any validation that returns a value other than
- * <code>null</code> or <code>Boolean</code> with the
- * key the full property path of the field.
- */
- public Map getResultValueMap() {
- return (validatorResults != null ? validatorResults.getResultValueMap() :
null);
- }
-
-}
+/*
* $Header$
* $Revision$
* $Date$
*
*
====================================================================
*
* The Apache
Software License, Version 1.1
*
* Copyright (c) 1999 The Apache Software Foundation.
All rights
* reserved.
*
* Redistribution and use in source and binary forms, with
or without
* modification, are permitted provided that the following conditions
*
are met:
*
* 1. Redistributions of source code must retain the above copyright
*
notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions
in binary form must reproduce the above copyright
* notice, this list of
conditions and the following disclaimer in
* the documentation and/or other
materials provided with the
* distribution.
*
* 3. The end-user documentation
included with the redistribution, if
* any, must include the following
acknowlegement:
* "This product includes software developed by the
*
Apache Software Foundation (http://www.apache.org/)."
* Alternately, this
acknowlegement may appear in the software itself,
* if and wherever such
third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project",
"Struts", and "Apache Software
* Foundation" must not be used to endorse or
promote products derived
* from this software without prior written permission.
For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products
derived from this software may not be called "Apache"
* nor may "Apache" appear in
their names without prior written
* permission of the Apache Group.
*
* THIS
SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE
FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
*
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
*
SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on
behalf of the Apache Software Foundation. For more
* information on the Apache
Software Foundation, please see
* <http://www.apache.org/>.
*/
package
org.apache.struts.validator;
import java.io.Serializable;
import java.util.Map;
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.commons.validator.ValidatorResults;
import
org.apache.struts.action.ActionErrors;
import org.apache.struts.action.DynaActionForm;
import org.apache.struts.action.ActionMapping;
import
org.apache.struts.util.StrutsValidatorUtil;
/**
* <p>This class extends
<strong>DynaActionForm</strong> and provides
* basic field validation based on an XML
file. The key passed into the
* validator is the action element's 'name' attribute
from the
* struts-config.xml which should match the form element's name attribute
*
in the validation.xml.</p>
*
* <ul><li>See <code>ValidatorPlugin</code> definition
in struts-config.xml
* for validation rules.</li></ul>
*
* @author David
Winterfeldt
* @version $Revision$ $Date$
* @since Struts 1.1
* @see
org.apache.struts.action.ActionForm
*/
public class DynaValidatorForm extends
DynaActionForm implements DynaBean, Serializable {
/**
* Commons Logging
instance.
*/
private static Log log =
LogFactory.getLog(DynaValidatorForm.class);
/**
* The results returned from
the validation performed
* by the <code>Validator</code>.
*/
protected
ValidatorResults validatorResults = null;
/**
* Used to indicate the current
page of a multi-page form.
*/
protected int page = 0;
/**
* Gets
page.
* @return page number.
*/
public int getPage() {
return
page;
}
/**
* Sets page.
* @param page page number
*/
public
void setPage(int page) {
this.page = page;
}
/**
* 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.
*
*
@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
*/
public ActionErrors
validate(ActionMapping mapping,
HttpServletRequest
request) {
ServletContext application = getServlet().getServletContext();
ActionErrors errors = new ActionErrors();
Validator validator =
StrutsValidatorUtil.initValidator(mapping.getAttribute(),
this,
application, request,
errors, page);
try {
validatorResults = validator.validate();
} catch (ValidatorException e) {
log.error(e.getMessage(), e);
}
return errors;
}
/**
* Convenience method that call the
comparable servlet log method and writes
* an explanatory message and a stack
trace for a given Throwable exception to the
* servlet log file.
*
*
@param message String that describes the error or exception
*/
protected void log(String message) {
if (getServlet().getDebug() >= 1) {
getServlet().log(message);
}
}
/**
* Convenience method
that call the comparable servlet log method and writes
* an explanatory message
and a stack trace for a given Throwable exception to the
* servlet log file.
*
* @param message String that describes the error or exception
*
@param throwable Throwable error or exception
*/
protected void
log(String message, Throwable throwable) {
if (getServlet().getDebug() >= 1) {
getServlet().log(message, throwable);
}
}
/**
* Reset
all properties to their default values.
*
* @param mapping The mapping used
to select this instance
* @param request The servlet request we are processing
*/
public void reset(ActionMapping mapping, HttpServletRequest request) {
super.reset(mapping, request);
page = 0;
validatorResults = null;
}
/**
* Get results of the validation performed by the
*
<code>Validator</code>.
* @return validator results as ValidatorResults object
*/
public ValidatorResults getValidatorResults() {
return
validatorResults;
}
/**
* Set results of the validation performed by the
* <code>Validator</code>.
* @param validatorResults Set results of the
validation performed
*/
public void setValidatorResults(ValidatorResults
validatorResults) {
this.validatorResults = validatorResults;
}
/**
* Returns a <code>Map</code> of values returned
* from any validation that
returns a value other than
* <code>null</code> or <code>Boolean</code> with the
* key the full property path of the field.
* @return Returns a <code>Map</code>
of values, otherwise returns null if no results.
*/
public Map
getResultValueMap() {
return (validatorResults != null ?
validatorResults.getResultValueMap() : null);
}
}
\ No newline at end of file
1.5 +15 -16
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.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- ValidatorActionForm.java 30 Jun 2002 03:28:47 -0000 1.4
+++ ValidatorActionForm.java 16 Oct 2002 22:41:42 -0000 1.5
@@ -62,16 +62,14 @@
package org.apache.struts.validator;
import java.io.Serializable;
-import java.util.Locale;
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.commons.validator.ValidatorResources;
import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.util.StrutsValidatorUtil;
@@ -89,7 +87,7 @@
* @author David Winterfeldt
* @version $Revision$ $Date$
* @since Struts 1.1
-*/
+ */
public class ValidatorActionForm extends ValidatorForm implements Serializable {
@@ -107,6 +105,7 @@
*
* @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
*/
public ActionErrors validate(ActionMapping mapping,
HttpServletRequest request) {
@@ -114,16 +113,16 @@
ServletContext application = getServlet().getServletContext();
ActionErrors errors = new ActionErrors();
- Validator validator = StrutsValidatorUtil.initValidator(mapping.getPath(),
- this,
- application, request,
- errors, page);
+ Validator validator = StrutsValidatorUtil.initValidator(mapping.getPath(),
+ this,
+ application, request,
+ errors, page);
- try {
- validatorResults = validator.validate();
+ try {
+ validatorResults = validator.validate();
} catch (ValidatorException e) {
- log.error(e.getMessage(), e);
- }
+ log.error(e.getMessage(), e);
+ }
return errors;
}
1.6 +1 -223
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.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- ValidatorForm.java 30 Jun 2002 03:28:47 -0000 1.5
+++ ValidatorForm.java 16 Oct 2002 22:41:42 -0000 1.6
@@ -1,223 +1 @@
-/*
- * $Header$
- * $Revision$
- * $Date$
- *
- * ====================================================================
- *
- * The Apache Software License, Version 1.1
- *
- * Copyright (c) 1999 The Apache Software Foundation. All rights
- * reserved.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- *
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- *
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in
- * the documentation and/or other materials provided with the
- * distribution.
- *
- * 3. The end-user documentation included with the redistribution, if
- * any, must include the following acknowlegement:
- * "This product includes software developed by the
- * Apache Software Foundation (http://www.apache.org/)."
- * Alternately, this acknowlegement may appear in the software itself,
- * if and wherever such third-party acknowlegements normally appear.
- *
- * 4. The names "The Jakarta Project", "Struts", and "Apache Software
- * Foundation" must not be used to endorse or promote products derived
- * from this software without prior written permission. For written
- * permission, please contact [EMAIL PROTECTED]
- *
- * 5. Products derived from this software may not be called "Apache"
- * nor may "Apache" appear in their names without prior written
- * permission of the Apache Group.
- *
- * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
- * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
- * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
- * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
- * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
- * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
- * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
- * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
- * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
- * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
- * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
- * SUCH DAMAGE.
- * ====================================================================
- *
- * This software consists of voluntary contributions made by many
- * individuals on behalf of the Apache Software Foundation. For more
- * information on the Apache Software Foundation, please see
- * <http://www.apache.org/>.
- */
-
-
-package org.apache.struts.validator;
-
-import java.io.Serializable;
-import java.util.Locale;
-import java.util.Map;
-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.commons.validator.ValidatorResources;
-import org.apache.commons.validator.ValidatorResults;
-import org.apache.struts.action.ActionErrors;
-import org.apache.struts.action.ActionForm;
-import org.apache.struts.action.ActionMapping;
-import org.apache.struts.util.StrutsValidatorUtil;
-
-
-/**
- * <p>This class extends <strong>ActionForm</strong> and provides
- * basic field validation based on an XML file. The key passed into the
- * validator is the action element's 'name' attribute from the
- * struts-config.xml which should match the form element's name attribute
- * in the validation.xml.</p>
- *
- * <ul><li>See <code>ValidatorPlugin</code> definition in struts-config.xml
- * for validation rules.</li></ul>
- *
- * @author David Winterfeldt
- * @version $Revision$ $Date$
- * @see org.apache.struts.action.ActionForm
- * @since Struts 1.1
-*/
-public class ValidatorForm extends ActionForm implements Serializable {
-
- /**
- * Commons Logging instance.
- */
- private static Log log = LogFactory.getLog(ValidatorForm.class);
-
- /**
- * The results returned from the validation performed
- * by the <code>Validator</code>.
- */
- protected ValidatorResults validatorResults = null;
-
- /**
- * Used to indicate the current page of a multi-page form.
- */
- protected int page = 0;
-
- /**
- * Gets page.
- */
- public int getPage() {
- return page;
- }
-
- /**
- * Sets page.
- */
- public void setPage(int page) {
- this.page = page;
- }
-
- /**
- * 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.
- *
- * @param mapping The mapping used to select this instance
- * @param request The servlet request we are processing
- */
- public ActionErrors validate(ActionMapping mapping,
- HttpServletRequest request) {
-
- ServletContext application = getServlet().getServletContext();
- ActionErrors errors = new ActionErrors();
-
- Validator validator = StrutsValidatorUtil.initValidator(mapping.getAttribute(),
- this,
- application, request,
- errors, page);
-
- try {
- validatorResults = validator.validate();
- } catch (ValidatorException e) {
- log.error(e.getMessage(), e);
- }
-
- return errors;
- }
-
- /**
- * Convenience method that call the comparable servlet log method and writes
- * an explanatory message and a stack trace for a given Throwable exception to
the
- * servlet log file.
- *
- * @param message String that describes the error or exception
- */
- protected void log(String message) {
- if (getServlet().getDebug() >= 1) {
- getServlet().log(message);
- }
- }
-
- /**
- * Convenience method that call the comparable servlet log method and writes
- * an explanatory message and a stack trace for a given Throwable exception to
the
- * servlet log file.
- *
- * @param message String that describes the error or exception
- * @param throwable Throwable error or exception
- */
- protected void log(String message, Throwable throwable) {
- if (getServlet().getDebug() >= 1) {
- getServlet().log(message, throwable);
- }
- }
-
- /**
- * Reset all properties to their default values.
- *
- * @param mapping The mapping used to select this instance
- * @param request The servlet request we are processing
- */
- public void reset(ActionMapping mapping, HttpServletRequest request) {
- super.reset(mapping, request);
- page = 0;
- validatorResults = null;
- }
-
- /**
- * Get results of the validation performed by the
- * <code>Validator</code>.
- */
- public ValidatorResults getValidatorResults() {
- return validatorResults;
- }
-
- /**
- * Set results of the validation performed by the
- * <code>Validator</code>.
- */
- public void setValidatorResults(ValidatorResults validatorResults) {
- this.validatorResults = validatorResults;
- }
-
- /**
- * Returns a <code>Map</code> of values returned
- * from any validation that returns a value other than
- * <code>null</code> or <code>Boolean</code> with the
- * key the full property path of the field.
- */
- public Map getResultValueMap() {
- return (validatorResults != null ? validatorResults.getResultValueMap() :
null);
- }
-
-}
+/*
* $Header$
* $Revision$
* $Date$
*
*
====================================================================
*
* The Apache
Software License, Version 1.1
*
* Copyright (c) 1999 The Apache Software Foundation.
All rights
* reserved.
*
* Redistribution and use in source and binary forms, with
or without
* modification, are permitted provided that the following conditions
* are
met:
*
* 1. Redistributions of source code must retain the above copyright
*
notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions
in binary form must reproduce the above copyright
* notice, this list of
conditions and the following disclaimer in
* the documentation and/or other
materials provided with the
* distribution.
*
* 3. The end-user documentation
included with the redistribution, if
* any, must include the following
acknowlegement:
* "This product includes software developed by the
*
Apache Software Foundation (http://www.apache.org/)."
* Alternately, this
acknowlegement may appear in the software itself,
* if and wherever such
third-party acknowlegements normally appear.
*
* 4. The names "The Jakarta Project",
"Struts", and "Apache Software
* Foundation" must not be used to endorse or
promote products derived
* from this software without prior written permission.
For written
* permission, please contact [EMAIL PROTECTED]
*
* 5. Products
derived from this software may not be called "Apache"
* nor may "Apache" appear in
their names without prior written
* permission of the Apache Group.
*
* THIS
SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING,
BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A
PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE
FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
*
SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO,
PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR
BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
*
SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on
behalf of the Apache Software Foundation. For more
* information on the Apache
Software Foundation, please see
* <http://www.apache.org/>.
*/
package
org.apache.struts.validator;
import java.io.Serializable;
import java.util.Map;
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.commons.validator.ValidatorResults;
import
org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionMapping;
import
org.apache.struts.util.StrutsValidatorUtil;
/**
* <p>This class extends
<strong>ActionForm</strong> and provides
* basic field validation based on an XML
file. The key passed into the
* validator is the action element's 'name' attribute
from the
* struts-config.xml which should match the form element's name attribute
*
in the validation.xml.</p>
*
* <ul><li>See <code>ValidatorPlugin</code> definition
in struts-config.xml
* for validation rules.</li></ul>
*
* @author David
Winterfeldt
* @version $Revision$ $Date$
* @see org.apache.struts.action.ActionForm
* @since Struts 1.1
*/
public class ValidatorForm extends ActionForm implements
Serializable {
/**
* Commons Logging instance.
*/
private static
Log log = LogFactory.getLog(ValidatorForm.class);
/**
* The results returned
from the validation performed
* by the <code>Validator</code>.
*/
protected ValidatorResults validatorResults = null;
/**
* Used to indicate
the current page of a multi-page form.
*/
protected int page = 0;
/**
* Gets page.
* @return page number
*/
public int getPage() {
return page;
}
/**
* Sets page.
* @param page page number
*/
public void setPage(int page) {
this.page = page;
}
/**
*
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.
*
*
@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
*/
public ActionErrors
validate(ActionMapping mapping,
HttpServletRequest
request) {
ServletContext application = getServlet().getServletContext();
ActionErrors errors = new ActionErrors();
Validator validator =
StrutsValidatorUtil.initValidator(mapping.getAttribute(),
this,
application, request,
errors, page);
try {
validatorResults = validator.validate();
} catch (ValidatorException e) {
log.error(e.getMessage(), e);
}
return errors;
}
/**
* Convenience method that call the
comparable servlet log method and writes
* an explanatory message and a stack
trace for a given Throwable exception to the
* servlet log file.
*
*
@param message String that describes the error or exception
*/
protected void log(String message) {
if (getServlet().getDebug() >= 1) {
getServlet().log(message);
}
}
/**
* Convenience method
that call the comparable servlet log method and writes
* an explanatory message
and a stack trace for a given Throwable exception to the
* servlet log file.
*
* @param message String that describes the error or exception
*
@param throwable Throwable error or exception
*/
protected void
log(String message, Throwable throwable) {
if (getServlet().getDebug() >= 1) {
getServlet().log(message, throwable);
}
}
/**
*
Reset all properties to their default values.
*
* @param mapping The mapping
used to select this instance
* @param request The servlet request we are
processing
*/
public void reset(ActionMapping mapping, HttpServletRequest
request) {
super.reset(mapping, request);
page = 0;
validatorResults = null;
}
/**
* Get results of the validation performed
by the
* <code>Validator</code>.
* @return results of the validation
*/
public ValidatorResults getValidatorResults() {
return validatorResults;
}
/**
* Set results of the validation performed by the
*
<code>Validator</code>.
* @param validatorResults results of validation
*/
public void setValidatorResults(ValidatorResults validatorResults) {
this.validatorResults = validatorResults;
}
/**
* Returns a
<code>Map</code> of values returned
* from any validation that returns a value
other than
* <code>null</code> or <code>Boolean</code> with the
* key the
full property path of the field.
* @return <code>Map</code> of non-null values
*/
public Map getResultValueMap() {
return (validatorResults != null ?
validatorResults.getResultValueMap() : null);
}
}
\ No newline at end of file
1.8 +65 -67
jakarta-struts/src/share/org/apache/struts/validator/ValidatorPlugIn.java
Index: ValidatorPlugIn.java
===================================================================
RCS file:
/home/cvs/jakarta-struts/src/share/org/apache/struts/validator/ValidatorPlugIn.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -u -r1.7 -r1.8
--- ValidatorPlugIn.java 11 Oct 2002 22:17:51 -0000 1.7
+++ ValidatorPlugIn.java 16 Oct 2002 22:41:42 -0000 1.8
@@ -62,18 +62,14 @@
package org.apache.struts.validator;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
+
import java.util.StringTokenizer;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.UnavailableException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
+
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.apache.commons.validator.ValidatorResources;
@@ -90,12 +86,12 @@
* @author David Winterfeldt
* @version $Revision$ $Date$
* @since Struts 1.1
-*/
+ */
public class ValidatorPlugIn implements PlugIn {
/**
* Commons Logging instance.
- */
+ */
private static Log log = LogFactory.getLog(ValidatorPlugIn.class);
/**
@@ -111,12 +107,12 @@
/**
* Delimitter for Validator resources.
- */
+ */
private final static String RESOURCE_DELIM = ",";
/**
* Application scope key that <code>ValidatorResources</code> is stored under.
- */
+ */
public final static String VALIDATOR_KEY =
"org.apache.commons.validator.VALIDATOR_RESOURCES";
/**
@@ -134,17 +130,19 @@
private String pathnames = null;
/**
- * Gets a comma delimitted list of Validator resource.
- */
+ * Gets a comma delimitted list of Validator resources.
+ * @return comma delimited list of Validator resource path names
+ */
public String getPathnames() {
- return pathnames;
+ return pathnames;
}
/**
- * Sets a comma delimitted list of Validator resource.
- */
+ * Sets a comma delimitted list of Validator resources.
+ * @param pathnames delimited list of Validator resource path names
+ */
public void setPathnames(String pathnames) {
- this.pathnames = pathnames;
+ this.pathnames = pathnames;
}
/**
@@ -154,35 +152,35 @@
* @param config The ApplicationConfig for our owning module
*
* @exception ServletException if we cannot configure ourselves correctly
- */
+ */
public void init(ActionServlet servlet, ApplicationConfig config)
- throws ServletException {
+ throws ServletException {
// Remember our associated configuration and servlet
this.config = config;
this.servlet = servlet;
- // Load our database from persistent storage
- try {
- initResources();
- servlet.getServletContext().setAttribute(VALIDATOR_KEY +
config.getPrefix(), resources);
- } catch (Exception e) {
- log.error(e.getMessage(), e);
- throw new UnavailableException
- ("Cannot load a validator resource from '" + pathnames + "'");
- }
+ // Load our database from persistent storage
+ try {
+ initResources();
+ servlet.getServletContext().setAttribute(VALIDATOR_KEY +
config.getPrefix(), resources);
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ throw new UnavailableException
+ ("Cannot load a validator resource from '" +
pathnames + "'");
+ }
}
/**
* Gracefully shut down, releasing any resources
* that were allocated at initialization.
- */
+ */
public void destroy() {
- if (log.isDebugEnabled()) {
- log.debug("Destroying ValidatorPlugin");
- }
+ if (log.isDebugEnabled()) {
+ log.debug("Destroying ValidatorPlugin");
+ }
servlet = null;
config = null;
@@ -197,49 +195,49 @@
* @exception ServletException if we cannot initialize these resources
*/
protected void initResources() throws IOException, ServletException {
- resources = new ValidatorResources();
-
- if (pathnames != null && pathnames.length() > 0) {
- StringTokenizer st = new StringTokenizer(pathnames, RESOURCE_DELIM);
+ resources = new ValidatorResources();
- while (st.hasMoreTokens()) {
- String validatorRules = st.nextToken();
+ if (pathnames != null && pathnames.length() > 0) {
+ StringTokenizer st = new StringTokenizer(pathnames, RESOURCE_DELIM);
- validatorRules = validatorRules.trim();
+ while (st.hasMoreTokens()) {
+ String validatorRules = st.nextToken();
- if (log.isInfoEnabled()) {
- log.info("Loading validation rules file from '" + validatorRules + "'");
- }
+ validatorRules = validatorRules.trim();
- InputStream input = null;
- BufferedInputStream bis = null;
- input =
servlet.getServletContext().getResourceAsStream(validatorRules);
-
- if (input != null) {
- bis = new BufferedInputStream(input);
+ if (log.isInfoEnabled()) {
+ log.info("Loading validation rules file from '" +
validatorRules + "'");
+ }
- try {
- // pass in false so resources aren't processed
- // until last file is loaded
- ValidatorResourcesInitializer.initialize(resources, bis, false);
- } catch (Exception e) {
- log.error(e.getMessage(), e);
+ InputStream input = null;
+ BufferedInputStream bis = null;
+ input =
servlet.getServletContext().getResourceAsStream(validatorRules);
+
+ if (input != null) {
+ bis = new BufferedInputStream(input);
+
+ try {
+ // pass in false so resources aren't processed
+ // until last file is loaded
+ ValidatorResourcesInitializer.initialize(resources, bis,
false);
+ } catch (Exception e) {
+ log.error(e.getMessage(), e);
+ }
+ } else {
+ log.error("Skipping validation rules file from '" +
validatorRules + "'. No stream could be opened.");
}
- } else {
- log.error("Skipping validation rules file from '" + validatorRules
+ "'. No stream could be opened.");
- }
- }
-
- // process resources
- resources.process();
- }
+ }
+
+ // process resources
+ resources.process();
+ }
}
/**
* Destroy <code>ValidatorResources</code>.
- */
+ */
protected void destroyResources() {
- resources = null;
+ resources = null;
}
}
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>