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/JavascriptValidatorTag.java
  
  Index: JavascriptValidatorTag.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/taglib/html/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/RequestUtils.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/StrutsValidatorUtil.java
  
  Index: StrutsValidatorUtil.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-struts/src/share/org/apache/struts/util/StrutsValidatorUtil.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.VALIDATOR_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_KEY)).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/ValidatorPlugIn.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]>

Reply via email to