The new version of getValidatorResources() added here takes a ServletContext
and an HttpServletRequest. It seems to me that it should only take the
request, since the servlet context can be obtained from that. It would be a
little less error-prone this way, too.

My 2 cents.

--
Martin Cooper


> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]]
> Sent: Friday, October 11, 2002 3:18 PM
> To: [EMAIL PROTECTED]
> Subject: cvs commit:
> jakarta-struts/src/share/org/apache/struts/validator
> ValidatorPlugIn.java
> 
> 
> rleland     2002/10/11 15:17:51
> 
>   Modified:    src/share/org/apache/struts/taglib/html
>                         JavascriptValidatorTag.java
>                src/share/org/apache/struts/util RequestUtils.java
>                         StrutsValidatorUtil.java
>                src/share/org/apache/struts/validator 
> ValidatorPlugIn.java
>   Log:
>   Buzilla 10348 - based on Patch by Eddie Bush
>   Allow Ranges for Floating point numbers
>   Eddie I didn't place your name in RequestUtils.java,
>   since that patch didn't make sense. However I did
>   placed it in StrutsValidatorUtil which met the 10 lines 
> rule of thumb.
>   
>   Revision  Changes    Path
>   1.5       +8 -3      
> jakarta-struts/src/share/org/apache/struts/taglib/html/Javascr
iptValidatorTag.java
>   
>   Index: JavascriptValidatorTag.java
>   ===================================================================
>   RCS file: 
> /home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/ht
ml/JavascriptValidatorTag.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- JavascriptValidatorTag.java     9 Jul 2002 23:58:52 
> -0000 1.4
>   +++ JavascriptValidatorTag.java     11 Oct 2002 22:17:50 
> -0000 1.5
>   @@ -68,6 +68,7 @@
>    import javax.servlet.jsp.JspWriter;
>    import javax.servlet.jsp.PageContext;
>    import javax.servlet.jsp.tagext.BodyTagSupport;
>   +
>    import org.apache.commons.validator.Field;
>    import org.apache.commons.validator.Form;
>    import org.apache.commons.validator.ValidatorAction;
>   @@ -78,6 +79,9 @@
>    import org.apache.struts.validator.ValidatorPlugIn;
>    import org.apache.struts.util.MessageResources;
>    import org.apache.struts.util.StrutsValidatorUtil;
>   +import org.apache.struts.util.RequestUtils;
>   +import org.apache.struts.Globals;
>   +import org.apache.struts.config.ApplicationConfig;
>    
>    
>    /**
>   @@ -254,9 +258,10 @@
>        public int doStartTag() throws JspException {
>           StringBuffer results = new StringBuffer();
>    
>   +       ApplicationConfig config = 
> RequestUtils.getApplicationConfig(pageContext);
>           ValidatorResources resources = (ValidatorResources)
>   -          
> pageContext.getAttribute(ValidatorPlugIn.VALIDATOR_KEY, 
> PageContext.APPLICATION_SCOPE);
>   -
>   +           pageContext.getAttribute(ValidatorPlugIn.VALIDATOR_KEY +
>   +                config.getPrefix(),PageContext.APPLICATION_SCOPE);
>           Locale locale = null;
>           try {
>               locale = (Locale) 
> pageContext.getAttribute(Action.LOCALE_KEY, 
> PageContext.SESSION_SCOPE);
>   
>   
>   
>   1.55      +18 -11    
> jakarta-struts/src/share/org/apache/struts/util/RequestUtils.java
>   
>   Index: RequestUtils.java
>   ===================================================================
>   RCS file: 
> /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Requ
estUtils.java,v
>   retrieving revision 1.54
>   retrieving revision 1.55
>   diff -u -r1.54 -r1.55
>   --- RequestUtils.java       8 Oct 2002 06:16:41 -0000       1.54
>   +++ RequestUtils.java       11 Oct 2002 22:17:51 -0000      1.55
>   @@ -90,7 +90,6 @@
>    import org.apache.struts.action.ActionError;
>    import org.apache.struts.action.ActionErrors;
>    import org.apache.struts.action.ActionForm;
>   -import org.apache.struts.action.ActionForward;
>    import org.apache.struts.action.ActionMapping;
>    import org.apache.struts.action.ActionMessage;
>    import org.apache.struts.action.ActionMessages;
>   @@ -103,7 +102,6 @@
>    import org.apache.struts.config.FormBeanConfig;
>    import org.apache.struts.config.ForwardConfig;
>    import org.apache.struts.taglib.html.Constants;
>   -import org.apache.struts.upload.FormFile;
>    import org.apache.struts.upload.MultipartRequestHandler;
>    
>    
>   @@ -1190,9 +1188,6 @@
>         *
>         * @param request The servlet request we are processing
>         * @param forward ForwardConfig to be evaluated
>   -     * @param slashPrefixed If true, method takes care to 
> prefix the forward path
>   -     * URL with a '/' if needed. If false, the '/' is 
> added only if forward
>   -     * path is used after another prefix.
>         * @since Struts 1.1b2
>         */
>        public static String forwardURL(HttpServletRequest request,
>   @@ -1452,6 +1447,20 @@
>    
>        }
>    
>   +    /**
>   +     * Return the ApplicationConfig object is it exists, 
> null otherwise.
>   +     * @param pageContext The page context.
>   +     * @return the ApplicationConfig object
>   +     */
>   +    public static ApplicationConfig 
> getApplicationConfig(PageContext pageContext) {
>   +       ApplicationConfig appConfig = (ApplicationConfig)
>   +           
> pageContext.getRequest().getAttribute(Action.APPLICATION_KEY);
>   +       if (appConfig == null) { // Backwards compatibility hack
>   +           appConfig = (ApplicationConfig)
>   +               
> pageContext.getServletContext().getAttribute(Action.APPLICATION_KEY);
>   +       }
>   +       return appConfig;
>   +    }
>    
>        /**
>         * Return the list of module prefixes that are defined for
>   @@ -1474,8 +1483,6 @@
>                if (!name.startsWith(Action.APPLICATION_KEY)) {
>                    continue;
>                }
>   -            ApplicationConfig config = (ApplicationConfig)
>   -                context.getAttribute(name);
>                String prefix = 
> name.substring(Action.APPLICATION_KEY.length());
>                if (prefix.length() > 0) {
>                    list.add(prefix);
>   
>   
>   
>   1.5       +20 -7     
> jakarta-struts/src/share/org/apache/struts/util/StrutsValidato
> rUtil.java
>   
>   Index: StrutsValidatorUtil.java
>   ===================================================================
>   RCS file: 
> /home/cvs/jakarta-struts/src/share/org/apache/struts/util/Stru
tsValidatorUtil.java,v
>   retrieving revision 1.4
>   retrieving revision 1.5
>   diff -u -r1.4 -r1.5
>   --- StrutsValidatorUtil.java        10 Jul 2002 00:00:19 
> -0000 1.4
>   +++ StrutsValidatorUtil.java        11 Oct 2002 22:17:51 
> -0000 1.5
>   @@ -68,14 +68,14 @@
>    import org.apache.struts.action.ActionError;
>    import org.apache.struts.action.ActionErrors;
>    import org.apache.struts.util.MessageResources;
>   -import org.apache.commons.beanutils.PropertyUtils;
>    import org.apache.commons.validator.Arg;
>    import org.apache.commons.validator.Field;
>    import org.apache.commons.validator.Validator;
>    import org.apache.commons.validator.ValidatorAction;
>    import org.apache.commons.validator.ValidatorResources;
>   -import org.apache.commons.validator.ValidatorUtil;
>    import org.apache.struts.validator.ValidatorPlugIn;
>   +import org.apache.struts.config.ApplicationConfig;
>   +import org.apache.struts.Globals;
>    
>    
>    /**
>   @@ -83,6 +83,7 @@
>     * from different scopes of the application.</p>
>     *
>     * @author David Winterfeldt
>   + * @author Eddie Bush
>     * @version $Revision$ $Date$
>     * @since Struts 1.1
>    */
>   @@ -107,11 +108,23 @@
>    
>       /**
>        * Retrieve <code>ValidatorResources</code> for the module.
>   +    *
>   +    * @deprecated This method can only return the 
> resources for the default
>   +    *  module.  Use 
> getValidatorResources(HttpServletRequest, ServletContext)
>   +    *  to get the resources for the current application module.
>       */
>       public static ValidatorResources 
> getValidatorResources(ServletContext application) {
>          return 
> (ValidatorResources)application.getAttribute(ValidatorPlugIn.V
ALIDATOR_KEY);
>       }
>    
>   +  /**
>   +   * Retrieve <code>ValidatorResources</code> for the 
> current module.
>   +   */
>   +   public static ValidatorResources 
> getValidatorResources(ServletContext 
> application,HttpServletRequest request) {
>   +      return (ValidatorResources) 
> application.getAttribute(ValidatorPlugIn.VALIDATOR_KEY +
>   +                           
> ((ApplicationConfig)request.getAttribute(Globals.APPLICATION_K
EY)).getPrefix());
>   +   }
>   +
>       /**
>        * Retrieve <code>MessageResources</code> for the 
> application module.
>        *
>   @@ -291,7 +304,7 @@
>                                             ServletContext 
> application, HttpServletRequest request,
>                                             ActionErrors 
> errors, int page) {
>    
>   -      ValidatorResources resources = 
> StrutsValidatorUtil.getValidatorResources(application);
>   +      ValidatorResources resources = 
> StrutsValidatorUtil.getValidatorResources(application,request);
>          Locale locale = StrutsValidatorUtil.getLocale(request);
>    
>          Validator validator = new Validator(resources, key);
>   
>   
>   
>   1.7       +5 -5      
> jakarta-struts/src/share/org/apache/struts/validator/Validator
PlugIn.java
>   
>   Index: ValidatorPlugIn.java
>   ===================================================================
>   RCS file: 
> /home/cvs/jakarta-struts/src/share/org/apache/struts/validator
/ValidatorPlugIn.java,v
>   retrieving revision 1.6
>   retrieving revision 1.7
>   diff -u -r1.6 -r1.7
>   --- ValidatorPlugIn.java    10 Jul 2002 00:00:27 -0000      1.6
>   +++ ValidatorPlugIn.java    11 Oct 2002 22:17:51 -0000      1.7
>   @@ -165,7 +165,7 @@
>        // Load our database from persistent storage
>        try {
>            initResources();
>   -        
> servlet.getServletContext().setAttribute(VALIDATOR_KEY, resources);
>   +        
> servlet.getServletContext().setAttribute(VALIDATOR_KEY + 
> config.getPrefix(), resources);
>        } catch (Exception e) {
>            log.error(e.getMessage(), e);
>            throw new UnavailableException
>   
>   
>   
> 
> --
> To unsubscribe, e-mail:   
> <mailto:[EMAIL PROTECTED]>
> For additional commands, e-mail: 
> <mailto:[EMAIL PROTECTED]>
> 
> 


--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to