You are viewing a plain text version of this content. The canonical link for it is here.
Posted to taglibs-dev@jakarta.apache.org by js...@apache.org on 2001/06/05 10:35:48 UTC

cvs commit: jakarta-taglibs/i18n/src/org/apache/taglibs/i18n FormatTagSupport.java LocaleTag.java

jstrachan    01/06/05 01:35:47

  Modified:    i18n/src/org/apache/taglibs/i18n FormatTagSupport.java
                        LocaleTag.java
  Log:
  Patched the <formatXXX> tags to use the response.getLocale() to allow the <i18n:bundle> to set the Locale used on a page. If the respone.getLocale() returns null then the request.getLocale() is used instead
  
  Revision  Changes    Path
  1.3       +7 -7      jakarta-taglibs/i18n/src/org/apache/taglibs/i18n/FormatTagSupport.java
  
  Index: FormatTagSupport.java
  ===================================================================
  RCS file: /home/cvs/jakarta-taglibs/i18n/src/org/apache/taglibs/i18n/FormatTagSupport.java,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- FormatTagSupport.java	2001/04/29 05:27:48	1.2
  +++ FormatTagSupport.java	2001/06/05 08:35:40	1.3
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-taglibs/i18n/src/org/apache/taglibs/i18n/FormatTagSupport.java,v 1.2 2001/04/29 05:27:48 jstrachan Exp $
  - * $Revision: 1.2 $
  - * $Date: 2001/04/29 05:27:48 $
  + * $Header: /home/cvs/jakarta-taglibs/i18n/src/org/apache/taglibs/i18n/FormatTagSupport.java,v 1.3 2001/06/05 08:35:40 jstrachan Exp $
  + * $Revision: 1.3 $
  + * $Date: 2001/06/05 08:35:40 $
    *
    * ====================================================================
    * 
  @@ -78,7 +78,7 @@
     * implementation inheritence.
     *
     * @author James Strachan
  -  * @version $Revision: 1.2 $
  +  * @version $Revision: 1.3 $
     */
   public abstract class FormatTagSupport extends TagSupport {
       
  @@ -148,7 +148,7 @@
         */
       public Locale getLocale() {
           if ( locale == null ) {
  -            locale = findLocale();
  +            return findLocale();
           }
           return locale;
       }
  @@ -189,8 +189,8 @@
           if ( localeTag != null ) {
               return localeTag.getLocale();
           }        
  -        // otherwise lets use the ServletRequest
  -        return LocaleTag.getLocaleFromRequest( pageContext.getRequest() );
  +        // otherwise lets determine the Locale from the response, request or default
  +        return LocaleTag.getLocale( pageContext );
       }
       
       
  
  
  
  1.2       +19 -16    jakarta-taglibs/i18n/src/org/apache/taglibs/i18n/LocaleTag.java
  
  Index: LocaleTag.java
  ===================================================================
  RCS file: /home/cvs/jakarta-taglibs/i18n/src/org/apache/taglibs/i18n/LocaleTag.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- LocaleTag.java	2001/04/28 15:05:44	1.1
  +++ LocaleTag.java	2001/06/05 08:35:42	1.2
  @@ -1,7 +1,7 @@
   /*
  - * $Header: /home/cvs/jakarta-taglibs/i18n/src/org/apache/taglibs/i18n/LocaleTag.java,v 1.1 2001/04/28 15:05:44 jstrachan Exp $
  - * $Revision: 1.1 $
  - * $Date: 2001/04/28 15:05:44 $
  + * $Header: /home/cvs/jakarta-taglibs/i18n/src/org/apache/taglibs/i18n/LocaleTag.java,v 1.2 2001/06/05 08:35:42 jstrachan Exp $
  + * $Revision: 1.2 $
  + * $Date: 2001/06/05 08:35:42 $
    *
    * ====================================================================
    * 
  @@ -79,7 +79,7 @@
     * {@link Locale} is used.
     *
     * @author James Strachan
  -  * @version $Revision: 1.1 $
  +  * @version $Revision: 1.2 $
     */
   public class LocaleTag extends TagSupport {
       
  @@ -158,25 +158,28 @@
                   : new Locale( language, country );
           }
           // otherwise lets use the ServletRequest
  -        return getLocaleFromRequest( pageContext.getRequest() );
  +        return getLocale( pageContext );
       }
       
       /** Extracts the {@link Locale} from the given {@link ServletRequest}
         * or returns the default JVM's {@link Locale} if it could not be found
         */
  -    protected static Locale getLocaleFromRequest(ServletRequest request) {
  -        Locale answer = request.getLocale();
  +    protected static Locale getLocale( PageContext pageContext ) {
  +        Locale answer = pageContext.getResponse().getLocale();
           if ( answer == null ) {
  -            for ( Enumeration enum = request.getLocales(); enum.hasMoreElements(); ) {
  -                answer = (Locale) enum.nextElement();
  -                if ( answer != null ) {
  -                    break;
  -                }
  -            }
  +            ServletRequest request = pageContext.getRequest();
  +            answer = request.getLocale();
               if ( answer == null ) {
  -                // XXXX: should we use the JVM default?
  -                // XXXX: or throw some exception?
  -                answer = Locale.getDefault();
  +                for ( Enumeration enum = request.getLocales(); enum.hasMoreElements(); ) {
  +                    answer = (Locale) enum.nextElement();
  +                    if ( answer != null ) {
  +                        break;
  +                    }
  +                }
  +                if ( answer == null ) {
  +                    // XXXX: may wish to log warning?
  +                    answer = Locale.getDefault();
  +                }
               }
           }
           return answer;