Revision: 10514
Author:   [email protected]
Date:     Tue Aug  9 06:06:40 2011
Log:      Add constructor to GwtMessageInterpolator that accepts a
UserValidationMessagesResolver so applications can use more that one
MessageInterploator.

Review at http://gwt-code-reviews.appspot.com/1515803

Review by: [email protected]
http://code.google.com/p/google-web-toolkit/source/detail?r=10514

Modified:
/trunk/user/src/com/google/gwt/validation/client/BaseMessageInterpolator.java /trunk/user/src/com/google/gwt/validation/client/GwtMessageInterpolator.java /trunk/user/src/com/google/gwt/validation/super/com/google/gwt/validation/client/GwtMessageInterpolator.java

=======================================
--- /trunk/user/src/com/google/gwt/validation/client/BaseMessageInterpolator.java Fri May 6 07:35:25 2011 +++ /trunk/user/src/com/google/gwt/validation/client/BaseMessageInterpolator.java Tue Aug 9 06:06:40 2011
@@ -36,7 +36,7 @@
   /**
    * Implementation of {@link Context}.
    */
-  public static class ContextImpl implements Context {
+  public static final class ContextImpl implements Context {

     private final ConstraintDescriptor<?> constraintDescriptor;
     private final Object value;
@@ -55,7 +55,7 @@
     }
   }

-  // local version because guava is included.
+  // local version because guava is not included.
   private static interface Function<F, T> {
     T apply(F from);
   }
@@ -98,15 +98,18 @@
   /**
    * Replaces keys using the Validation User custom properties.
    */
-  private final Function<String, String> userReplacer =
-      createReplacer((ValidationMessageResolver)
-          GWT.create(UserValidationMessagesResolver.class));
-
-  public String interpolate(String messageTemplate, Context context) {
+  private final Function<String, String> userReplacer;
+
+  protected BaseMessageInterpolator(
+      UserValidationMessagesResolver userValidationMessagesResolver) {
+    userReplacer = createReplacer(userValidationMessagesResolver);
+  }
+
+ public final String interpolate(String messageTemplate, Context context) {
     return gwtInterpolate(messageTemplate, context, null);
   }

-  protected String gwtInterpolate(String message, Context context,
+  protected final String gwtInterpolate(String message, Context context,
       GwtLocale locale) {
     // see Section 4.3.1.1
     String resolvedMessage = message;
@@ -140,7 +143,7 @@
     return resolvedMessage;
   }

-  protected String replaceParameters(String message,
+  protected final String replaceParameters(String message,
       Function<String, String> replacer) {
     StringBuffer sb = new StringBuffer();
     int index = 0;
@@ -159,7 +162,7 @@
     return sb.toString();
   }

-  private String removeCurlyBrace(String parameter) {
+  private final String removeCurlyBrace(String parameter) {
     return parameter.substring(1, parameter.length() - 1);
   }
 }
=======================================
--- /trunk/user/src/com/google/gwt/validation/client/GwtMessageInterpolator.java Fri May 6 07:35:25 2011 +++ /trunk/user/src/com/google/gwt/validation/client/GwtMessageInterpolator.java Tue Aug 9 06:06:40 2011
@@ -15,6 +15,8 @@
  */
 package com.google.gwt.validation.client;

+import com.google.gwt.core.client.GWT;
+
 import java.util.Locale;

 /**
@@ -26,8 +28,31 @@
 public class GwtMessageInterpolator extends BaseMessageInterpolator {
   // This class only has the parts the need to overridden for GWT

-  public String interpolate(String messageTemplate, Context context,
+  /**
+ * Creates a {@link javax.validation.MessageInterpolator MessageInterpolator}
+   * MessageInterpolator that uses the default
+   * {@link UserValidationMessagesResolver}.
+   */
+  public GwtMessageInterpolator() {
+    this((UserValidationMessagesResolver) GWT
+        .create(UserValidationMessagesResolver.class));
+  }
+
+  /**
+ * Creates a {@link javax.validation.MessageInterpolator MessageInterpolator}
+   * using the supplie{@link UserValidationMessagesResolver}.
+   *
+   * @param userValidationMessagesResolver
+   */
+  public GwtMessageInterpolator(
+      UserValidationMessagesResolver userValidationMessagesResolver) {
+    super(userValidationMessagesResolver);
+  }
+
+  public final String interpolate(String messageTemplate, Context context,
       Locale locale) {
+    // The super sourced GWT version of this calls
+    // gwtInterpolate
     return messageTemplate;
   }
 }
=======================================
--- /trunk/user/src/com/google/gwt/validation/super/com/google/gwt/validation/client/GwtMessageInterpolator.java Mon Dec 20 11:43:41 2010 +++ /trunk/user/src/com/google/gwt/validation/super/com/google/gwt/validation/client/GwtMessageInterpolator.java Tue Aug 9 06:06:40 2011
@@ -15,17 +15,42 @@
  */
 package com.google.gwt.validation.client;

+import com.google.gwt.core.client.GWT;
 import com.google.gwt.i18n.shared.GwtLocale;

 import javax.validation.MessageInterpolator.Context;

 /**
+ * <strong>EXPERIMENTAL</strong> and subject to change. Do not use this in
+ * production code.
+ * <p>
  * Simple GWT {@link javax.validation.MessageInterpolator}.
  */
 public class GwtMessageInterpolator extends BaseMessageInterpolator {
   // This class only has the parts the need to overridden for GWT

-  public String interpolate(String messageTemplate, Context context,
+  /**
+ * Creates a {@link javax.validation.MessageInterpolator MessageInterpolator}
+   * MessageInterpolator that uses the default
+   * {@link UserValidationMessagesResolver}.
+   */
+  public GwtMessageInterpolator() {
+    this((UserValidationMessagesResolver) GWT
+        .create(UserValidationMessagesResolver.class));
+  }
+
+  /**
+ * Creates a {@link javax.validation.MessageInterpolator MessageInterpolator}
+   * using the supplie{@link UserValidationMessagesResolver}.
+   *
+   * @param userValidationMessagesResolver
+   */
+  public GwtMessageInterpolator(
+      UserValidationMessagesResolver userValidationMessagesResolver) {
+    super(userValidationMessagesResolver);
+  }
+
+  public final String interpolate(String messageTemplate, Context context,
       GwtLocale locale) {
     return gwtInterpolate(messageTemplate,context,locale);
   }

--
http://groups.google.com/group/Google-Web-Toolkit-Contributors

Reply via email to