You are viewing a plain text version of this content. The canonical link for it is here.
Posted to adffaces-commits@incubator.apache.org by aw...@apache.org on 2006/10/28 02:28:21 UTC

svn commit: r468616 - in /incubator/adffaces/trunk/trinidad: trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/ trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/ trinidad-api/src/test/java/org/apache/myfaces/trinidad/context/...

Author: awiner
Date: Fri Oct 27 19:28:20 2006
New Revision: 468616

URL: http://svn.apache.org/viewvc?view=rev&rev=468616
Log:
ADFFACES-268: Add support for formatting locale, separate from translation locale.  Also, fix a bug in DateTimeRangeValidator to avoid a NullPointerException when one of min or max isn't set

Removed:
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/desktop/HtmlRenderer.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/pda/HtmlRenderer.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/ui/laf/base/xhtml/HtmlRenderer.java
Modified:
    incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/LocaleContext.java
    incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java
    incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java
    incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java
    incubator/adffaces/trunk/trinidad/trinidad-api/src/test/java/org/apache/myfaces/trinidad/context/MockRequestContext.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextBean.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextImpl.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DateTimeConverter.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ChooseDateRenderer.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/HtmlRenderer.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/jsLibs/LocaleInfoScriptlet.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/LocaleContextImpl.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/MutableLocaleContext.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateTimeRangeValidator.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/ConfigParser.java
    incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/MRequestContext.java

Modified: incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/LocaleContext.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/LocaleContext.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/LocaleContext.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/LocaleContext.java Fri Oct 27 19:28:20 2006
@@ -34,20 +34,40 @@
   }
 
   /**
-   * Returns the locale that should be used for rendering.  Attributes
-   * on the current node should override this.
+   * Returns the locale that should be used for formatting.
    */
-  abstract public Locale getLocale();
+  abstract public Locale getFormattingLocale();
 
   /**
-   * Returns the locale that should be used for translations..
+   * Returns the formatting Locale in IANA String format.
    */
-  abstract public Locale getTranslationLocale();
+  abstract public String getFormattingIANALocaleString();
+
+
+  /**
+   * Returns the locale that should be used for formatting.
+   * @deprecated use getFormattingLocale()
+   */
+  public Locale getLocale()
+  {
+    return getFormattingLocale();
+  }
 
   /**
    * Returns the Locale in IANA String format.
+   * @deprecated use getFormattingIANALocaleString()
    */
-  abstract public String getIANALocaleString();
+  public String getIANALocaleString()
+  {
+    return getFormattingIANALocaleString();
+  }
+
+
+
+  /**
+   * Returns the locale that should be used for translations..
+   */
+  abstract public Locale getTranslationLocale();
 
 
   /**

Modified: incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/context/RequestContext.java Fri Oct 27 19:28:20 2006
@@ -17,6 +17,7 @@
 
 import java.awt.Color;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.TimeZone;
 
@@ -246,11 +247,16 @@
 
   /**
    * Returns true if the user should be shown output in right-to-left.
-   * @todo Should this be a java.lang.Boolean to better encapsulate
-   *  "default off of Locale"?  Currently, this forces Locale-checking
-   *  code into this method.
    */
   public abstract boolean isRightToLeft();
+
+  /**
+   * Returns the formatting locale.  Converters without an explicit locale
+   * should use this to format values.  If not set, converters should
+   * default to the value of FacesContext.getViewRoot().getLocale().
+   * This will, by default, simply return null.
+   */
+  public abstract Locale getFormattingLocale();
 
   //
   //  Number formatting

Modified: incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/DateTimeConverter.java Fri Oct 27 19:28:20 2006
@@ -1504,10 +1504,18 @@
     String pattern
     )
   {
-    Locale locale = getLocale();
+    RequestContext reqContext = RequestContext.getCurrentInstance();
 
+    Locale locale = getLocale();
     if (null == locale)
-      locale = context.getViewRoot().getLocale();
+    {
+      if (reqContext != null)
+        locale = reqContext.getFormattingLocale();
+      if (locale == null)
+      {
+        locale = context.getViewRoot().getLocale();
+      }
+    }
 
     TimeZone tZone = _getTimeZone();
 
@@ -1574,9 +1582,8 @@
           }
         }
 
-        RequestContext adfContext = RequestContext.getCurrentInstance();
         Calendar cal;
-        if (adfContext == null)
+        if (reqContext == null)
         {
           cal = null;
           if(_LOG.isWarning())
@@ -1586,7 +1593,7 @@
         }
         else
         {
-          cal = new GregorianCalendar(adfContext.getTwoDigitYearStart(), 0, 0);
+          cal = new GregorianCalendar(reqContext.getTwoDigitYearStart(), 0, 0);
         }
         if (cal != null)
           simpleFormat.set2DigitYearStart(cal.getTime());

Modified: incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-api/src/main/java/org/apache/myfaces/trinidad/convert/NumberConverter.java Fri Oct 27 19:28:20 2006
@@ -215,8 +215,8 @@
                                          " be specified");
     }
 
-    Locale locale = _getLocale(context);
     RequestContext reqCtx = RequestContext.getCurrentInstance();
+    Locale locale = _getLocale(reqCtx, context);
 
     NumberFormat fmt = _getNumberFormat(pattern, type, locale, reqCtx);
 
@@ -292,8 +292,8 @@
     }
 
 
-    Locale locale  = _getLocale(context);
     RequestContext reqCtx = RequestContext.getCurrentInstance();
+    Locale locale  = _getLocale(reqCtx, context);
 
     NumberFormat formatter = _getNumberFormat(pattern, type, locale, reqCtx);
 
@@ -1030,11 +1030,17 @@
                                      component);
   }
 
-  private Locale _getLocale(FacesContext context)
+  private Locale _getLocale(RequestContext rc, FacesContext context)
   {
     Locale locale = getLocale();
     if (locale == null )
-     locale = context.getViewRoot().getLocale();
+    {
+      locale = rc.getFormattingLocale();
+      if (locale == null)
+      {
+        locale = context.getViewRoot().getLocale();
+      }
+    }
 
     return locale;
   }

Modified: incubator/adffaces/trunk/trinidad/trinidad-api/src/test/java/org/apache/myfaces/trinidad/context/MockRequestContext.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-api/src/test/java/org/apache/myfaces/trinidad/context/MockRequestContext.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-api/src/test/java/org/apache/myfaces/trinidad/context/MockRequestContext.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-api/src/test/java/org/apache/myfaces/trinidad/context/MockRequestContext.java Fri Oct 27 19:28:20 2006
@@ -17,6 +17,7 @@
 
 import java.awt.Color;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.TimeZone;
 import javax.faces.component.UIComponent;
@@ -159,6 +160,17 @@
   }
 
   @Override
+  public Locale getFormattingLocale()
+  {
+    return _formattingLocale;
+  }
+
+  public void setFormattingLocale(Locale formattingLocale)
+  {
+    _formattingLocale = formattingLocale;
+  }
+
+  @Override
   public char getNumberGroupingSeparator()
   {
     return _numberGroupingSeparator;
@@ -306,5 +318,5 @@
   private Accessibility _accMode;
   private Agent _agent;
   private boolean _rtl = false;
-  
+  private Locale _formattingLocale;
 }

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextBean.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextBean.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextBean.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextBean.java Fri Oct 27 19:28:20 2006
@@ -15,6 +15,7 @@
  */
 package org.apache.myfaces.trinidadinternal.context;
 
+import java.util.Locale;
 import java.util.TimeZone;
 
 import org.apache.myfaces.trinidad.bean.FacesBeanImpl;
@@ -39,6 +40,8 @@
     TYPE.registerKey("accessibility-mode");
   static public final PropertyKey RIGHT_TO_LEFT_KEY =
     TYPE.registerKey("right-to-left", Boolean.class);
+  static public final PropertyKey FORMATTING_LOCALE_KEY =
+    TYPE.registerKey("formatting-locale", Locale.class);
   static public final PropertyKey NUMBER_GROUPING_SEPARATOR_KEY =
     TYPE.registerKey("number-grouping-separator", Character.class);
   static public final PropertyKey DECIMAL_SEPARATOR_KEY =

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextImpl.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextImpl.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/context/RequestContextImpl.java Fri Oct 27 19:28:20 2006
@@ -326,7 +326,7 @@
       // Support the "session" token
       if ("session".equalsIgnoreCase(changeManager))
       {
-        _LOG.info("ADF Faces is using HTTPSession for change persistence");
+        _LOG.info("Apache Trinidad is using HTTPSession for change persistence");
         return new SessionChangeManager();
       }
       // Otherwise, just assume its a class name.
@@ -397,6 +397,18 @@
     }
 
     return false;
+  }
+
+  public Locale getFormattingLocale()
+  {
+    Object o = _bean.getProperty(RequestContextBean.FORMATTING_LOCALE_KEY);
+    if (o == null)
+      return null;
+
+    if (o instanceof Locale)
+      return (Locale) o;
+    
+    return LocaleUtils.getLocaleForIANAString(o.toString());
   }
 
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DateTimeConverter.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DateTimeConverter.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DateTimeConverter.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/convert/DateTimeConverter.java Fri Oct 27 19:28:20 2006
@@ -504,7 +504,8 @@
     if (dateTimeConverterLocale != null)
     {
       Locale defaultLocale =
-        RenderingContext.getCurrentInstance().getLocaleContext().getLocale();
+        RenderingContext.getCurrentInstance().getLocaleContext().
+           getFormattingLocale();
       return !dateTimeConverterLocale.equals(defaultLocale);
     }
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/CoreRenderingContext.java Fri Oct 27 19:28:20 2006
@@ -20,6 +20,7 @@
 import java.io.File;
 
 import java.util.HashMap;
+import java.util.Locale;
 import java.util.Map;
 
 import javax.faces.context.FacesContext;
@@ -483,8 +484,13 @@
     FacesContext    fContext,
     RequestContext context)
   {
-    MutableLocaleContext localeContext = new MutableLocaleContext(
-                                   fContext.getViewRoot().getLocale());
+    Locale translations = fContext.getViewRoot().getLocale();
+    Locale formatting = context.getFormattingLocale();
+    if (formatting == null)
+      formatting = translations;
+
+    MutableLocaleContext localeContext = new MutableLocaleContext(formatting,
+                                                                  translations);
 
     localeContext.setReadingDirection(context.isRightToLeft() ?
                                       LocaleUtils.DIRECTION_RIGHTTOLEFT :

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ChooseDateRenderer.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ChooseDateRenderer.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ChooseDateRenderer.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/ChooseDateRenderer.java Fri Oct 27 19:28:20 2006
@@ -258,7 +258,7 @@
     // Bug 2388968:  Java's "short" weekdays in Arabic are single
     // letters, which we're told are inadequate.  Output entire
     // names instead.
-    if ("ar".equals(arc.getLocaleContext().getLocale().getLanguage()))
+    if ("ar".equals(arc.getLocaleContext().getFormattingLocale().getLanguage()))
       shortWeekdays = dateSymbols.getWeekdays();
     else
       shortWeekdays = dateSymbols.getShortWeekdays();
@@ -733,7 +733,7 @@
       XhtmlConstants.VALUE_PARAM,
       String.valueOf(selectedTime),
       LOC_PARAM,
-      arc.getLocaleContext().getIANALocaleString()
+      arc.getLocaleContext().getFormattingIANALocaleString()
     };
   }
 
@@ -1198,7 +1198,7 @@
     LocaleContext localeContext = arc.getLocaleContext();
 
     Calendar calendar = Calendar.getInstance(localeContext.getTimeZone(),
-                                localeContext.getLocale());
+                                localeContext.getFormattingLocale());
     if (calendar instanceof GregorianCalendar)
     {
       ((GregorianCalendar) calendar).setGregorianChange(
@@ -1389,7 +1389,7 @@
 
     if (symbols == null)
     {
-      symbols = new DateFormatSymbols(arc.getLocaleContext().getLocale());
+      symbols = new DateFormatSymbols(arc.getLocaleContext().getFormattingLocale());
 
       arc.getProperties().put(_DATE_SYMBOLS_KEY, symbols);
     }

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/HtmlRenderer.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/HtmlRenderer.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/HtmlRenderer.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/HtmlRenderer.java Fri Oct 27 19:28:20 2006
@@ -107,7 +107,7 @@
     writer.writeAttribute("dir", direction, null);
 
     // render the correct language
-    String lang = arc.getLocaleContext().getIANALocaleString();
+    String lang = arc.getLocaleContext().getTranslationIANALocaleString();
     if (lang != null)
     {
       if (isXML)

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/jsLibs/LocaleInfoScriptlet.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/jsLibs/LocaleInfoScriptlet.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/jsLibs/LocaleInfoScriptlet.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/renderkit/core/xhtml/jsLibs/LocaleInfoScriptlet.java Fri Oct 27 19:28:20 2006
@@ -71,7 +71,7 @@
 
     // write out the i18n Locale as a js variable
     writer.writeText("var _locale='", null);
-    writer.writeText(lc.getIANALocaleString(), null);
+    writer.writeText(lc.getFormattingIANALocaleString(), null);
     writer.writeText("';", null);
 
     // write out the translation Locale as a js variable
@@ -112,7 +112,7 @@
     RenderingContext arc)
   {
     Locale elementsLocale = _getJSLocaleElementsLocale(
-                                    arc.getLocaleContext().getLocale());
+                                    arc.getLocaleContext().getFormattingLocale());
     String var = getSupportedLocaleVariant(arc);
     if (var != null)
     {
@@ -145,7 +145,7 @@
    */
   public String getSupportedLocaleVariant(RenderingContext arc)
   {
-    String variant = arc.getLocaleContext().getLocale().getVariant();
+    String variant = arc.getLocaleContext().getFormattingLocale().getVariant();
     variant = variant.toUpperCase();
 
     if (variant.startsWith("ORACLE"))

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/LocaleContextImpl.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/LocaleContextImpl.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/LocaleContextImpl.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/LocaleContextImpl.java Fri Oct 27 19:28:20 2006
@@ -39,26 +39,16 @@
  * @version $Name:  $ ($Revision: adfrt/faces/adf-faces-impl/src/main/java/oracle/adfinternal/view/faces/share/nls/LocaleContext.java#0 $) $Date: 10-nov-2005.19:00:03 $
  * @author The Oracle ADF Faces Team
  */
-// -= Simon Lessard =-
 public class LocaleContextImpl extends LocaleContext
 {
   /**
-   * Creates a LocaleContext based off of the default Locale.
-   */
-  public LocaleContextImpl()
-  {
-    this(null);
-  }
-
-
-  /**
    * Creates a LocaleContext based off of the specified Locale.
    */
   public LocaleContextImpl(
-    Locale baseLocale
+    Locale locale
     )
   {
-    this(baseLocale, null);
+    this(locale, locale);
   }
 
 
@@ -69,29 +59,30 @@
    * can use the translation Locale to force subcomponents to only
    * use translations in a language supported by the application.
    * <p>
-   * @param baseLocale Locale providing default behavior for the LocaleContext.
+   * @param formattingLocale Locale providing default formatting
+   *    behavior for the LocaleContext.
    *                   If not specified, the defualt Locale is used.
    * @param translationLocale Locale to use for translations.  If not
-   *                          specified, the baseLocale is used.
+   *                          specified, the formattingLocale is used.
    */
   public LocaleContextImpl(
-    Locale baseLocale,
+    Locale formattingLocale,
     Locale translationLocale
     )
   {
     if (!getClass().getName().startsWith("org.apache.myfaces.trinidadinternal.share.nls."))
       throw new IllegalStateException("User-defined subclasses not supported.");
 
-    if (baseLocale == null)
+    if (formattingLocale == null)
     {
-      baseLocale = Locale.getDefault();
+      formattingLocale = Locale.getDefault();
     }
 
-    _locale = baseLocale;
+    _formattingLocale = formattingLocale;
 
     // default the translation locale to the baseLocale
     if (translationLocale == null)
-      translationLocale = baseLocale;
+      translationLocale = formattingLocale;
 
     _transLocale = translationLocale;
 
@@ -99,36 +90,35 @@
   }
 
   /**
-   * Returns the locale that should be used for rendering.  Attributes
-   * on the current node should override this.
+   * Returns the locale that should be used for translations.
    */
-  public Locale getLocale()
+  public Locale getTranslationLocale()
   {
-    return _locale;
+    return _transLocale;
   }
 
   /**
-   * Returns the locale that should be used for translations..
+   * Returns the locale that should be used for formatting.
    */
-  public Locale getTranslationLocale()
+  public Locale getFormattingLocale()
   {
-    return _transLocale;
+    return _formattingLocale;
   }
 
 
   /**
    * Returns the Locale in IANA String format.
    */
-  public String getIANALocaleString()
+  public String getFormattingIANALocaleString()
   {
-    if (_ianaLocale == null)
+    if (_formattingIanaLocale == null)
     {
-      String localeString = _locale.toString();
+      String localeString = _formattingLocale.toString();
 
-      _ianaLocale = localeString.replace('_', '-');
+      _formattingIanaLocale = localeString.replace('_', '-');
     }
 
-    return _ianaLocale;
+    return _formattingIanaLocale;
   }
 
 
@@ -237,8 +227,10 @@
   {
     StringBuffer buffer = new StringBuffer(super.toString());
 
-    buffer.append(" locale=");
-    buffer.append(getLocale());
+    buffer.append(" translationLocale=");
+    buffer.append(getTranslationLocale());
+    buffer.append(", formattingLocale=");
+    buffer.append(getFormattingLocale());
     buffer.append(", direction=");
     buffer.append(getReadingDirection());
     buffer.append(", timeZone=");
@@ -363,7 +355,7 @@
   @Override
   public int hashCode()
   {
-    return getLocale().hashCode();
+    return getFormattingLocale().hashCode();
   }
 
   /**
@@ -381,8 +373,8 @@
     LocaleContextImpl that = (LocaleContextImpl)obj;
 
     return
-      (this.getLocale().equals(that.getLocale())                         &&
-       this.getTranslationLocale().equals(that.getTranslationLocale())   &&
+      (this.getTranslationLocale().equals(that.getTranslationLocale())   &&
+       this.getFormattingLocale().equals(that.getFormattingLocale())     &&
        this.getTimeZone().equals(that.getTimeZone())                     &&
        (this.getReadingDirection() == that.getReadingDirection())        &&
        this.getDateFormatContext().equals(that.getDateFormatContext())   &&
@@ -443,9 +435,9 @@
 
   private HashMap<String, ResourceBundle> _bundles;
 
-  private Locale   _locale;
+  private Locale   _formattingLocale;
   private Locale   _transLocale;
-  private transient String _ianaLocale;
+  private transient String _formattingIanaLocale;
   private transient String _transIanaLocale;
   private TimeZone _timeZone;
 

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/MutableLocaleContext.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/MutableLocaleContext.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/MutableLocaleContext.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/share/nls/MutableLocaleContext.java Fri Oct 27 19:28:20 2006
@@ -42,21 +42,13 @@
 public final class MutableLocaleContext extends LocaleContextImpl
 {
   /**
-   * Creates a MutableLocaleContext based off of the default Locale.
-   */
-  public MutableLocaleContext()
-  {
-    super();
-  }
-
-  /**
    * Creates a MutableLocaleContext based off of the specified Locale.
    */
   public MutableLocaleContext(
-    Locale baseLocale
+    Locale formattingLocale
     )
   {
-    super(baseLocale);
+    super(formattingLocale);
   }
 
   /**
@@ -66,17 +58,17 @@
    * can use the translation Locale to force subcomponents to only
    * use translations in a language supported by the application.
    * <p>
-   * @param baseLocale Locale providing default behavior for the LocaleContext.
+   * @param formattingLocale Locale providing default behavior for the LocaleContext.
    *                   If not specified, the defualt Locale is used.
    * @param translationLocale Locale to use for translations.  If not
-   *                          specified, the baseLocale is used.
+   *                          specified, the formattingLocale is used.
    */
   public MutableLocaleContext(
-    Locale baseLocale,
+    Locale formattingLocale,
     Locale translationLocale
     )
   {
-    super(baseLocale, translationLocale);
+    super(formattingLocale, translationLocale);
   }
 
   /**
@@ -84,7 +76,7 @@
    */
   public MutableLocaleContext(LocaleContext context)
   {
-    super(context.getLocale(), context.getTranslationLocale());
+    super(context.getFormattingLocale(), context.getTranslationLocale());
 
     setReadingDirection(((LocaleContextImpl)context).getReadingDirection());
     setTimeZone(context.getTimeZone());

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateTimeRangeValidator.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateTimeRangeValidator.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateTimeRangeValidator.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateTimeRangeValidator.java Fri Oct 27 19:28:20 2006
@@ -72,9 +72,10 @@
     FacesContext context,
     UIComponent component)
   {
-    
-    String maxStr = Long.toString(getMaximum().getTime());
-    String minStr = Long.toString(getMinimum().getTime());
+    Date max = getMaximum();
+    Date min = getMinimum();
+    String maxStr = (max == null) ? null : Long.toString(max.getTime());
+    String minStr = (min == null) ? null : Long.toString(min.getTime());
     
     return  ConverterUtils.getClientValidation(context, component,
                                                MAXIMUM_MESSAGE_ID,

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/ConfigParser.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/ConfigParser.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/ConfigParser.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/webapp/ConfigParser.java Fri Oct 27 19:28:20 2006
@@ -17,6 +17,7 @@
 
 import java.io.InputStream;
 import java.io.IOException;
+import java.util.Locale;
 import java.util.TimeZone;
 
 import javax.servlet.ServletContext;
@@ -36,9 +37,11 @@
 
 import javax.faces.el.ValueBinding;
 
-import org.apache.myfaces.trinidadinternal.context.RequestContextBean;
 import org.apache.myfaces.trinidad.util.ClassLoaderUtils;
 
+import org.apache.myfaces.trinidadinternal.context.RequestContextBean;
+import org.apache.myfaces.trinidadinternal.util.nls.LocaleUtils;
+
 
 
 /**
@@ -195,29 +198,26 @@
           {
             Object value;
 
-            if ((key == RequestContextBean.NUMBER_GROUPING_SEPARATOR_KEY) ||
-                (key == RequestContextBean.DECIMAL_SEPARATOR_KEY))
+            if (key.getType() == Character.class)
             {
-              value = new Character(_currentText.charAt(0));
+              value = _currentText.charAt(0);
             }
-            else if (key == RequestContextBean.PAGE_FLOW_SCOPE_LIFETIME_KEY)
+            else if (key.getType() == Integer.class)
             {
               value = _getIntegerValue(_currentText, qName);
             }
-            else if (key == RequestContextBean.RIGHT_TO_LEFT_KEY ||
-                     key == RequestContextBean.DEBUG_OUTPUT_KEY ||
-                     key == RequestContextBean.CLIENT_VALIDATION_DISABLED_KEY)
+            else if (key.getType() == Boolean.class)
             {
               value = ("true".equalsIgnoreCase(_currentText)
                        ? Boolean.TRUE : Boolean.FALSE);
             }
-            else if (key == RequestContextBean.TIME_ZONE_KEY)
+            else if (key.getType() == TimeZone.class)
             {
               value = TimeZone.getTimeZone(_currentText);
             }
-            else if (key == RequestContextBean.TWO_DIGIT_YEAR_START)
+            else if (key.getType() == Locale.class)
             {
-              value = _getIntegerValue(_currentText, qName);
+              value = LocaleUtils.getLocaleForIANAString(_currentText);
             }
             else
             {

Modified: incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/MRequestContext.java
URL: http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/MRequestContext.java?view=diff&rev=468616&r1=468615&r2=468616
==============================================================================
--- incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/MRequestContext.java (original)
+++ incubator/adffaces/trunk/trinidad/trinidad-impl/src/test/java/org/apache/myfaces/trinidadinternal/renderkit/MRequestContext.java Fri Oct 27 19:28:20 2006
@@ -17,6 +17,7 @@
 
 import java.awt.Color;
 import java.util.List;
+import java.util.Locale;
 import java.util.Map;
 import java.util.TimeZone;
 import javax.faces.component.UIComponent;
@@ -161,6 +162,12 @@
   public void setRightToLeft(boolean rtl)
   {
     _rtl = rtl;
+  }
+
+  @Override
+  public Locale getFormattingLocale()
+  {
+    return null;
   }
 
   @Override