You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2010/05/01 11:50:31 UTC
svn commit: r939964 - in
/myfaces/extensions/cdi/trunk/jse-modules/message-module:
api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/
impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/
impl/src/test/java/org/apache/myfaces...
Author: gpetracek
Date: Sat May 1 09:50:30 2010
New Revision: 939964
URL: http://svn.apache.org/viewvc?rev=939964&view=rev
Log:
[EXTCDI-21] changed names, stand-alone message-builder and additional test-cases
Added:
myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageBuilder.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageFactory.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageFactory.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/SimpleMessageBuilder.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessageBuilder.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessageFactory.java
Modified:
myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/AbstractMessage.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/AbstractMessageWithSeverity.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/Message.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageContext.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageInterpolator.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageResolver.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/CompositeMessageInterpolator.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultInternalMessage.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessage.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageBuilder.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageContext.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageInterpolator.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/ELAwareMessageInterpolator.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/NumberedArgumentAwareMessageInterpolator.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/UnmodifiableMessageContext.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/ExtensibilityTest.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/SimpleMessageTest.java
myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessage.java
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/AbstractMessage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/AbstractMessage.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/AbstractMessage.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/AbstractMessage.java Sat May 1 09:50:30 2010
@@ -35,7 +35,7 @@ import java.util.Collections;
*/
public abstract class AbstractMessage implements Message, MessageContextConfigAware<Message>
{
- protected String messageTemplate;
+ protected String messageDescriptor;
protected Set<NamedArgument> namedArguments = new HashSet<NamedArgument>();
protected List<Serializable> arguments = new ArrayList<Serializable>();
protected Map<Class, Class<? extends MessagePayload>> messagePayload =
@@ -48,13 +48,13 @@ public abstract class AbstractMessage im
public AbstractMessage(Message message)
{
- this(message.getTemplate(), message.getArguments());
+ this(message.getDescriptor(), message.getArguments());
this.messagePayload = message.getPayload();
}
- public AbstractMessage(String messageTemplate, Serializable... arguments)
+ public AbstractMessage(String messageDescriptor, Serializable... arguments)
{
- this.messageTemplate = messageTemplate;
+ this.messageDescriptor = messageDescriptor;
for (Serializable argument : arguments)
{
@@ -72,9 +72,9 @@ public abstract class AbstractMessage im
cleanup();
}
- public AbstractMessage(String messageTemplate, Set<NamedArgument> namedArguments)
+ public AbstractMessage(String messageDescriptor, Set<NamedArgument> namedArguments)
{
- this.messageTemplate = messageTemplate;
+ this.messageDescriptor = messageDescriptor;
this.namedArguments = namedArguments;
this.arguments = null;
}
@@ -181,9 +181,9 @@ public abstract class AbstractMessage im
this.arguments.add(argument);
}
- public String getTemplate()
+ public String getDescriptor()
{
- return this.messageTemplate;
+ return this.messageDescriptor;
}
public Serializable[] getArguments()
@@ -281,7 +281,7 @@ public abstract class AbstractMessage im
{
return false;
}
- if (!messageTemplate.equals(that.messageTemplate))
+ if (!messageDescriptor.equals(that.messageDescriptor))
{
return false;
}
@@ -301,7 +301,7 @@ public abstract class AbstractMessage im
@Override
public int hashCode()
{
- int result = messageTemplate.hashCode();
+ int result = messageDescriptor.hashCode();
result = 31 * result + (namedArguments != null ? namedArguments.hashCode() : 0);
result = 31 * result + (arguments != null ? arguments.hashCode() : 0);
result = 31 * result + (messagePayload != null ? messagePayload.hashCode() : 0);
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/AbstractMessageWithSeverity.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/AbstractMessageWithSeverity.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/AbstractMessageWithSeverity.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/AbstractMessageWithSeverity.java Sat May 1 09:50:30 2010
@@ -34,19 +34,19 @@ public abstract class AbstractMessageWit
super(message);
}
- public AbstractMessageWithSeverity(String messageTemplate,
+ public AbstractMessageWithSeverity(String messageDescriptor,
Class<? extends MessagePayload> severity,
Serializable... arguments)
{
- super(messageTemplate, arguments);
+ super(messageDescriptor, arguments);
addPayload(severity);
}
- public AbstractMessageWithSeverity(String messageTemplate,
+ public AbstractMessageWithSeverity(String messageDescriptor,
Class<? extends MessagePayload> severity,
Set<NamedArgument> namedArguments)
{
- super(messageTemplate, namedArguments);
+ super(messageDescriptor, namedArguments);
addPayload(severity);
}
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/Message.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/Message.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/Message.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/Message.java Sat May 1 09:50:30 2010
@@ -30,9 +30,9 @@ import java.util.Map;
public interface Message extends Localizable, Serializable
{
/**
- * @return the message template (or inline-text) of the current message
+ * @return the message key (or inline-text) of the current message
*/
- String getTemplate();
+ String getDescriptor();
/**
* @return all named and numbered arguments
Added: myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageBuilder.java?rev=939964&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageBuilder.java (added)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageBuilder.java Sat May 1 09:50:30 2010
@@ -0,0 +1,78 @@
+/*
+ * 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.myfaces.extensions.cdi.message.api;
+
+import org.apache.myfaces.extensions.cdi.message.api.payload.MessagePayload;
+
+import java.io.Serializable;
+
+/**
+ * @author Gerhard Petracek
+ */
+public interface MessageBuilder extends Serializable
+{
+ /**
+ * @param messagePayload payload for the current message
+ * @return the current instance of the message builder to allow a fluent api
+ */
+ MessageBuilder payload(Class<? extends MessagePayload>... messagePayload);
+
+ /**
+ * @param messageDescriptor message key (or inline-text) for the current message
+ * @return the current instance of the message builder to allow a fluent api
+ */
+ MessageBuilder text(String messageDescriptor);
+
+ /**
+ * @param arguments numbered and/or named argument(s) for the current message
+ * @return the current instance of the message builder to allow a fluent api
+ */
+ MessageBuilder argument(Serializable... arguments);
+
+ /**
+ * helper method to add named arguments easily
+ * @param name the name/key of the named argument
+ * @param value the value of the named argument
+ * @return the current instance of the message builder to allow a fluent api
+ */
+ MessageBuilder namedArgument(String name, Serializable value);
+
+ /**
+ * adds the message which was built via the fluent api
+ * @return the message which was built via the fluent api
+ */
+ Message add();
+
+ /**
+ * @return the message which was built via the fluent api
+ */
+ Message create();
+
+ /**
+ * @return the text of the message which was built via the fluent api
+ */
+ String toText();
+
+ /**
+ * converts a given message to the text via the current context
+ * @param message the message which should be converted
+ * @return the converted text of the given message
+ */
+ String toText(Message message);
+}
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageContext.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageContext.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageContext.java Sat May 1 09:50:30 2010
@@ -18,8 +18,6 @@
*/
package org.apache.myfaces.extensions.cdi.message.api;
-import org.apache.myfaces.extensions.cdi.message.api.payload.MessagePayload;
-
import java.io.Serializable;
/**
@@ -62,58 +60,4 @@ public interface MessageContext extends
* @param message a message which should be added to the current context (message handlers)
*/
void addMessage(Message message);
-
- interface MessageBuilder
- {
- /**
- * @param messagePayload payload for the current message
- * @return the current instance of the message builder to allow a fluent api
- */
- MessageBuilder payload(Class<? extends MessagePayload>... messagePayload);
-
- /**
- * @param messageTemplate message template (or inline-text) for the current message
- * @return the current instance of the message builder to allow a fluent api
- */
- MessageBuilder text(String messageTemplate);
-
- /**
- * @param arguments numbered and/or named argument(s) for the current message
- * @return the current instance of the message builder to allow a fluent api
- */
- MessageBuilder argument(Serializable... arguments);
-
- /**
- * helper method to add named arguments easily
- * @param name the name/key of the named argument
- * @param value the value of the named argument
- * @return the current instance of the message builder to allow a fluent api
- */
- MessageBuilder namedArgument(String name, Serializable value);
-
- //see MessageContext for add(Message)
-
- /**
- * adds the message which was built via the fluent api
- * @return the message which was built via the fluent api
- */
- Message add();
-
- /**
- * @return the message which was built via the fluent api
- */
- Message create();
-
- /**
- * @return the text of the message which was built via the fluent api
- */
- String toText();
-
- /**
- * converts a given message to the text via the current context
- * @param message the message which should be converted
- * @return the converted text of the given message
- */
- String toText(Message message);
- }
}
Added: myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageFactory.java?rev=939964&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageFactory.java (added)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageFactory.java Sat May 1 09:50:30 2010
@@ -0,0 +1,42 @@
+/*
+ * 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.myfaces.extensions.cdi.message.api;
+
+import org.apache.myfaces.extensions.cdi.message.api.payload.MessagePayload;
+
+import java.io.Serializable;
+
+/**
+ * allows to customize the creation of a message.
+ * only use it if you would like to create a different type of message via the fluent api
+ * ({@link org.apache.myfaces.extensions.cdi.message.api.MessageBuilder})
+ * in all other cases you can also use {@link org.apache.myfaces.extensions.cdi.message.api.MessageResolver}
+ * e.g. to customize messages e.g. based on payload
+ *
+ * @author Gerhard Petracek
+ */
+public interface MessageFactory extends Serializable
+{
+ /**
+ * @param messageDescriptor the message key (or inline-message) for the message
+ * @param messagePayload the initial payload of the message
+ * @return a new message instance
+ */
+ Message create(String messageDescriptor, Class<? extends MessagePayload> messagePayload);
+}
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageInterpolator.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageInterpolator.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageInterpolator.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageInterpolator.java Sat May 1 09:50:30 2010
@@ -29,9 +29,11 @@ public interface MessageInterpolator
/**
* replaces the arguments of the given message with the given arguments
*
- * @param messageTemplate the message template or text which has to be interpolated
+ * @param messageText the message text which has to be interpolated
* @param arguments a list of numbered and/or named arguments for the current message
- * @return the final message text if an interpolation was possible - the unmodified messageTemplate otherwise
+ * @return the final (interpolated) message text
+ * if it was possible to replace the parameters with the given attributes
+ * the unmodified messageText otherwise
*/
- String interpolate(String messageTemplate, Serializable... arguments);
+ String interpolate(String messageText, Serializable... arguments);
}
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageResolver.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageResolver.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageResolver.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/MessageResolver.java Sat May 1 09:50:30 2010
@@ -31,10 +31,10 @@ public interface MessageResolver
static final String MISSING_RESOURCE_MARKER = "???";
/**
- * @param key the message template (or in-lined text) of the current message
+ * @param messageDescriptor the message key (or in-lined text) of the current message
* @param locale the current locale
* @param payload the payload of the message e.g. to use different message sources
* @return the final but not interpolated message text
*/
- String getMessage(String key, Locale locale, Map<Class, Class<? extends MessagePayload>> payload);
+ String getMessage(String messageDescriptor, Locale locale, Map<Class, Class<? extends MessagePayload>> payload);
}
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/CompositeMessageInterpolator.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/CompositeMessageInterpolator.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/CompositeMessageInterpolator.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/CompositeMessageInterpolator.java Sat May 1 09:50:30 2010
@@ -38,9 +38,9 @@ public class CompositeMessageInterpolato
this.messageInterpolators = messageInterpolators;
}
- public String interpolate(String messageTemplate, Serializable... arguments)
+ public String interpolate(String messageDescriptor, Serializable... arguments)
{
- String result = messageTemplate;
+ String result = messageDescriptor;
for (MessageInterpolator messageInterpolator : this.messageInterpolators)
{
if (messageInterpolator instanceof MessageContextAware)
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultInternalMessage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultInternalMessage.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultInternalMessage.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultInternalMessage.java Sat May 1 09:50:30 2010
@@ -33,31 +33,31 @@ public class DefaultInternalMessage exte
{
private static final long serialVersionUID = 7940762016110497679L;
- public DefaultInternalMessage(String messageTemplate, Serializable... arguments)
+ public DefaultInternalMessage(String messageDescriptor, Serializable... arguments)
{
- super(messageTemplate, MessageSeverity.Info.class, arguments);
+ super(messageDescriptor, MessageSeverity.Info.class, arguments);
addPayload(InternalMessage.class);
}
- public DefaultInternalMessage(String messageTemplate, Set<NamedArgument> namedArguments)
+ public DefaultInternalMessage(String messageDescriptor, Set<NamedArgument> namedArguments)
{
- super(messageTemplate, MessageSeverity.Info.class, namedArguments);
+ super(messageDescriptor, MessageSeverity.Info.class, namedArguments);
addPayload(InternalMessage.class);
}
- public DefaultInternalMessage(String messageTemplate,
+ public DefaultInternalMessage(String messageDescriptor,
Class<? extends MessagePayload> severity,
Serializable... arguments)
{
- super(messageTemplate, severity, arguments);
+ super(messageDescriptor, severity, arguments);
addPayload(InternalMessage.class);
}
- public DefaultInternalMessage(String messageTemplate,
+ public DefaultInternalMessage(String messageDescriptor,
Class<? extends MessagePayload> severity,
Set<NamedArgument> namedArguments)
{
- super(messageTemplate, severity, namedArguments);
+ super(messageDescriptor, severity, namedArguments);
addPayload(InternalMessage.class);
}
}
\ No newline at end of file
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessage.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessage.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessage.java Sat May 1 09:50:30 2010
@@ -40,28 +40,28 @@ public class DefaultMessage extends Abst
super(message);
}
- public DefaultMessage(String messageTemplate, Serializable... arguments)
+ public DefaultMessage(String messageDescriptor, Serializable... arguments)
{
- super(messageTemplate, MessageSeverity.Info.class, arguments);
+ super(messageDescriptor, MessageSeverity.Info.class, arguments);
}
- public DefaultMessage(String messageTemplate, Set<NamedArgument> namedArguments)
+ public DefaultMessage(String messageDescriptor, Set<NamedArgument> namedArguments)
{
- super(messageTemplate, MessageSeverity.Info.class, namedArguments);
+ super(messageDescriptor, MessageSeverity.Info.class, namedArguments);
}
- public DefaultMessage(String messageTemplate,
+ public DefaultMessage(String messageDescriptor,
Class<? extends MessagePayload> severity,
Serializable... arguments)
{
- super(messageTemplate, severity, arguments);
+ super(messageDescriptor, severity, arguments);
}
- public DefaultMessage(String messageTemplate,
+ public DefaultMessage(String messageDescriptor,
Class<? extends MessagePayload> severity,
Set<NamedArgument> namedArguments)
{
- super(messageTemplate, severity, namedArguments);
+ super(messageDescriptor, severity, namedArguments);
}
@Override
@@ -77,7 +77,7 @@ public class DefaultMessage extends Abst
public String toString(MessageContext messageContext)
{
return messageContext.message()
- .text(getTemplate())
+ .text(getDescriptor())
.argument(getArguments())
.payload(getMessagePayload())
.toText();
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageBuilder.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageBuilder.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageBuilder.java Sat May 1 09:50:30 2010
@@ -26,6 +26,8 @@ import org.apache.myfaces.extensions.cdi
import org.apache.myfaces.extensions.cdi.message.api.MessageInterpolator;
import org.apache.myfaces.extensions.cdi.message.api.NamedArgument;
import org.apache.myfaces.extensions.cdi.message.api.Localizable;
+import org.apache.myfaces.extensions.cdi.message.api.MessageBuilder;
+import org.apache.myfaces.extensions.cdi.message.api.MessageFactory;
import org.apache.myfaces.extensions.cdi.message.api.Formatter;
import org.apache.myfaces.extensions.cdi.message.api.Default;
import org.apache.myfaces.extensions.cdi.message.api.payload.MessagePayload;
@@ -43,7 +45,7 @@ import java.util.HashMap;
/**
* @author Gerhard Petracek
*/
-class DefaultMessageBuilder implements MessageContext.MessageBuilder, Serializable
+class DefaultMessageBuilder implements MessageBuilder
{
private static final long serialVersionUID = 892218539314030675L;
@@ -52,15 +54,30 @@ class DefaultMessageBuilder implements M
private Set<NamedArgument> namedArguments;
private MessageContext messageContext;
private Map<Class, Class<? extends MessagePayload>> messagePayload;
- private String messageTemplate;
+ private String messageDescriptor;
- public DefaultMessageBuilder(MessageContext messageContext)
+ private MessageFactory messageFactory;
+
+ protected DefaultMessageBuilder()
+ {
+ }
+
+ public DefaultMessageBuilder(MessageContext messageContext, MessageFactory messageFactory)
{
reset();
this.messageContext = new UnmodifiableMessageContext(messageContext.cloneContext());
+
+ if(messageFactory != null)
+ {
+ this.messageFactory = messageFactory;
+ }
+ else
+ {
+ this.messageFactory = new DefaultMessageFactory();
+ }
}
- public MessageContext.MessageBuilder payload(Class<? extends MessagePayload>... messagePayload)
+ public MessageBuilder payload(Class<? extends MessagePayload>... messagePayload)
{
Class key;
@@ -76,13 +93,13 @@ class DefaultMessageBuilder implements M
return this;
}
- public MessageContext.MessageBuilder text(String messageTemplate)
+ public MessageBuilder text(String messageDescriptor)
{
- this.messageTemplate = messageTemplate;
+ this.messageDescriptor = messageDescriptor;
return this;
}
- public MessageContext.MessageBuilder argument(Serializable... arguments)
+ public MessageBuilder argument(Serializable... arguments)
{
for (Serializable argument : arguments)
{
@@ -99,7 +116,7 @@ class DefaultMessageBuilder implements M
return this;
}
- public MessageContext.MessageBuilder namedArgument(String name, Serializable value)
+ public MessageBuilder namedArgument(String name, Serializable value)
{
this.namedArguments.add(new DefaultNamedArgument(name, value));
return this;
@@ -114,16 +131,14 @@ class DefaultMessageBuilder implements M
private Message buildMessage()
{
- if (this.messageTemplate == null)
+ if (this.messageDescriptor == null)
{
- throw new IllegalStateException("messageTemplate is missing");
+ throw new IllegalStateException("messageDescriptor is missing");
}
- Class<? extends MessagePayload> severity = getMessageSeverity();
+ Message result = createNewMessage();
- Message result = new DefaultMessage(this.messageTemplate, severity);
-
- if(result instanceof MessageContextConfigAware)
+ if(result instanceof MessageContextConfigAware && this.messageContext != null)
{
((MessageContextConfigAware)result).setMessageContextConfig(this.messageContext.config());
}
@@ -134,6 +149,15 @@ class DefaultMessageBuilder implements M
return result;
}
+ private Message createNewMessage()
+ {
+ if(this.messageFactory != null)
+ {
+ return this.messageFactory.create(this.messageDescriptor, getMessageSeverity());
+ }
+ return new DefaultMessage(this.messageDescriptor, getMessageSeverity());
+ }
+
private Class<? extends MessagePayload> getMessageSeverity()
{
Class<? extends MessagePayload> severity = this.messagePayload.get(MessageSeverity.class);
@@ -169,9 +193,9 @@ class DefaultMessageBuilder implements M
}
}
- private void reset()
+ protected void reset()
{
- this.messageTemplate = null;
+ this.messageDescriptor = null;
this.messagePayload = new HashMap<Class, Class<? extends MessagePayload>>();
this.argumentList = new ArrayList<Serializable>();
this.namedArguments = new HashSet<NamedArgument>();
@@ -200,7 +224,7 @@ class DefaultMessageBuilder implements M
private String getMessageText(Message baseMessage)
{
- String message = baseMessage.getTemplate();
+ String message = baseMessage.getDescriptor();
MessageResolver messageResolver = this.messageContext.config().getMessageResolver();
if (messageResolver != null)
@@ -228,9 +252,9 @@ class DefaultMessageBuilder implements M
private String checkedResult(String result, Message baseMessage)
{
- if (result == null || isKey(baseMessage.getTemplate()) || isKeyWithoutMarkers(result, baseMessage))
+ if (result == null || isKey(baseMessage.getDescriptor()) || isKeyWithoutMarkers(result, baseMessage))
{
- String oldTemplate = extractTemplate(baseMessage.getTemplate()); //minor performance tweak for inline-msg
+ String oldTemplate = extractTemplate(baseMessage.getDescriptor()); //minor performance tweak for inline-msg
if (result == null || result.equals(oldTemplate))
{
@@ -243,7 +267,7 @@ class DefaultMessageBuilder implements M
private boolean isKeyWithoutMarkers(String result, Message baseMessage)
{
- return (!result.contains(" ") && result.endsWith(baseMessage.getTemplate()));
+ return (!result.contains(" ") && result.endsWith(baseMessage.getDescriptor()));
}
private String getArguments(Message message)
@@ -338,7 +362,7 @@ class DefaultMessageBuilder implements M
try
{
return messageResolver
- .getMessage(baseMessage.getTemplate(), this.messageContext.getLocale(), baseMessage.getPayload());
+ .getMessage(baseMessage.getDescriptor(), this.messageContext.getLocale(), baseMessage.getPayload());
}
finally
{
@@ -347,7 +371,7 @@ class DefaultMessageBuilder implements M
}
private String interpolateMessage(MessageInterpolator messageInterpolator,
- String messageTemplate, Serializable... arguments)
+ String messageDescriptor, Serializable... arguments)
{
if (messageInterpolator instanceof MessageContextAware)
{
@@ -356,7 +380,7 @@ class DefaultMessageBuilder implements M
try
{
- return messageInterpolator.interpolate(getEscapedTemplate(messageTemplate), arguments);
+ return messageInterpolator.interpolate(getEscapedTemplate(messageDescriptor), arguments);
}
finally
{
@@ -364,14 +388,14 @@ class DefaultMessageBuilder implements M
}
}
- private String getEscapedTemplate(String messageTemplate)
+ private String getEscapedTemplate(String messageDescriptor)
{
//TODO
- if (messageTemplate.startsWith("\\{"))
+ if (messageDescriptor.startsWith("\\{"))
{
- return messageTemplate.substring(1);
+ return messageDescriptor.substring(1);
}
- return messageTemplate;
+ return messageDescriptor;
}
private void cleanupMessageContext(Object object)
@@ -381,4 +405,9 @@ class DefaultMessageBuilder implements M
((MessageContextAware) object).setMessageContext(null);
}
}
+
+ protected MessageContext getMessageContext()
+ {
+ return this.messageContext;
+ }
}
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageContext.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageContext.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageContext.java Sat May 1 09:50:30 2010
@@ -22,6 +22,8 @@ import org.apache.myfaces.extensions.cdi
import org.apache.myfaces.extensions.cdi.message.api.MessageContext;
import org.apache.myfaces.extensions.cdi.message.api.MessageContextConfig;
import org.apache.myfaces.extensions.cdi.message.api.MessageFilter;
+import org.apache.myfaces.extensions.cdi.message.api.MessageBuilder;
+import org.apache.myfaces.extensions.cdi.message.api.MessageFactory;
import java.util.List;
import java.util.Locale;
@@ -38,19 +40,31 @@ public class DefaultMessageContext imple
private static final long serialVersionUID = -110779217295211303L;
private MessageContextConfig config = new DefaultMessageContextConfig();
+ private MessageFactory messageFactory;
public DefaultMessageContext()
{
}
+ public DefaultMessageContext(MessageFactory messageFactory)
+ {
+ this.messageFactory = messageFactory;
+ }
+
DefaultMessageContext(MessageContextConfig config)
{
this.config = config;
}
+ DefaultMessageContext(MessageContextConfig config, MessageFactory messageFactory)
+ {
+ this.config = config;
+ this.messageFactory = messageFactory;
+ }
+
public MessageBuilder message()
{
- return new DefaultMessageBuilder(this);
+ return new DefaultMessageBuilder(this, this.messageFactory);
}
public MessageContextConfig config()
@@ -60,6 +74,7 @@ public class DefaultMessageContext imple
public <T extends MessageContext> T typed(Class<T> contextType)
{
+ //noinspection unchecked
return (T) this;
}
@@ -131,6 +146,7 @@ public class DefaultMessageContext imple
DefaultMessageContext that = (DefaultMessageContext) o;
+ //noinspection RedundantIfStatement
if (!config.equals(that.config))
{
return false;
Added: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageFactory.java?rev=939964&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageFactory.java (added)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageFactory.java Sat May 1 09:50:30 2010
@@ -0,0 +1,36 @@
+/*
+ * 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.myfaces.extensions.cdi.message.impl;
+
+import org.apache.myfaces.extensions.cdi.message.api.MessageFactory;
+import org.apache.myfaces.extensions.cdi.message.api.Message;
+import org.apache.myfaces.extensions.cdi.message.api.payload.MessagePayload;
+
+/**
+ * @author Gerhard Petracek
+ */
+class DefaultMessageFactory implements MessageFactory
+{
+ private static final long serialVersionUID = 721557343207858857L;
+
+ public Message create(String messageDescriptor, Class<? extends MessagePayload> messagePayload)
+ {
+ return new DefaultMessage(messageDescriptor, messagePayload);
+ }
+}
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageInterpolator.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageInterpolator.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageInterpolator.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/DefaultMessageInterpolator.java Sat May 1 09:50:30 2010
@@ -29,8 +29,8 @@ class DefaultMessageInterpolator impleme
{
private static final long serialVersionUID = -8854087197813424812L;
- public String interpolate(String messageTemplate, Serializable... arguments)
+ public String interpolate(String messageDescriptor, Serializable... arguments)
{
- return messageTemplate;
+ return messageDescriptor;
}
}
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/ELAwareMessageInterpolator.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/ELAwareMessageInterpolator.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/ELAwareMessageInterpolator.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/ELAwareMessageInterpolator.java Sat May 1 09:50:30 2010
@@ -47,15 +47,15 @@ public class ELAwareMessageInterpolator
this.elProvider = elProvider;
}
- public String interpolate(String messageTemplate, Serializable... arguments)
+ public String interpolate(String messageDescriptor, Serializable... arguments)
{
List<NamedArgument> namedArguments = addNamedArguments(arguments);
if (namedArguments.size() > 0)
{
- return interpolateNamedArguments(messageTemplate, namedArguments);
+ return interpolateNamedArguments(messageDescriptor, namedArguments);
}
- return messageTemplate;
+ return messageDescriptor;
}
private List<NamedArgument> addNamedArguments(Serializable[] arguments)
@@ -74,7 +74,7 @@ public class ELAwareMessageInterpolator
}
//TODO add warning for unused arguments,...
- private String interpolateNamedArguments(String messageTemplate, List<NamedArgument> namedArguments)
+ private String interpolateNamedArguments(String messageDescriptor, List<NamedArgument> namedArguments)
{
ExpressionFactory factory = this.elProvider.createExpressionFactory();
SimpleELContext elContext = this.elProvider.createELContext(this.elProvider.createELResolver());
@@ -85,7 +85,7 @@ public class ELAwareMessageInterpolator
elContext.setVariable(argument.getName(), factory.createValueExpression(value, value.getClass()));
}
- Matcher matcher = MESSAGE_ARGS_PATTERN.matcher(messageTemplate);
+ Matcher matcher = MESSAGE_ARGS_PATTERN.matcher(messageDescriptor);
StringBuffer buffer = new StringBuffer();
while (matcher.find())
{
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/NumberedArgumentAwareMessageInterpolator.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/NumberedArgumentAwareMessageInterpolator.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/NumberedArgumentAwareMessageInterpolator.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/NumberedArgumentAwareMessageInterpolator.java Sat May 1 09:50:30 2010
@@ -32,16 +32,16 @@ public class NumberedArgumentAwareMessag
{
private static final long serialVersionUID = 8699632465559596371L;
- public String interpolate(String messageTemplate, Serializable... arguments)
+ public String interpolate(String messageDescriptor, Serializable... arguments)
{
Serializable[] numberedArguments = addNumberedArguments(arguments);
if (numberedArguments.length > 0)
{
- return formatMessage(messageTemplate, numberedArguments);
+ return formatMessage(messageDescriptor, numberedArguments);
}
- return messageTemplate;
+ return messageDescriptor;
}
private Serializable[] addNumberedArguments(Serializable[] arguments)
@@ -60,7 +60,7 @@ public class NumberedArgumentAwareMessag
}
//TODO add warning for unused arguments,...
- private String formatMessage(String messageTemplate, Serializable[] arguments)
+ private String formatMessage(String messageDescriptor, Serializable[] arguments)
{
Object[] localizedArguments = null;
Object argument;
@@ -83,7 +83,7 @@ public class NumberedArgumentAwareMessag
}
MessageFormat messageFormat = new MessageFormat(
- messageTemplate, this.messageContext.getLocale());
+ messageDescriptor, this.messageContext.getLocale());
if (localizedArguments == null)
{
Added: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/SimpleMessageBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/SimpleMessageBuilder.java?rev=939964&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/SimpleMessageBuilder.java (added)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/SimpleMessageBuilder.java Sat May 1 09:50:30 2010
@@ -0,0 +1,64 @@
+/*
+ * 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.myfaces.extensions.cdi.message.impl;
+
+import org.apache.myfaces.extensions.cdi.message.api.MessageContext;
+import org.apache.myfaces.extensions.cdi.message.api.MessageBuilder;
+
+/**
+ * just for manual usages (see the test-case)
+ *
+ * @author Gerhard Petracek
+ */
+public class SimpleMessageBuilder extends DefaultMessageBuilder
+{
+ private static final long serialVersionUID = -3453104710956154815L;
+
+ protected SimpleMessageBuilder()
+ {
+ super();
+ reset();
+ }
+
+ protected SimpleMessageBuilder(MessageContext messageContext)
+ {
+ super(messageContext, null);
+ }
+
+ public static MessageBuilder message()
+ {
+ return new SimpleMessageBuilder();
+ }
+
+ public static MessageBuilder message(MessageContext messageContext)
+ {
+ return new SimpleMessageBuilder(messageContext);
+ }
+
+ @Override
+ public String toText()
+ {
+ if (getMessageContext() == null)
+ {
+ throw new IllegalStateException(getClass().getName() + ".toText called outside a message context " +
+ "please use SimpleMessageBuilder.message(messageContext).text(...).toText()");
+ }
+ return super.toText();
+ }
+}
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/UnmodifiableMessageContext.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/UnmodifiableMessageContext.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/UnmodifiableMessageContext.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/message/impl/UnmodifiableMessageContext.java Sat May 1 09:50:30 2010
@@ -22,6 +22,7 @@ import org.apache.myfaces.extensions.cdi
import org.apache.myfaces.extensions.cdi.message.api.MessageContext;
import org.apache.myfaces.extensions.cdi.message.api.MessageContextConfig;
import org.apache.myfaces.extensions.cdi.message.api.MessageFilter;
+import org.apache.myfaces.extensions.cdi.message.api.MessageBuilder;
import java.util.List;
import java.util.Locale;
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/ExtensibilityTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/ExtensibilityTest.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/ExtensibilityTest.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/ExtensibilityTest.java Sat May 1 09:50:30 2010
@@ -20,6 +20,8 @@ package org.apache.myfaces.extensions.cd
import org.apache.myfaces.extensions.cdi.message.api.LocaleResolver;
import org.apache.myfaces.extensions.cdi.message.api.MessageContext;
+import org.apache.myfaces.extensions.cdi.message.api.Message;
+import org.apache.myfaces.extensions.cdi.message.impl.DefaultMessageContext;
import static org.junit.Assert.*;
import org.junit.Test;
@@ -43,6 +45,14 @@ public class ExtensibilityTest extends A
}
@Test
+ public void newMessageFactoryTest()
+ {
+ Message message = new DefaultMessageContext(new TestMessageFactory()).message().text("{hello}").create();
+
+ assertEquals(TestMessage.class, message.getClass());
+ }
+
+ @Test
public void newContextTest()
{
MessageContext newMessageContext = this.messageContext.cloneContext();
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/SimpleMessageTest.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/SimpleMessageTest.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/SimpleMessageTest.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/SimpleMessageTest.java Sat May 1 09:50:30 2010
@@ -21,7 +21,9 @@ package org.apache.myfaces.extensions.cd
import org.apache.myfaces.extensions.cdi.message.api.LocaleResolver;
import org.apache.myfaces.extensions.cdi.message.api.Message;
import org.apache.myfaces.extensions.cdi.message.impl.DefaultMessage;
+import org.apache.myfaces.extensions.cdi.message.impl.SimpleMessageBuilder;
import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.fail;
import org.junit.Test;
import java.util.Locale;
@@ -32,7 +34,7 @@ import java.util.Locale;
public class SimpleMessageTest extends AbstractTest
{
@Test
- public void resolveInlineMessageTest()
+ public void createInlineMessageTest()
{
Message message = this.messageContext.message().text("hello open message").create();
@@ -40,6 +42,22 @@ public class SimpleMessageTest extends A
}
@Test
+ public void createInlineMessageViaMessageBuilderTest()
+ {
+ Message message = SimpleMessageBuilder.message().text("hello open message").create();
+
+ assertEquals("hello open message", message.toString(this.messageContext));
+ }
+
+ @Test
+ public void createInlineMessageViaCustomMessageBuilderTest()
+ {
+ Message message = new TestMessageBuilder().text("hello open message").create();
+
+ assertEquals("hello open message", message.toString(this.messageContext));
+ }
+
+ @Test
public void resolveMessageTest()
{
Message message = this.messageContext.message().text("{hello}").create();
@@ -52,6 +70,7 @@ public class SimpleMessageTest extends A
{
Message message = this.messageContext.message().text("{hello}").create();
+ @SuppressWarnings({"deprecation"})
String messageText = this.messageContext.message().toText(message); //TODO use a different config
checkDefaultHelloMessage(messageText);
@@ -136,6 +155,28 @@ public class SimpleMessageTest extends A
checkDefaultHelloMessage(messageText);
}
+ @Test
+ public void resolveInlineMessageWithMessageBuilderWithoutAContextTest()
+ {
+ try
+ {
+ SimpleMessageBuilder.message().text("hello open message").toText();
+ }
+ catch(IllegalStateException e)
+ {
+ return;
+ }
+ fail();
+ }
+
+ @Test
+ public void resolveInlineMessageWithMessageBuilderWithContextTest()
+ {
+ String message = SimpleMessageBuilder.message(this.messageContext).text("hello open message").toText();
+
+ assertEquals("hello open message", message);
+ }
+
private LocaleResolver createGermanLocaleResolver()
{
return new LocaleResolver()
Modified: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessage.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessage.java?rev=939964&r1=939963&r2=939964&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessage.java (original)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessage.java Sat May 1 09:50:30 2010
@@ -27,28 +27,30 @@ import java.util.Set;
class TestMessage extends DefaultMessage
{
+ private static final long serialVersionUID = 4209087914276552447L;
+
public TestMessage(Message message)
{
super(message);
}
- public TestMessage(String messageTemplate, Object... arguments)
+ public TestMessage(String messageDescriptor, Object... arguments)
{
- super(messageTemplate, arguments);
+ super(messageDescriptor, arguments);
}
- public TestMessage(String messageTemplate, Set<NamedArgument> namedArguments)
+ public TestMessage(String messageDescriptor, Set<NamedArgument> namedArguments)
{
- super(messageTemplate, namedArguments);
+ super(messageDescriptor, namedArguments);
}
- public TestMessage(String messageTemplate, Class<? extends MessagePayload> severity, Object... arguments)
+ public TestMessage(String messageDescriptor, Class<? extends MessagePayload> severity, Object... arguments)
{
- super(messageTemplate, severity, arguments);
+ super(messageDescriptor, severity, arguments);
}
- public TestMessage(String messageTemplate, Class<? extends MessagePayload> severity, Set<NamedArgument> namedArguments)
+ public TestMessage(String messageDescriptor, Class<? extends MessagePayload> severity, Set<NamedArgument> namedArguments)
{
- super(messageTemplate, severity, namedArguments);
+ super(messageDescriptor, severity, namedArguments);
}
}
Added: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessageBuilder.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessageBuilder.java?rev=939964&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessageBuilder.java (added)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessageBuilder.java Sat May 1 09:50:30 2010
@@ -0,0 +1,33 @@
+/*
+ * 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.myfaces.extensions.cdi.message.test;
+
+import org.apache.myfaces.extensions.cdi.message.impl.SimpleMessageBuilder;
+
+/**
+ * @author Gerhard Petracek
+ */
+class TestMessageBuilder extends SimpleMessageBuilder
+{
+ private static final long serialVersionUID = -92376642213127412L;
+
+ public TestMessageBuilder()
+ {
+ }
+}
Added: myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessageFactory.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessageFactory.java?rev=939964&view=auto
==============================================================================
--- myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessageFactory.java (added)
+++ myfaces/extensions/cdi/trunk/jse-modules/message-module/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/TestMessageFactory.java Sat May 1 09:50:30 2010
@@ -0,0 +1,36 @@
+/*
+ * 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.myfaces.extensions.cdi.message.test;
+
+import org.apache.myfaces.extensions.cdi.message.api.MessageFactory;
+import org.apache.myfaces.extensions.cdi.message.api.Message;
+import org.apache.myfaces.extensions.cdi.message.api.payload.MessagePayload;
+
+/**
+ * @author Gerhard Petracek
+ */
+class TestMessageFactory implements MessageFactory
+{
+ private static final long serialVersionUID = -2561554895243475186L;
+
+ public Message create(String messageDescriptor, Class<? extends MessagePayload> messagePayload)
+ {
+ return new TestMessage(messageDescriptor, messagePayload);
+ }
+}