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 02:13:34 UTC
[2/3] git commit: DELTASPIKE-225 merge MessageContext and it's config
DELTASPIKE-225 merge MessageContext and it's config
Project: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/commit/f0f8043c
Tree: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/tree/f0f8043c
Diff: http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/diff/f0f8043c
Branch: refs/heads/master
Commit: f0f8043c5790badf10d9e8130f0dd20e04d06b61
Parents: 4370fbe
Author: Mark Struberg <st...@apache.org>
Authored: Sat Jul 7 02:07:00 2012 +0200
Committer: Mark Struberg <st...@apache.org>
Committed: Sat Jul 7 02:07:00 2012 +0200
----------------------------------------------------------------------
.../core/api/message/MessageContext.java | 95 ++----
.../core/impl/message/DefaultMessage.java | 8 +-
.../core/impl/message/DefaultMessageBuilder.java | 8 +-
.../core/impl/message/DefaultMessageContext.java | 110 +++++-
.../impl/message/DefaultMessageContextConfig.java | 275 ---------------
.../message/MessageBundleInvocationHandler.java | 8 +-
.../core/impl/message/MessageContextProducer.java | 10 +-
.../impl/message/UnmodifiableMessageContext.java | 39 ++-
.../message/UnmodifiableMessageContextConfig.java | 77 ----
.../test/core/api/message/MessageContextTest.java | 18 +-
10 files changed, 187 insertions(+), 461 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/f0f8043c/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 6af53ab..7667b6a 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
@@ -23,7 +23,7 @@ import java.io.Serializable;
/**
* Central context for handling dynamic messages
*/
-public interface MessageContext extends LocaleResolver
+public interface MessageContext extends LocaleResolver, Serializable
{
/**
* @return message builder to add and/or create a new message based on the current context via a fluent api
@@ -31,9 +31,38 @@ public interface MessageContext extends LocaleResolver
MessageBuilder message();
/**
- * @return the current config to change it or create a new one base on the current config
+ * @return the current message interpolator
*/
- Config config();
+ MessageInterpolator getMessageInterpolator();
+
+ /**
+ * @return the current message resolver
+ */
+ MessageResolver getMessageResolver();
+
+ /**
+ * @return the current locale resolver
+ */
+ LocaleResolver getLocaleResolver();
+
+ /**
+ * @param messageInterpolator a new message interpolator
+ * @return the instance of the current message context builder
+ */
+ MessageContext setMessageInterpolator(MessageInterpolator messageInterpolator);
+
+ /**
+ * @param messageResolver a new message resolver
+ * @return the instance of the current message context builder
+ */
+ MessageContext setMessageResolver(MessageResolver messageResolver);
+
+ /**
+ * @param localeResolver a new locale resolver
+ * @return the instance of the current message context builder
+ */
+ MessageContext setLocaleResolver(LocaleResolver localeResolver);
+
/**
* Helper for building instances of {@link Message}
@@ -63,64 +92,4 @@ public interface MessageContext extends LocaleResolver
String toText();
}
- /**
- * Config for customizing a {@link MessageContext}
- */
- interface Config extends Serializable
- {
- /**
- * create a new context based on the default context - the default context won't get modified
- *
- * @return a message context builder based on the current config
- */
- MessageContextBuilder use();
-
- /**
- * change the default context
- *
- * @return a message context builder to change the current config
- */
- MessageContextBuilder change();
-
- /**
- * @return the current message interpolator
- */
- MessageInterpolator getMessageInterpolator();
-
- /**
- * @return the current message resolver
- */
- MessageResolver getMessageResolver();
-
- /**
- * @return the current locale resolver
- */
- LocaleResolver getLocaleResolver();
-
- interface MessageContextBuilder
- {
- /**
- * @param messageInterpolator a new message interpolator
- * @return the instance of the current message context builder
- */
- MessageContextBuilder messageInterpolator(MessageInterpolator messageInterpolator);
-
- /**
- * @param messageResolver a new message resolver
- * @return the instance of the current message context builder
- */
- MessageContextBuilder messageResolver(MessageResolver messageResolver);
-
- /**
- * @param localeResolver a new locale resolver
- * @return the instance of the current message context builder
- */
- MessageContextBuilder localeResolver(LocaleResolver localeResolver);
-
- /**
- * @return a new message context based on the current config
- */
- MessageContext create();
- }
- }
}
http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/f0f8043c/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 f4a2212..a53f7db 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
@@ -36,13 +36,13 @@ class DefaultMessage implements Message
protected String messageTemplate;
protected List<Object> arguments = new ArrayList<Object>();
- private MessageContext.Config messageContextConfig;
+ private MessageContext messageContext;
- DefaultMessage(MessageContext.Config messageContextConfig,
+ DefaultMessage(MessageContext messageContext,
String messageTemplate,
Object... arguments)
{
- this.messageContextConfig = messageContextConfig;
+ this.messageContext = messageContext;
this.messageTemplate = messageTemplate;
this.arguments.addAll(Arrays.asList(arguments));
}
@@ -126,7 +126,7 @@ class DefaultMessage implements Message
@Override
public String toString()
{
- return toString(new DefaultMessageContext(messageContextConfig));
+ return toString(new DefaultMessageContext(messageContext));
}
public String toString(MessageContext messageContext)
http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/f0f8043c/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageBuilder.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageBuilder.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageBuilder.java
index f561552..575dd9d 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageBuilder.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageBuilder.java
@@ -47,7 +47,7 @@ class DefaultMessageBuilder implements MessageContext.MessageBuilder
public DefaultMessageBuilder(MessageContext messageContext)
{
reset();
- this.messageContext = new UnmodifiableMessageContext(messageContext.config().use().create() /*== clone*/);
+ this.messageContext = new UnmodifiableMessageContext(messageContext);
}
@Override
@@ -72,7 +72,7 @@ class DefaultMessageBuilder implements MessageContext.MessageBuilder
throw new IllegalStateException("messageTemplate is missing");
}
- return new DefaultMessage(messageContext.config(), messageTemplate,
+ return new DefaultMessage(messageContext, messageTemplate,
argumentList.toArray(new Object[argumentList.size()]));
}
@@ -102,13 +102,13 @@ class DefaultMessageBuilder implements MessageContext.MessageBuilder
{
String messageTemplate = baseMessage.getMessageTemplate();
- MessageResolver messageResolver = messageContext.config().getMessageResolver();
+ MessageResolver messageResolver = messageContext.getMessageResolver();
if (messageResolver != null)
{
messageTemplate = resolveMessage(messageResolver, baseMessage);
}
- MessageInterpolator messageInterpolator = messageContext.config().getMessageInterpolator();
+ MessageInterpolator messageInterpolator = messageContext.getMessageInterpolator();
//X TODO: this logic is odd. It's completely out of the standard flow
//X TODO: handling is different based on where the interpolator gets configured :(
http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/f0f8043c/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 01a89cd..29a3cce 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
@@ -18,7 +18,14 @@
*/
package org.apache.deltaspike.core.impl.message;
+import org.apache.deltaspike.core.api.literal.AnyLiteral;
+import org.apache.deltaspike.core.api.message.LocaleResolver;
import org.apache.deltaspike.core.api.message.MessageContext;
+import org.apache.deltaspike.core.api.message.MessageInterpolator;
+import org.apache.deltaspike.core.api.message.MessageResolver;
+import org.apache.deltaspike.core.api.message.annotation.MessageContextConfig;
+import org.apache.deltaspike.core.api.provider.BeanProvider;
+import org.apache.deltaspike.core.util.ClassUtils;
import javax.enterprise.inject.Typed;
import java.util.Locale;
@@ -28,18 +35,49 @@ class DefaultMessageContext implements MessageContext
{
private static final long serialVersionUID = -110779217295211303L;
- private Config config = null;
+ private MessageInterpolator messageInterpolator = null;
+ private MessageResolver messageResolver = null;
+ private LocaleResolver localeResolver = null;
DefaultMessageContext()
{
- config = new DefaultMessageContextConfig();
}
- DefaultMessageContext(Config config)
+ DefaultMessageContext(MessageContext otherMessageContext)
{
- this.config = config;
+ setMessageInterpolator(otherMessageContext.getMessageInterpolator());
+ setLocaleResolver(otherMessageContext.getLocaleResolver());
+ setMessageResolver(otherMessageContext.getMessageResolver()) ;
}
+ DefaultMessageContext(MessageContextConfig messageContextConfig)
+ {
+ if (!MessageResolver.class.equals(messageContextConfig.messageResolver()))
+ {
+ Class<? extends MessageResolver> messageResolverClass =
+ ClassUtils.tryToLoadClassForName(messageContextConfig.messageResolver().getName());
+
+ messageResolver = BeanProvider.getContextualReference(messageResolverClass, new AnyLiteral());
+ }
+
+ if (!MessageInterpolator.class.equals(messageContextConfig.messageInterpolator()))
+ {
+ Class<? extends MessageInterpolator> messageInterpolatorClass =
+ ClassUtils.tryToLoadClassForName(messageContextConfig.messageInterpolator().getName());
+
+ messageInterpolator = BeanProvider.getContextualReference(messageInterpolatorClass, new AnyLiteral());
+ }
+
+ if (!LocaleResolver.class.equals(messageContextConfig.localeResolver()))
+ {
+ Class<? extends LocaleResolver> localeResolverClass =
+ ClassUtils.tryToLoadClassForName(messageContextConfig.localeResolver().getName());
+
+ localeResolver = BeanProvider.getContextualReference(localeResolverClass, new AnyLiteral());
+ }
+ }
+
+
@Override
public MessageBuilder message()
{
@@ -47,20 +85,52 @@ class DefaultMessageContext implements MessageContext
}
@Override
- public Config config()
+ public Locale getLocale()
{
- return config;
+ if (getLocaleResolver() == null)
+ {
+ return null;
+ }
+
+ return getLocaleResolver().getLocale();
}
- @Override
- public Locale getLocale()
+ public LocaleResolver getLocaleResolver()
{
- return config().getLocaleResolver().getLocale();
+ return localeResolver;
}
- /*
- * generated
- */
+ public MessageContext setLocaleResolver(LocaleResolver localeResolver)
+ {
+ this.localeResolver = localeResolver;
+ return this;
+ }
+
+ public MessageInterpolator getMessageInterpolator()
+ {
+ return messageInterpolator;
+ }
+
+ public MessageContext setMessageInterpolator(MessageInterpolator messageInterpolator)
+ {
+ this.messageInterpolator = messageInterpolator;
+ return this;
+ }
+
+ public MessageResolver getMessageResolver()
+ {
+ return messageResolver;
+ }
+
+ public MessageContext setMessageResolver(MessageResolver messageResolver)
+ {
+ this.messageResolver = messageResolver;
+ return this;
+ }
+
+/*
+ * generated
+ */
@Override
public boolean equals(Object o)
@@ -76,8 +146,17 @@ class DefaultMessageContext implements MessageContext
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 (!config.equals(that.config))
+ if (messageResolver != null ? !messageResolver.equals(that.messageResolver) : that.messageResolver != null)
{
return false;
}
@@ -88,6 +167,9 @@ class DefaultMessageContext implements MessageContext
@Override
public int hashCode()
{
- return config.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/f0f8043c/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageContextConfig.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageContextConfig.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageContextConfig.java
deleted file mode 100644
index b67b14b..0000000
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/DefaultMessageContextConfig.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.core.impl.message;
-
-import org.apache.deltaspike.core.api.literal.AnyLiteral;
-import org.apache.deltaspike.core.api.message.LocaleResolver;
-import org.apache.deltaspike.core.api.message.MessageContext;
-import org.apache.deltaspike.core.api.message.MessageInterpolator;
-import org.apache.deltaspike.core.api.message.MessageResolver;
-import org.apache.deltaspike.core.api.message.annotation.MessageContextConfig;
-import org.apache.deltaspike.core.api.provider.BeanProvider;
-import org.apache.deltaspike.core.util.ClassUtils;
-
-import javax.enterprise.inject.Typed;
-
-/**
- * {@inheritDoc}
- */
-@Typed()
-class DefaultMessageContextConfig implements MessageContext.Config
-{
- private static final long serialVersionUID = 2919944628020782545L;
-
- private MessageInterpolator messageInterpolator = null;
- private MessageResolver messageResolver = null;
- private LocaleResolver localeResolver = null;
-
- DefaultMessageContextConfig()
- {
- }
-
- DefaultMessageContextConfig(MessageContextConfig messageContextConfig)
- {
- if (!MessageResolver.class.equals(messageContextConfig.messageResolver()))
- {
- Class<? extends MessageResolver> messageResolverClass =
- ClassUtils.tryToLoadClassForName(messageContextConfig.messageResolver().getName());
-
- messageResolver = BeanProvider.getContextualReference(messageResolverClass, new AnyLiteral());
- }
-
- if (!MessageInterpolator.class.equals(messageContextConfig.messageInterpolator()))
- {
- Class<? extends MessageInterpolator> messageInterpolatorClass =
- ClassUtils.tryToLoadClassForName(messageContextConfig.messageInterpolator().getName());
-
- messageInterpolator = BeanProvider.getContextualReference(messageInterpolatorClass, new AnyLiteral());
- }
-
- if (!LocaleResolver.class.equals(messageContextConfig.localeResolver()))
- {
- Class<? extends LocaleResolver> localeResolverClass =
- ClassUtils.tryToLoadClassForName(messageContextConfig.localeResolver().getName());
-
- localeResolver = BeanProvider.getContextualReference(localeResolverClass, new AnyLiteral());
- }
- }
-
- private DefaultMessageContextConfig(MessageContext.Config messageContextConfigTemplate)
- {
- this();
- messageInterpolator = messageContextConfigTemplate.getMessageInterpolator();
- messageResolver = messageContextConfigTemplate.getMessageResolver();
- localeResolver = messageContextConfigTemplate.getLocaleResolver();
- }
-
- @Override
- public MessageContextBuilder use()
- {
- return new MessageContextBuilder()
- {
- private DefaultMessageContextConfig newMessageContextConfig =
- new DefaultMessageContextConfig(DefaultMessageContextConfig.this);
-
- @Override
- public MessageContextBuilder messageInterpolator(MessageInterpolator messageInterpolator)
- {
- newMessageContextConfig.setMessageInterpolator(messageInterpolator);
- return this;
- }
-
- @Override
- public MessageContextBuilder messageResolver(MessageResolver messageResolver)
- {
- newMessageContextConfig.setMessageResolver(messageResolver);
- return this;
- }
-
- @Override
- public MessageContextBuilder localeResolver(LocaleResolver localeResolver)
- {
- newMessageContextConfig.setLocaleResolver(localeResolver);
- return this;
- }
-
- @Override
- public MessageContext create()
- {
- return new DefaultMessageContext(newMessageContextConfig);
- }
- };
- }
-
- @Override
- public MessageContextBuilder change()
- {
- return new MessageContextBuilder()
- {
- @Override
- public MessageContextBuilder messageInterpolator(MessageInterpolator messageInterpolator)
- {
- setMessageInterpolator(messageInterpolator);
- return this;
- }
-
- @Override
- public MessageContextBuilder messageResolver(MessageResolver messageResolver)
- {
- setMessageResolver(messageResolver);
- return this;
- }
-
- @Override
- public MessageContextBuilder localeResolver(LocaleResolver localeResolver)
- {
- setLocaleResolver(localeResolver);
- return this;
- }
-
- @Override
- public MessageContext create()
- {
- return new DefaultMessageContext(DefaultMessageContextConfig.this);
- }
- };
- }
-
- @Override
- public MessageInterpolator getMessageInterpolator()
- {
- return messageInterpolator;
- }
-
- @Override
- public MessageResolver getMessageResolver()
- {
- return messageResolver;
- }
-
- @Override
- public LocaleResolver getLocaleResolver()
- {
- return localeResolver;
- }
-
- private void setMessageInterpolator(MessageInterpolator messageInterpolator)
- {
- this.messageInterpolator = messageInterpolator;
- }
-
- private void setMessageResolver(MessageResolver messageResolver)
- {
- this.messageResolver = messageResolver;
- }
-
- private void setLocaleResolver(LocaleResolver localeResolver)
- {
- this.localeResolver = localeResolver;
- }
-
- @Override
- public String toString()
- {
- String newLine = System.getProperty("line.separator");
-
- StringBuilder configInfo = new StringBuilder("MessageContextConfig class: ");
- configInfo.append(getClass().getName());
- configInfo.append(newLine);
-
- if (messageInterpolator != null)
- {
- configInfo.append(" MessageInterpolator class: ").append(messageInterpolator.getClass());
- }
- else
- {
- configInfo.append(" no MessageInterpolator");
- }
- configInfo.append(newLine);
-
- if (messageResolver != null)
- {
- configInfo.append(" MessageResolver class: ").append(messageResolver.getClass());
- }
- else
- {
- configInfo.append(" no MessageResolver");
- }
- configInfo.append(newLine);
-
- configInfo.append(newLine);
-
- if (localeResolver != null)
- {
- configInfo.append(" LocaleResolver class: ").append(localeResolver.getClass());
- }
- else
- {
- configInfo.append(" no LocaleResolver");
- }
- configInfo.append(newLine);
-
- return configInfo.toString();
- }
-
- /*
- * generated
- */
-
- @Override
- public boolean equals(Object o)
- {
- if (this == o)
- {
- return true;
- }
- if (!(o instanceof DefaultMessageContextConfig))
- {
- return false;
- }
-
- DefaultMessageContextConfig that = (DefaultMessageContextConfig) 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/f0f8043c/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 3c73b75..83f6e28 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
@@ -86,17 +86,17 @@ class MessageBundleInvocationHandler implements InvocationHandler
private MessageContext applyMessageContextConfig(MessageContextConfig messageContextConfigLiteral,
String messageBundleName)
{
- MessageContext.Config config = new DefaultMessageContextConfig(messageContextConfigLiteral);
+ MessageContext messageContext = new DefaultMessageContext(messageContextConfigLiteral);
if (MessageResolver.class.equals(messageContextConfigLiteral.messageResolver()))
{
MessageResolver messageResolver = new DefaultMessageResolver();
- messageResolver.initialize(messageBundleName, config.getLocaleResolver().getLocale());
- config.change().messageResolver(messageResolver);
+ messageResolver.initialize(messageBundleName, messageContext.getLocaleResolver().getLocale());
+ messageContext.setMessageResolver(messageResolver);
}
- return config.use().create();
+ return messageContext;
}
private List<Object> resolveMessageArguments(Object[] args)
http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/f0f8043c/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageContextProducer.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageContextProducer.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageContextProducer.java
index 16ce572..abfc2f7 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageContextProducer.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/MessageContextProducer.java
@@ -47,12 +47,12 @@ public class MessageContextProducer
@Dependent
protected MessageContext createDefaultMessageContext()
{
- MessageContext.Config messageContextConfig = new DefaultMessageContext().config();
+ MessageContext messageContext = new DefaultMessageContext();
- messageContextConfig.change().messageInterpolator(messageInterpolator);
- messageContextConfig.change().localeResolver(localeResolver);
- messageContextConfig.change().messageResolver(messageResolver);
+ messageContext.setMessageInterpolator(messageInterpolator);
+ messageContext.setLocaleResolver(localeResolver);
+ messageContext.setMessageResolver(messageResolver);
- return messageContextConfig.use().create();
+ return messageContext;
}
}
http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/f0f8043c/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/UnmodifiableMessageContext.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/UnmodifiableMessageContext.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/UnmodifiableMessageContext.java
index 859e4c5..b07e571 100644
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/UnmodifiableMessageContext.java
+++ b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/UnmodifiableMessageContext.java
@@ -18,7 +18,10 @@
*/
package org.apache.deltaspike.core.impl.message;
+import org.apache.deltaspike.core.api.message.LocaleResolver;
import org.apache.deltaspike.core.api.message.MessageContext;
+import org.apache.deltaspike.core.api.message.MessageInterpolator;
+import org.apache.deltaspike.core.api.message.MessageResolver;
import javax.enterprise.inject.Typed;
import java.util.Locale;
@@ -38,14 +41,22 @@ class UnmodifiableMessageContext implements MessageContext
}
@Override
- public MessageContext.Config config()
+ public LocaleResolver getLocaleResolver()
{
- return new UnmodifiableMessageContextConfig(messageContext.config());
+ return messageContext.getLocaleResolver();
}
- /*
- * generated
- */
+ @Override
+ public MessageInterpolator getMessageInterpolator()
+ {
+ return messageContext.getMessageInterpolator();
+ }
+
+ @Override
+ public MessageResolver getMessageResolver()
+ {
+ return messageContext.getMessageResolver();
+ }
@Override
public MessageBuilder message()
@@ -54,6 +65,24 @@ class UnmodifiableMessageContext implements MessageContext
}
@Override
+ public MessageContext setLocaleResolver(LocaleResolver localeResolver)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public MessageContext setMessageInterpolator(MessageInterpolator messageInterpolator)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
+ public MessageContext setMessageResolver(MessageResolver messageResolver)
+ {
+ throw new UnsupportedOperationException();
+ }
+
+ @Override
public Locale getLocale()
{
return messageContext.getLocale();
http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/f0f8043c/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/UnmodifiableMessageContextConfig.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/UnmodifiableMessageContextConfig.java b/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/UnmodifiableMessageContextConfig.java
deleted file mode 100644
index e776c6b..0000000
--- a/deltaspike/core/impl/src/main/java/org/apache/deltaspike/core/impl/message/UnmodifiableMessageContextConfig.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one
- * or more contributor license agreements. See the NOTICE file
- * distributed with this work for additional information
- * regarding copyright ownership. The ASF licenses this file
- * to you under the Apache License, Version 2.0 (the
- * "License"); you may not use this file except in compliance
- * with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing,
- * software distributed under the License is distributed on an
- * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
- * KIND, either express or implied. See the License for the
- * specific language governing permissions and limitations
- * under the License.
- */
-package org.apache.deltaspike.core.impl.message;
-
-import org.apache.deltaspike.core.api.message.LocaleResolver;
-import org.apache.deltaspike.core.api.message.MessageContext;
-import org.apache.deltaspike.core.api.message.MessageInterpolator;
-import org.apache.deltaspike.core.api.message.MessageResolver;
-
-import javax.enterprise.inject.Typed;
-
-/**
- * generated
- */
-@Typed()
-class UnmodifiableMessageContextConfig implements MessageContext.Config
-{
- private MessageContext.Config messageContextConfig;
-
- UnmodifiableMessageContextConfig(MessageContext.Config messageContextConfig)
- {
- this.messageContextConfig = messageContextConfig;
- }
-
- @Override
- public MessageContextBuilder use()
- {
- //it's ok to delegate - the call of #use creates a new instance of the context - the old context is untouched
- return messageContextConfig.use();
- }
-
-
- @Override
- public MessageContextBuilder change()
- {
- throw new IllegalStateException(MessageContext.Config.class.getName() +
- "is readonly after the call of MessageContext#message");
- }
-
- /*
- * generated
- */
-
- @Override
- public MessageInterpolator getMessageInterpolator()
- {
- return messageContextConfig.getMessageInterpolator();
- }
-
- @Override
- public MessageResolver getMessageResolver()
- {
- return messageContextConfig.getMessageResolver();
- }
-
- @Override
- public LocaleResolver getLocaleResolver()
- {
- return messageContextConfig.getLocaleResolver();
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/f0f8043c/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 7a056c2..0b508a1 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
@@ -84,11 +84,10 @@ public class MessageContextTest
{
LocaleResolver localeResolver = new FixedEnglishLocalResolver();
- String messageText = messageContext.config()
- .use()
- .localeResolver(localeResolver)
- .messageResolver(new TestMessageResolver(localeResolver))
- .create().message().text("{hello}").argument("hans").toText();
+ String messageText = messageContext
+ .setLocaleResolver(localeResolver)
+ .setMessageResolver(new TestMessageResolver(localeResolver))
+ .message().text("{hello}").argument("hans").toText();
assertEquals("test message to hans", messageText);
}
@@ -97,11 +96,10 @@ public class MessageContextTest
public void resolveGermanMessageTextTest()
{
LocaleResolver localeResolver = new FixedGermanLocaleResolver();
- String messageText = messageContext.config()
- .use()
- .localeResolver(localeResolver)
- .messageResolver(new TestMessageResolver(localeResolver))
- .create().message().text("{hello}").argument("hans").toText();
+ String messageText = messageContext
+ .setLocaleResolver(localeResolver)
+ .setMessageResolver(new TestMessageResolver(localeResolver))
+ .message().text("{hello}").argument("hans").toText();
assertEquals("Test Nachricht an hans", messageText);
}