Author: matzew
Date: Wed Jan 10 03:04:21 2007
New Revision: 494785

URL: http://svn.apache.org/viewvc?view=rev&rev=494785
Log:
some validator works

Modified:
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/ByteLengthValidator.java
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateRestrictionValidator.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/validator/DoubleRangeValidator.java
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LengthValidator.java
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LongRangeValidator.java
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/RegExpValidator.java
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/CharSets.js
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/CoreFormat.js
    
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Locale.js

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/ByteLengthValidator.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/ByteLengthValidator.java?view=diff&rev=494785&r1=494784&r2=494785
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/ByteLengthValidator.java
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/ByteLengthValidator.java
 Wed Jan 10 03:04:21 2007
@@ -16,21 +16,22 @@
 
 package org.apache.myfaces.trinidadinternal.validator;
 
+import java.io.IOException;
 import java.nio.charset.Charset;
 import java.nio.charset.IllegalCharsetNameException;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Map;
 import java.util.Set;
 
-import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 
 import org.apache.myfaces.trinidad.logging.TrinidadLogger;
-import org.apache.myfaces.trinidad.util.MessageFactory;
 import org.apache.myfaces.trinidad.validator.ClientValidator;
-import org.apache.myfaces.trinidadinternal.ui.laf.base.xhtml.XhtmlLafUtils;
+import org.apache.myfaces.trinidadinternal.util.JsonUtils;
 
 /**
  * <p>Enables byte length validation at the client side. </p>
@@ -108,8 +109,8 @@
     String maxLength = String.valueOf(getMaximum());
     constr.append(maxLength);
     
-    _applyCustomMessage(context, constr, maxLength);
-    
+    _applyCustomMessages(context, constr, maxLength);
+        
     constr.append(")");
 
     return constr.toString();
@@ -136,25 +137,31 @@
     }
   }
   
-  private void _applyCustomMessage(FacesContext context, StringBuilder constr, 
String maxLength)
+  private void _applyCustomMessages(FacesContext context, StringBuilder 
constr, String maxLength)
   {
+    Map<String, String> messages = new HashMap<String, String>();
+    
     String maxMsgDetail = getMessageDetailMaximum();
     if(maxMsgDetail != null)
     {
-      String label = "{0}";    // this will get substituted on the client
-      Object[] params = new Object[] {label, "{1}", maxLength};
-      FacesMessage msg = MessageFactory.getMessage(context,
-          ByteLengthValidator.MAXIMUM_MESSAGE_ID,
-          maxMsgDetail,
-          params);
-      
-      constr.append(",'");
-      constr.append(XhtmlLafUtils.escapeJS(msg.getDetail()));
-      constr.append("'");
-      
+      messages.put("detail", maxMsgDetail);
     }
     
+    String hintMax = getHintMaximum();
+    if(hintMax != null)
+    {
+      messages.put("hint", hintMax);
+    }
     
+    constr.append(',');
+    try
+    {
+      JsonUtils.writeMap(constr, messages, false);
+    }
+    catch (IOException e)
+    {
+      constr.append("null");
+    }
   }
 
   static private int _getType(String encoding)

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateRestrictionValidator.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateRestrictionValidator.java?view=diff&rev=494785&r1=494784&r2=494785
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateRestrictionValidator.java
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DateRestrictionValidator.java
 Wed Jan 10 03:04:21 2007
@@ -105,13 +105,18 @@
     
     String messageDetailDaysOfWeek = this.getMessageDetailInvalidDaysOfWeek();
     String messageDetailMonth = this.getMessageDetailInvalidMonths();
+    String hintWeek = this.getHintWeek();
+    String hintMonth = this.getHintMonth();
+
     
     Map<String, String> cMessages = null;
-    if(messageDetailDaysOfWeek != null || messageDetailMonth != null)
+    if(messageDetailDaysOfWeek != null || messageDetailMonth != null || 
hintWeek != null || hintMonth != null)
     {
       cMessages = new HashMap<String, String>();
       cMessages.put("days", messageDetailDaysOfWeek);
       cMessages.put("month", messageDetailMonth);
+      cMessages.put("hintWeek", hintWeek);
+      cMessages.put("hintMonth", hintMonth);
     }
 
     return _getTrDateRestrictionValidator(context, component, weekdaysValues, 
monthValues, cMessages);

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=494785&r1=494784&r2=494785
==============================================================================
--- 
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
 Wed Jan 10 03:04:21 2007
@@ -83,21 +83,22 @@
     String messageDetailMax = this.getMessageDetailMaximum();
     String messageDetailMin = this.getMessageDetailMinimum();
     String messageDetailRange = this.getMessageDetailNotInRange();
+    String hintMax = this.getHintMaximum();
+    String hintMin = this.getHintMinimum();
     
     Map<String, String> cMessages = null;
-    if(messageDetailMax != null || messageDetailMin != null || 
messageDetailRange != null)
+    if(messageDetailMax != null || messageDetailMin != null || 
messageDetailRange != null || hintMax != null || hintMin != null)
     {
       cMessages = new HashMap<String, String>();
       cMessages.put("max", messageDetailMax);
       cMessages.put("min", messageDetailMin);
       cMessages.put("range", messageDetailRange);
+      cMessages.put("hintMax", hintMax);
+      cMessages.put("hintMin", hintMin);
     }
-
     
     return _getTrDateTimeRangeValidator(context, component, maxStr, minStr, 
cMessages);
-    
   }
-  
   
   public String getClientLibrarySource(
    FacesContext context)

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DoubleRangeValidator.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DoubleRangeValidator.java?view=diff&rev=494785&r1=494784&r2=494785
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DoubleRangeValidator.java
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/DoubleRangeValidator.java
 Wed Jan 10 03:04:21 2007
@@ -66,14 +66,18 @@
     String messageDetailMax = this.getMessageDetailMaximum();
     String messageDetailMin = this.getMessageDetailMinimum();
     String messageDetailRange = this.getMessageDetailNotInRange();
+    String hintMax = this.getHintMaximum();
+    String hintMin = this.getHintMinimum();
     
     Map<String, String> cMessages = null;
-    if(messageDetailMax != null || messageDetailMin != null || 
messageDetailRange != null)
+    if(messageDetailMax != null || messageDetailMin != null || 
messageDetailRange != null || hintMax != null || hintMin != null)
     {
       cMessages = new HashMap<String, String>();
       cMessages.put("max", messageDetailMax);
       cMessages.put("min", messageDetailMin);
       cMessages.put("range", messageDetailRange);
+      cMessages.put("hintMax", hintMax);
+      cMessages.put("hintMin", hintMin);
     }
     
     return  _getTrRangeValidator(context, component, maxStr, minStr, 
cMessages);

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LengthValidator.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LengthValidator.java?view=diff&rev=494785&r1=494784&r2=494785
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LengthValidator.java
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LengthValidator.java
 Wed Jan 10 03:04:21 2007
@@ -63,12 +63,17 @@
     String minStr = IntegerUtils.getString(getMinimum());
     String messageDetailMax = this.getMessageDetailMaximum();
     String messageDetailMin = this.getMessageDetailMinimum();
+    String hintMax = this.getHintMaximum();
+    String hintMin = this.getHintMinimum();
+    
     Map<String, String> cMessages = null;
-    if(messageDetailMax != null || messageDetailMin != null)
+    if(messageDetailMax != null || messageDetailMin != null || hintMax != null 
|| hintMin != null)
     {
       cMessages = new HashMap<String, String>();
       cMessages.put("max", messageDetailMax);
       cMessages.put("min", messageDetailMin);
+      cMessages.put("hintMax", hintMax);
+      cMessages.put("hintMin", hintMin);
     }
     return _getTrLengthValidator(context, component, maxStr, minStr, 
cMessages);
 

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LongRangeValidator.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LongRangeValidator.java?view=diff&rev=494785&r1=494784&r2=494785
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LongRangeValidator.java
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/LongRangeValidator.java
 Wed Jan 10 03:04:21 2007
@@ -67,14 +67,18 @@
     String messageDetailMax = this.getMessageDetailMaximum();
     String messageDetailMin = this.getMessageDetailMinimum();
     String messageDetailRange = this.getMessageDetailNotInRange();
+    String hintMax = this.getHintMaximum();
+    String hintMin = this.getHintMinimum();
     
     Map<String, String> cMessages = null;
-    if(messageDetailMax != null || messageDetailMin != null || 
messageDetailRange != null)
+    if(messageDetailMax != null || messageDetailMin != null || 
messageDetailRange != null || hintMax != null || hintMin != null)
     {
       cMessages = new HashMap<String, String>();
       cMessages.put("max", messageDetailMax);
       cMessages.put("min", messageDetailMin);
       cMessages.put("range", messageDetailRange);
+      cMessages.put("hintMax", hintMax);
+      cMessages.put("hintMin", hintMin);
     }
     
     return _getTrRangeValidator(context, component, maxStr, minStr, cMessages);

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/RegExpValidator.java
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/RegExpValidator.java?view=diff&rev=494785&r1=494784&r2=494785
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/RegExpValidator.java
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/validator/RegExpValidator.java
 Wed Jan 10 03:04:21 2007
@@ -15,16 +15,18 @@
  */
 package org.apache.myfaces.trinidadinternal.validator;
 
+import java.io.IOException;
 import java.util.Collection;
 import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
 
-import javax.faces.application.FacesMessage;
 import javax.faces.component.UIComponent;
 import javax.faces.context.FacesContext;
 
-import org.apache.myfaces.trinidad.util.MessageFactory;
 import org.apache.myfaces.trinidad.validator.ClientValidator;
 import org.apache.myfaces.trinidadinternal.renderkit.core.xhtml.XhtmlUtils;
+import org.apache.myfaces.trinidadinternal.util.JsonUtils;
 
 public class RegExpValidator
                        extends 
org.apache.myfaces.trinidad.validator.RegExpValidator
@@ -69,27 +71,36 @@
     outBuffer.append("new TrRegExpValidator('"); // 21
     outBuffer.append(jsPattern);
     _applyCustomMessage(context, outBuffer);
-    outBuffer.append("')");                // 1
+    outBuffer.append(')');                // 1
 
     return outBuffer.toString();
   }
   
   private void _applyCustomMessage(FacesContext context, StringBuilder 
outBuffer)
   {
+    Map<String, String> messages = new HashMap<String, String>();
+    
     String noMatchMsg = getMessageDetailNoMatch();
     if(noMatchMsg != null)
     {
-      Object[] params = new Object[] {"{0}", "{1}", "{2}"};
-
-      FacesMessage message = MessageFactory.getMessage(context,
-                                  RegExpValidator.NO_MATCH_MESSAGE_ID,
-                                  noMatchMsg,
-                                  params);
-      String esNoMatchMsgPattern = XhtmlUtils.escapeJS(message.getDetail());
-      outBuffer.append("','");
-      outBuffer.append(esNoMatchMsgPattern);
-    }    
-
+      messages.put("detail", noMatchMsg);
+    }
+    
+    String hintPattern = getHintPattern();
+    if(hintPattern != null)
+    {
+      messages.put("hint", hintPattern);
+    }
+    
+    outBuffer.append("',");
+    try
+    {
+      JsonUtils.writeMap(outBuffer, messages, false);
+    }
+    catch (IOException e)
+    {
+      outBuffer.append("null");
+    }
   }
   
   public Collection<String> getClientImportNames()

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/CharSets.js
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/CharSets.js?view=diff&rev=494785&r1=494784&r2=494785
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/CharSets.js
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/CharSets.js
 Wed Jan 10 03:04:21 2007
@@ -18,11 +18,11 @@
 
 function TrByteLengthValidator(
   length,
-  detail
+  messages
   )
 {
   this._length   = length;
-  this._detail = detail;
+  this._messages = messages;
   this._class    = "TrByteLengthValidator";
 }
 
@@ -30,11 +30,11 @@
 
 function CjkFormat(
   length,
-  detail
+  messages
   )
 {
   this._base = TrByteLengthValidator;
-  this._base(length, detail);
+  this._base(length, messages);
   this._class = "CjkFormat";
   
 }
@@ -45,10 +45,21 @@
   )
 {
   var messages = new Array();
-  messages.push(TrMessageFactory.createMessage(
-    "org.apache.myfaces.trinidad.validator.ByteLengthValidator.MAXIMUM_HINT",
-         this._length)
-       );
+  
+  if(this._messages["hint"])
+  {
+    messages.push(TrMessageFactory.createCustomMessage(
+      this._messages["hint"],
+           this._length)
+         );
+  }
+  else
+  {
+    messages.push(TrMessageFactory.createMessage(
+      "org.apache.myfaces.trinidad.validator.ByteLengthValidator.MAXIMUM_HINT",
+           this._length)
+         );
+  }
        return messages;
 }
 CjkFormat.prototype.validate  = function(
@@ -69,7 +80,7 @@
     if (length < 0)
     {
       var facesMessage;
-      if(this._detail == undefined)
+      if(!this._messages["detail"])
       {
         facesMessage = _createFacesMessage(_byteLenKey,
                                            label,
@@ -79,7 +90,7 @@
       {
         facesMessage = _createCustomFacesMessage(
                                            
TrMessageFactory.getSummaryString(_byteLenKey),
-                                           this._detail,
+                                           this._messages["detail"],
                                            label,
                                            parseString);
       }
@@ -97,11 +108,11 @@
 
 function Utf8Format(
   length,
-  detail
+  messages
   )
 {
   this._base = TrByteLengthValidator;
-  this._base(length, detail);
+  this._base(length, messages);
   this._class = "Utf8Format";
 }
 
@@ -112,10 +123,21 @@
   )
 {
   var messages = new Array();
-  messages.push(TrMessageFactory.createMessage(
-    "org.apache.myfaces.trinidad.validator.ByteLengthValidator.MAXIMUM_HINT",
-         this._length)
-       );
+  
+  if(this._messages["hint"])
+  {
+    messages.push(TrMessageFactory.createCustomMessage(
+      this._messages["hint"],
+           this._length)
+         );
+  }
+  else
+  {
+    messages.push(TrMessageFactory.createMessage(
+      "org.apache.myfaces.trinidad.validator.ByteLengthValidator.MAXIMUM_HINT",
+           this._length)
+         );
+  }
        return messages;
 }
 Utf8Format.prototype.validate  = function(
@@ -144,7 +166,7 @@
     if (length < 0)
     {
       var facesMessage;
-      if(this._detail == undefined)
+      if(!this._messages["detail"])
       {
         facesMessage = _createFacesMessage(_byteLenKey,
                                            label,
@@ -154,7 +176,7 @@
       {
         facesMessage = _createCustomFacesMessage(
                                             
TrMessageFactory.getSummaryString(_byteLenKey),
-                                            this._detail,
+                                            this._messages["detail"],
                                             label,
                                             parseString);
       }
@@ -169,11 +191,11 @@
 
 function SBFormat(
   length,
-  detail
+  messages
   )
 {
   this._base = TrByteLengthValidator;
-  this._base(length, detail);
+  this._base(length, messages);
   this._class = "SBFormat";
   
 }
@@ -185,10 +207,21 @@
   )
 {
   var messages = new Array();
-  messages.push(TrMessageFactory.createMessage(
-    "org.apache.myfaces.trinidad.validator.ByteLengthValidator.MAXIMUM_HINT",
-         this._length)
-       );
+  
+  if(this._messages["hint"])
+  {
+    messages.push(TrMessageFactory.createCustomMessage(
+      this._messages["hint"],
+           this._length)
+         );
+  }
+  else
+  {
+    messages.push(TrMessageFactory.createMessage(
+      "org.apache.myfaces.trinidad.validator.ByteLengthValidator.MAXIMUM_HINT",
+           this._length)
+         );
+  }
        return messages;
 }
 SBFormat.prototype.validate  = function(
@@ -200,7 +233,7 @@
   if (this._length < parseString.length)
   {
       var facesMessage;
-      if(this._detail == undefined)
+      if(!this._messages["detail"])
       {
         facesMessage = _createFacesMessage(_byteLenKey,
                                            label,
@@ -210,7 +243,7 @@
       {
         facesMessage = _createCustomFacesMessage(
                                             
TrMessageFactory.getSummaryString(_byteLenKey),
-                                            this._detail,
+                                            this._messages["detail"],
                                             label,
                                             parseString);
       }

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/CoreFormat.js
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/CoreFormat.js?view=diff&rev=494785&r1=494784&r2=494785
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/CoreFormat.js
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/CoreFormat.js
 Wed Jan 10 03:04:21 2007
@@ -323,19 +323,15 @@
   converter
   )
 {
-       var hints = new Array();
-       hints.push(
-       TrMessageFactory.createMessage(
-      "org.apache.myfaces.trinidad.validator.RangeValidator.MAXIMUM_HINT",
-           ""+this._maxValue)
-   );
-       hints.push(
-       TrMessageFactory.createMessage(
-      "org.apache.myfaces.trinidad.validator.RangeValidator.MINIMUM_HINT",
-           ""+this._minValue)
-   );
-
-  return hints;
+  return _returnHints(
+    this._messages,
+    this._maxValue,
+    this._minValue,
+    "org.apache.myfaces.trinidad.validator.RangeValidator.MAXIMUM_HINT",
+    "org.apache.myfaces.trinidad.validator.RangeValidator.MINIMUM_HINT",
+    "hintMax",
+    "hintMin"
+  );
 }
 TrRangeValidator.prototype.validate  = function(
   value,
@@ -455,10 +451,13 @@
   )
 {
   return _returnHints(
+    this._messages,
     this._maxValue,
     this._minValue,
     "org.apache.myfaces.trinidad.validator.LengthValidator.MAXIMUM_HINT",
-    "org.apache.myfaces.trinidad.validator.LengthValidator.MINIMUM_HINT"
+    "org.apache.myfaces.trinidad.validator.LengthValidator.MINIMUM_HINT",
+    "hintMax",
+    "hintMin"
   );
 }
 TrLengthValidator.prototype.validate  = function(
@@ -540,10 +539,13 @@
   )
 {
   return _returnHints(
+    this._messages,
     converter.getAsString(new Date(this._maxValue)),
     converter.getAsString(new Date(this._minValue)),
     
"org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.MAXIMUM_HINT",
-    "org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.MINIMUM_HINT"
+    
"org.apache.myfaces.trinidad.validator.DateTimeRangeValidator.MINIMUM_HINT",
+    "hintMax",
+    "hintMin"
   );
 }
 TrDateTimeRangeValidator.prototype.validate  = function(
@@ -669,10 +671,13 @@
   )
 {
   return _returnHints(
+    this._messages,
     this._weekdaysValue,
     this._monthValue,
     
"org.apache.myfaces.trinidad.validator.DateRestrictionValidator.WEEKDAY_HINT",
-    "org.apache.myfaces.trinidad.validator.DateRestrictionValidator.MONTH_HINT"
+    
"org.apache.myfaces.trinidad.validator.DateRestrictionValidator.MONTH_HINT",
+    "hintWeek",
+    "hintMonth"
   );
 }
 TrDateRestrictionValidator.prototype.validate  = function(
@@ -867,11 +872,11 @@
 
 function TrRegExpValidator(
   pattern,
-  detail
+  messages
   )
 {  
   this._pattern  = pattern;
-  this._detail = detail;
+  this._messages = messages;
   this._class = "TrRegExpValidator";
 }
 
@@ -881,11 +886,21 @@
   )
 {
   var hints = new Array();
-  hints.push(TrMessageFactory.createMessage(
+  if(this._messages["hint"])
+  {
+    hints.push(TrMessageFactory.createCustomMessage(
+      this._messages["hint"],
+           ""+this._pattern)
+         );
+  }
+  else
+  {
+    hints.push(TrMessageFactory.createMessage(
       "org.apache.myfaces.trinidad.validator.RegExpValidator.NO_MATCH_HINT",
-      ""+this._pattern)
-  );
-  return hints;
+           ""+this._pattern)
+         );
+  }
+       return hints;
 }
 TrRegExpValidator.prototype.validate  = function(
   parseString,
@@ -907,14 +922,14 @@
   {
        var key = 
"org.apache.myfaces.trinidad.validator.RegExpValidator.NO_MATCH";
     var facesMessage;
-    if(this._detail)
+    if(this._messages && this._messages["detail"])
     {
       facesMessage = _createCustomFacesMessage(
                                          
TrMessageFactory.getSummaryString(key),
-                                         this._detail,
+                                         this._messages["detail"],
                                          label,
                                          parseString,
-                                         this._pattern);                       
                   
+                                         this._pattern);
     }
     else
     {
@@ -928,21 +943,36 @@
 }
 
 function _returnHints(
+  messages,
   max,
   min,
   maxKey,
-  minKey
+  minKey,
+  maxHint,
+  minHint
 )
 {
-  var hints = null;
+  var hints;
   if(max)
   {
     hints = new Array();
-    hints.push(
-      TrMessageFactory.createMessage(
-        maxKey,
-             ""+max)
-         );
+    if(messages && messages[maxHint])
+    {
+      hints.push(
+        TrMessageFactory.createCustomMessage(
+          messages[maxHint],
+               ""+max)
+           );
+    }
+    else
+    {
+      hints.push(
+        TrMessageFactory.createMessage(
+          maxKey,
+               ""+max)
+           );
+    }
+    
   }
   if(min)
   {
@@ -950,11 +980,22 @@
     {
       hints = new Array();
     }
-    hints.push(
-      TrMessageFactory.createMessage(
-        minKey,
-             ""+min)
-     );
+    if(messages && messages[minHint])
+    {
+      hints.push(
+        TrMessageFactory.createCustomMessage(
+          messages[minHint],
+               ""+min)
+       );
+    }
+    else
+    {
+      hints.push(
+        TrMessageFactory.createMessage(
+          minKey,
+               ""+min)
+       );
+    }
   }
   return hints;
 }

Modified: 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Locale.js
URL: 
http://svn.apache.org/viewvc/incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Locale.js?view=diff&rev=494785&r1=494784&r2=494785
==============================================================================
--- 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Locale.js
 (original)
+++ 
incubator/adffaces/trunk/trinidad/trinidad-impl/src/main/javascript/META-INF/adf/jsLibs/Locale.js
 Wed Jan 10 03:04:21 2007
@@ -918,3 +918,19 @@
     
   return message;
 }
+TrMessageFactory.createCustomMessage = function(
+  customMessage,
+  parameters
+  )
+{  
+  // the strings to create a facesMessage to use have been sent down
+  var message;
+  if ( customMessage != null )
+  {
+    if ( parameters != null )
+    {
+      message = TrFastMessageFormatUtils.format(customMessage,parameters);
+    }
+  }
+  return message;
+}
\ No newline at end of file


Reply via email to