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)