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]>