You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by st...@apache.org on 2012/07/07 17:26:12 UTC

git commit: DELTASPIKE-225 move bundle name to the MessageContext

Updated Branches:
  refs/heads/master 1b8d406e7 -> 34fc6f1d8


DELTASPIKE-225 move bundle name to the MessageContext


Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/34fc6f1d
Tree: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/34fc6f1d
Diff: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/34fc6f1d

Branch: refs/heads/master
Commit: 34fc6f1d86206a50cd05fdf06f8bd0453288e567
Parents: 1b8d406
Author: Mark Struberg <st...@apache.org>
Authored: Sat Jul 7 17:25:39 2012 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Sat Jul 7 17:25:39 2012 +0200

----------------------------------------------------------------------
 .../deltaspike/core/api/message/Message.java       |   11 ---
 .../core/api/message/MessageContext.java           |   12 +++
 .../core/api/message/MessageResolver.java          |    6 +-
 .../core/impl/message/DefaultMessage.java          |   26 +------
 .../core/impl/message/DefaultMessageContext.java   |   59 ++++-----------
 .../core/impl/message/DefaultMessageResolver.java  |    7 ++-
 .../message/MessageBundleInvocationHandler.java    |    4 +-
 .../test/core/api/message/MessageContextTest.java  |   17 ++--
 .../test/core/api/message/TestMessageResolver.java |    6 +-
 9 files changed, 53 insertions(+), 95 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/34fc6f1d/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/Message.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/Message.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/Message.java
index 5ac6739..329f89d 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/Message.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/Message.java
@@ -24,12 +24,6 @@ package org.apache.deltaspike.core.api.message;
 public interface Message
 {
     /**
-     * @param messageBundleName a name of the message bundle which should be used
-     * @return the instance of the current message context builder
-     */
-    Message bundle(String messageBundleName);
-
-    /**
      * @param messageTemplate message key (or inline-text) for the current message
      * @return the current instance of the message builder to allow a fluent api
      */
@@ -42,11 +36,6 @@ public interface Message
     Message argument(Object... arguments);
 
     /**
-     * @return the configured message bundle name
-     */
-    String getBundle();
-
-    /**
      * @return the message key (or inline-text) of the current message
      */
     String getTemplate();

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/34fc6f1d/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/MessageContext.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/MessageContext.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/MessageContext.java
index f106d2e..8225fea 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/MessageContext.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/MessageContext.java
@@ -38,6 +38,18 @@ public interface MessageContext extends LocaleResolver, Serializable, Cloneable
     Message message();
 
     /**
+     * @param messageBundleName a name of the message bundle which should be used
+     * @return the instance of the current message context builder
+     */
+    MessageContext bundle(String messageBundleName);
+
+    /**
+     * @return the configured message bundle name
+     */
+    String getBundle();
+
+
+    /**
      * @param messageInterpolator a new message interpolator to be set
      * @return the instance of the current message context builder
      */

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/34fc6f1d/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/MessageResolver.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/MessageResolver.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/MessageResolver.java
index 194ad1e..1a05695 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/MessageResolver.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/MessageResolver.java
@@ -19,7 +19,6 @@
 package org.apache.deltaspike.core.api.message;
 
 import java.io.Serializable;
-import java.util.Locale;
 
 /**
  * Implementations have to resolve the text stored for a given key in the message-source they are aware of.
@@ -30,12 +29,11 @@ public interface MessageResolver extends Serializable
     String MISSING_RESOURCE_MARKER = "???";
 
     /**
-     * @param bundleName the name of the messageBundle to use or <code>null</code> if none should be used
-     * @param locale the Locale to use for the resolving or <code>null</code> if the default should be used
+     * @param messageContext messageContext which should be used
      * @param messageTemplate the message key (or in-lined text) of the current message
      * @return the final but not interpolated message text
      *         or <code>null</code> if an error happened or the resource could not be resolved.
      */
-    String getMessage(String bundleName, Locale locale, String messageTemplate);
+    String getMessage(MessageContext messageContext, String messageTemplate);
 
 }

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/34fc6f1d/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessage.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessage.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessage.java
index 520c1a7..d6eac2e 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessage.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessage.java
@@ -40,7 +40,6 @@ class DefaultMessage implements Message
 {
     protected String messageTemplate;
     protected List<Object> arguments = new ArrayList<Object>();
-    protected String messageBundleName = null;
 
     private MessageContext messageContext;
 
@@ -52,13 +51,11 @@ class DefaultMessage implements Message
     }
 
     DefaultMessage(MessageContext messageContext,
-                   String messageBundleName,
                    String messageTemplate,
                    Object... arguments)
     {
         reset();
 
-        this.messageBundleName = messageBundleName;
         this.messageContext = messageContext;
         this.messageTemplate = messageTemplate;
 
@@ -67,19 +64,11 @@ class DefaultMessage implements Message
 
     protected void reset()
     {
-        messageBundleName = null;
         messageTemplate = null;
         arguments = new ArrayList<Object>();
     }
 
     @Override
-    public Message bundle(String messageBundleName)
-    {
-        this.messageBundleName = messageBundleName;
-        return this;
-    }
-
-    @Override
     public Message argument(Object... arguments)
     {
         Collections.addAll(this.arguments, arguments);
@@ -94,12 +83,6 @@ class DefaultMessage implements Message
     }
 
     @Override
-    public String getBundle()
-    {
-        return messageBundleName;
-    }
-
-    @Override
     public String getTemplate()
     {
         return messageTemplate;
@@ -118,16 +101,13 @@ class DefaultMessage implements Message
 
         // the string construction happens in 3 phases
 
-        // first we need the Locale which should get used
-        Locale locale = messageContext.getLocale();
-
-        // we then try to pickup the message via the MessageResolver
+        // first try to pickup the message via the MessageResolver
         String template = getTemplate();
         String ret = template;
         MessageResolver messageResolver = messageContext.getMessageResolver();
         if (messageResolver != null)
         {
-            String resolvedTemplate = messageResolver.getMessage(getBundle(), locale, template);
+            String resolvedTemplate = messageResolver.getMessage(messageContext, template);
             if (resolvedTemplate == null)
             {
                 // this means an error happened during message resolving
@@ -141,6 +121,8 @@ class DefaultMessage implements Message
         MessageInterpolator messageInterpolator = messageContext.getMessageInterpolator();
         if (messageInterpolator != null)
         {
+            Locale locale = messageContext.getLocale();
+
             ret = messageInterpolator.interpolate(template, getArguments(), locale);
         }
 

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/34fc6f1d/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageContext.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageContext.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageContext.java
index 71b76d0..d2fc890 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageContext.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageContext.java
@@ -35,6 +35,7 @@ class DefaultMessageContext implements MessageContext
     private MessageInterpolator messageInterpolator = null;
     private MessageResolver messageResolver = null;
     private LocaleResolver localeResolver = null;
+    private String messageBundleName = null;
 
     DefaultMessageContext()
     {
@@ -45,6 +46,7 @@ class DefaultMessageContext implements MessageContext
         messageInterpolator(otherMessageContext.getMessageInterpolator());
         localeResolver(otherMessageContext.getLocaleResolver());
         messageResolver(otherMessageContext.getMessageResolver()) ;
+
     }
 
     @Override
@@ -54,6 +56,19 @@ class DefaultMessageContext implements MessageContext
     }
 
     @Override
+    public MessageContext bundle(String messageBundleName)
+    {
+        this.messageBundleName = messageBundleName;
+        return this;
+    }
+
+    @Override
+    public String getBundle()
+    {
+        return messageBundleName;
+    }
+
+    @Override
     public Message message()
     {
         return new DefaultMessage(this);
@@ -103,48 +118,4 @@ class DefaultMessageContext implements MessageContext
         return this;
     }
 
-/*
-    * generated
-    */
-
-    @Override
-    public boolean equals(Object o)
-    {
-        if (this == o)
-        {
-            return true;
-        }
-        if (!(o instanceof DefaultMessageContext))
-        {
-            return false;
-        }
-
-        DefaultMessageContext that = (DefaultMessageContext) o;
-
-        if (!localeResolver.equals(that.localeResolver))
-        {
-            return false;
-        }
-        if (messageInterpolator != null
-                ? !messageInterpolator.equals(that.messageInterpolator) : that.messageInterpolator != null)
-        {
-            return false;
-        }
-        //noinspection RedundantIfStatement
-        if (messageResolver != null ? !messageResolver.equals(that.messageResolver) : that.messageResolver != null)
-        {
-            return false;
-        }
-
-        return true;
-    }
-
-    @Override
-    public int hashCode()
-    {
-        int result = messageInterpolator != null ? messageInterpolator.hashCode() : 0;
-        result = 31 * result + (messageResolver != null ? messageResolver.hashCode() : 0);
-        result = 31 * result + localeResolver.hashCode();
-        return result;
-    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/34fc6f1d/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageResolver.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageResolver.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageResolver.java
index b148243..bf80829 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageResolver.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageResolver.java
@@ -18,6 +18,7 @@
  */
 package org.apache.deltaspike.core.impl.message;
 
+import org.apache.deltaspike.core.api.message.MessageContext;
 import org.apache.deltaspike.core.api.message.MessageResolver;
 import org.apache.deltaspike.core.util.PropertyFileUtils;
 
@@ -33,7 +34,7 @@ class DefaultMessageResolver implements MessageResolver
 
 
     @Override
-    public String getMessage(String bundleName, Locale locale, String messageTemplate)
+    public String getMessage(MessageContext messageContext, String messageTemplate)
     {
         // we can use {{ as escaping for now
         if (messageTemplate.startsWith("{{"))
@@ -45,6 +46,9 @@ class DefaultMessageResolver implements MessageResolver
         if (messageTemplate.startsWith("{") && messageTemplate.endsWith("}"))
         {
             String resourceKey = messageTemplate.substring(1, messageTemplate.length() - 1);
+
+            String bundleName = messageContext.getBundle();
+
             if (bundleName == null)
             {
                 // using {} without a bundle is always an error
@@ -53,6 +57,7 @@ class DefaultMessageResolver implements MessageResolver
 
             try
             {
+                Locale locale = messageContext.getLocale();
                 ResourceBundle messageBundle = PropertyFileUtils.getResourceBundle(bundleName, locale);
 
                 return messageBundle.getString(resourceKey);

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/34fc6f1d/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageBundleInvocationHandler.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageBundleInvocationHandler.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageBundleInvocationHandler.java
index a8ab0ea..4561e5a 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageBundleInvocationHandler.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageBundleInvocationHandler.java
@@ -73,11 +73,11 @@ class MessageBundleInvocationHandler implements InvocationHandler
 
         if (String.class.isAssignableFrom(method.getReturnType()))
         {
-            return messageContext.message().bundle(messageBundleName).template(messageTemplate.value())
+            return messageContext.bundle(messageBundleName).message().template(messageTemplate.value())
                     .argument(arguments.toArray()).toString();
         }
 
-        return messageContext.message().bundle(messageBundleName).template(messageTemplate.value())
+        return messageContext.bundle(messageBundleName).message().template(messageTemplate.value())
                 .argument(arguments.toArray());
 
     }

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/34fc6f1d/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/message/MessageContextTest.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/message/MessageContextTest.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/message/MessageContextTest.java
index 1032ca8..938b76e 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/message/MessageContextTest.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/message/MessageContextTest.java
@@ -36,7 +36,7 @@ import org.junit.runner.RunWith;
 import javax.enterprise.inject.spi.Extension;
 import javax.inject.Inject;
 
-import static org.junit.Assert.assertEquals;
+import org.junit.Assert;
 
 /**
  * Tests for {@link MessageContext}
@@ -75,7 +75,7 @@ public class MessageContextTest
     @Test
     public void testSimpleMessage()
     {
-        assertEquals("Welcome to DeltaSpike",
+        Assert.assertEquals("Welcome to DeltaSpike",
                 simpleMessage.welcomeTo(messageContext, "DeltaSpike").toString());
     }
 
@@ -89,7 +89,7 @@ public class MessageContextTest
                 .messageResolver(new TestMessageResolver())
                 .message().template("{hello}").argument("hans").toString();
 
-        assertEquals("test message to hans", messageText);
+        Assert.assertEquals("test message to hans", messageText);
     }
 
     @Test
@@ -101,17 +101,17 @@ public class MessageContextTest
                 .messageResolver(new TestMessageResolver())
                 .message().template("{hello}").argument("hans").toString();
 
-        assertEquals("Test Nachricht an hans", messageText);
+        Assert.assertEquals("Test Nachricht an hans", messageText);
     }
 
     @Test
     public void createInvalidMessageTest()
     {
         String messageText = messageContext.message().template("{xyz123}").toString();
-        assertEquals("???xyz123???", messageText);
+        Assert.assertEquals("???xyz123???", messageText);
 
-        messageText = messageContext.message().bundle("nonexistingbundle.properties").template("{xyz123}").toString();
-        assertEquals("???xyz123???", messageText);
+        messageText = messageContext.bundle("nonexistingbundle.properties").message().template("{xyz123}").toString();
+        Assert.assertEquals("???xyz123???", messageText);
     }
 
     @Test
@@ -120,6 +120,7 @@ public class MessageContextTest
         String messageText = messageContext.message().template("{xyz123}").
                 argument("123").argument("456").argument("789").toString();
 
-        assertEquals("???xyz123??? [123, 456, 789]", messageText);
+        Assert.assertEquals("???xyz123??? [123, 456, 789]", messageText);
     }
+
 }

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/34fc6f1d/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/message/TestMessageResolver.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/message/TestMessageResolver.java b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/message/TestMessageResolver.java
index c671f6d..691d8e0 100644
--- a/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/message/TestMessageResolver.java
+++ b/deltaspike/core/impl/src/test/java/org/apache/deltaspike/test/core/api/message/TestMessageResolver.java
@@ -18,11 +18,11 @@
  */
 package org.apache.deltaspike.test.core.api.message;
 
+import org.apache.deltaspike.core.api.message.MessageContext;
 import org.apache.deltaspike.core.api.message.MessageResolver;
 import org.apache.deltaspike.core.util.PropertyFileUtils;
 
 import javax.enterprise.inject.Typed;
-import java.util.Locale;
 import java.util.MissingResourceException;
 import java.util.ResourceBundle;
 
@@ -36,7 +36,7 @@ public class TestMessageResolver implements MessageResolver
     }
 
     @Override
-    public String getMessage(String messageBundleName, Locale locale, String messageTemplate)
+    public String getMessage(MessageContext messageContext, String messageTemplate)
     {
         if ( messageTemplate.startsWith("{") && messageTemplate.endsWith("}"))
         {
@@ -44,7 +44,7 @@ public class TestMessageResolver implements MessageResolver
             try
             {
                 ResourceBundle resolvedBundle = PropertyFileUtils
-                        .getResourceBundle(TestMessages.class.getName(), locale);
+                        .getResourceBundle(TestMessages.class.getName(), messageContext.getLocale());
                 return resolvedBundle.getString(messageTemplate);
             }
             catch (MissingResourceException e)