dgraham 2003/07/09 21:01:48 Modified: src/share/org/apache/struts/validator DynaValidatorActionForm.java DynaValidatorForm.java Log: If the dyna 'page' property was defined as something other than java.lang.Integer a ClassCastException was thrown. Now a message is logged describing the error before the exception is thrown. I refactored the page variable setup into a new setPageFromDynaProperty() method. PR# 21428. Revision Changes Path 1.9 +5 -9 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.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- DynaValidatorActionForm.java 5 Mar 2003 02:53:15 -0000 1.8 +++ DynaValidatorActionForm.java 10 Jul 2003 04:01:47 -0000 1.9 @@ -109,11 +109,7 @@ * @return ActionErrors containing validation errors. */ public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { - // set the page variable before validating - Map props = this.getMap(); - if (props.containsKey("page")) { - this.page = ((Integer) props.get("page")).intValue(); - } + this.setPageFromDynaProperty(); ServletContext application = getServlet().getServletContext(); ActionErrors errors = new ActionErrors(); 1.11 +23 -9 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.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- DynaValidatorForm.java 2 Jul 2003 03:03:55 -0000 1.10 +++ DynaValidatorForm.java 10 Jul 2003 04:01:47 -0000 1.11 @@ -137,11 +137,7 @@ * @return <code>ActionErrors</code> object that encapsulates any validation errors. */ public ActionErrors validate(ActionMapping mapping, HttpServletRequest request) { - // set the page variable before validating - Map props = this.getMap(); - if (props.containsKey("page")) { - this.page = ((Integer) props.get("page")).intValue(); - } + this.setPageFromDynaProperty(); ServletContext application = getServlet().getServletContext(); ActionErrors errors = new ActionErrors(); @@ -156,6 +152,24 @@ } return errors; + } + + /** + * Sets this.page to the value of the Dyna property "page" if it's defined. This is + * used to setup the page variable before validation starts. + * @since Struts 1.2 + */ + protected void setPageFromDynaProperty() { + Map props = this.getMap(); + if (props.containsKey("page")) { + try { + this.page = ((Integer) props.get("page")).intValue(); + + } catch (ClassCastException e) { + log.error("Dyna 'page' property must be of type java.lang.Integer.", e); + throw e; + } + } } /**
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]