You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by jo...@apache.org on 2013/03/19 03:17:35 UTC

git commit: Fixed DELTASPIKE-321 by adding new methods that handle other types of arguments.

Updated Branches:
  refs/heads/master 3faba9943 -> 7d9fd5dc8


Fixed DELTASPIKE-321 by adding new methods that handle other types of arguments.


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

Branch: refs/heads/master
Commit: 7d9fd5dc8c68f608525fcd12b1633ca0a0ab8e89
Parents: 3faba99
Author: John D. Ament <jo...@gmail.com>
Authored: Mon Mar 18 22:17:23 2013 -0400
Committer: John D. Ament <jo...@gmail.com>
Committed: Mon Mar 18 22:17:23 2013 -0400

----------------------------------------------------------------------
 .../deltaspike/core/api/message/Message.java       |   19 +++++
 .../core/impl/message/DefaultMessage.java          |   21 +++++
 .../test/core/api/message/MessageContextTest.java  |   63 ++++++++-------
 3 files changed, 73 insertions(+), 30 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/7d9fd5dc/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/Message.java
----------------------------------------------------------------------
diff --git a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/Message.java b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/Message.java
index 1dce181..5184cb1 100644
--- a/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/Message.java
+++ b/deltaspike/core/api/src/main/java/org/apache/deltaspike/core/api/message/Message.java
@@ -19,6 +19,7 @@
 package org.apache.deltaspike.core.api.message;
 
 import java.io.Serializable;
+import java.util.Collection;
 
 /**
  * <p>Basic interface for all messages.</p>
@@ -40,6 +41,24 @@ public interface Message extends Serializable
      * @return the current instance of the message builder to allow a fluent api
      */
     Message argument(Serializable... arguments);
+    
+    /**
+     * Argument array.  Similar to argument except it is meant to handle an array being passed in via a chain.
+     * 
+     * @param arguments
+     *            the arguments
+     * @return the message
+     */
+    Message argumentArray(Serializable[] arguments);
+    
+    /**
+     * Argument.  Similar to the other argument methods, exception it handles collections.
+     * 
+     * @param arguments
+     *            the arguments
+     * @return the message
+     */
+    Message argument(Collection<Serializable> arguments);
 
     /**
      * @return the message key (or inline-text) of the current message

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/7d9fd5dc/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 713f308..8b36898 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
@@ -27,6 +27,7 @@ import javax.enterprise.inject.Typed;
 import java.io.Serializable;
 import java.util.ArrayList;
 import java.util.Arrays;
+import java.util.Collection;
 import java.util.Collections;
 import java.util.List;
 import java.util.Locale;
@@ -215,4 +216,24 @@ public class DefaultMessage implements Message
         result = 31 * result + (arguments != null ? arguments.hashCode() : 0);
         return result;
     }
+
+    @Override
+    public Message argumentArray(Serializable[] arguments)
+    {
+        if (arguments != null)
+        {
+            return argument(Arrays.asList(arguments)); 
+        }
+        return this;
+    }
+
+    @Override
+    public Message argument(Collection<Serializable> arguments)
+    {
+        if (arguments != null)
+        {
+            this.arguments.addAll(arguments); 
+        }
+        return this;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-deltaspike/blob/7d9fd5dc/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 cd084c3..c4bde2f 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
@@ -18,6 +18,11 @@
  */
 package org.apache.deltaspike.test.core.api.message;
 
+import java.io.Serializable;
+
+import javax.enterprise.inject.spi.Extension;
+import javax.inject.Inject;
+
 import org.apache.deltaspike.core.api.message.LocaleResolver;
 import org.apache.deltaspike.core.api.message.Message;
 import org.apache.deltaspike.core.api.message.MessageContext;
@@ -31,16 +36,12 @@ import org.jboss.shrinkwrap.api.ShrinkWrap;
 import org.jboss.shrinkwrap.api.asset.EmptyAsset;
 import org.jboss.shrinkwrap.api.spec.JavaArchive;
 import org.jboss.shrinkwrap.api.spec.WebArchive;
+import org.junit.Assert;
 import org.junit.Assume;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
 import org.junit.runner.RunWith;
 
-import javax.enterprise.inject.spi.Extension;
-import javax.inject.Inject;
-
-import org.junit.Assert;
-
 /**
  * Tests for {@link MessageContext}
  */
@@ -48,8 +49,9 @@ import org.junit.Assert;
 @Category(SeCategory.class)
 public class MessageContextTest
 {
+
     @Inject
-    private SimpleMessage simpleMessage;
+    private SimpleMessage  simpleMessage;
 
     @Inject
     private MessageContext messageContext;
@@ -61,7 +63,7 @@ public class MessageContextTest
     @Deployment
     public static WebArchive deploy()
     {
-        JavaArchive testJar = ShrinkWrap
+        final JavaArchive testJar = ShrinkWrap
                 .create(JavaArchive.class, "messageContextTest.jar")
                 .addPackage(MessageContextTest.class.getPackage())
                 .addAsManifestResource(EmptyAsset.INSTANCE, "beans.xml");
@@ -79,7 +81,7 @@ public class MessageContextTest
     public void testSimpleMessage()
     {
         Assert.assertEquals("Welcome to DeltaSpike",
-                simpleMessage.welcomeTo(messageContext, "DeltaSpike").toString());
+                this.simpleMessage.welcomeTo(this.messageContext, "DeltaSpike").toString());
     }
 
     /**
@@ -89,31 +91,31 @@ public class MessageContextTest
     public void testSimpleMessageCategory()
     {
         Assert.assertEquals("Welcome to DeltaSpike",
-                simpleMessage.welcomeTo(messageContext, "DeltaSpike").toString("notexisting"));
+                this.simpleMessage.welcomeTo(this.messageContext, "DeltaSpike").toString("notexisting"));
     }
 
     @Test
     public void resolveTextTest()
     {
-        LocaleResolver localeResolver = new FixedEnglishLocalResolver();
+        final LocaleResolver localeResolver = new FixedEnglishLocalResolver();
 
-        String messageText = messageContext
+        final String messageText = this.messageContext
                 .localeResolver(localeResolver)
                 .messageResolver(new TestMessageResolver())
                 .message().template("{hello}").argument("hans").toString();
 
         Assert.assertEquals("test message to hans", messageText);
     }
-    
+
     @Test
     public void ignoreNullArguments()
     {
-        LocaleResolver localeResolver = new FixedEnglishLocalResolver();
+        final LocaleResolver localeResolver = new FixedEnglishLocalResolver();
 
-        String messageText = messageContext
+        final String messageText = this.messageContext
                 .localeResolver(localeResolver)
                 .messageResolver(new TestMessageResolver())
-                .message().template("{hello}").argument(null).toString();
+                .message().template("{hello}").argument((Serializable[])null).toString();
 
         Assert.assertEquals("test message to %s", messageText);
     }
@@ -121,8 +123,8 @@ public class MessageContextTest
     @Test
     public void resolveGermanMessageTextTest()
     {
-        LocaleResolver localeResolver = new FixedGermanLocaleResolver();
-        String messageText = messageContext
+        final LocaleResolver localeResolver = new FixedGermanLocaleResolver();
+        final String messageText = this.messageContext
                 .localeResolver(localeResolver)
                 .messageResolver(new TestMessageResolver())
                 .message().template("{hello}").argument("hans").toString();
@@ -133,24 +135,25 @@ public class MessageContextTest
     @Test
     public void testArbitraryMessageContextRendering()
     {
-        LocaleResolver localeResolver = new FixedGermanLocaleResolver();
-        Message message = messageContext
+        final LocaleResolver localeResolver = new FixedGermanLocaleResolver();
+        final Message message = this.messageContext
                 .localeResolver(localeResolver)
                 .messageResolver(new TestMessageResolver())
                 .message().template("{hello}").argument("hans");
         Assert.assertEquals("Test Nachricht an hans", message.toString());
 
-        MessageContext messageContext2 = messageContext.clone().localeResolver(new FixedEnglishLocalResolver());
+        final MessageContext messageContext2 = this.messageContext.clone().localeResolver(
+                new FixedEnglishLocalResolver());
         Assert.assertEquals("test message to hans", message.toString(messageContext2));
     }
 
     @Test
     public void createInvalidMessageTest()
     {
-        String messageText = messageContext.message().template("{xyz123}").toString();
+        String messageText = this.messageContext.message().template("{xyz123}").toString();
         Assert.assertEquals("???xyz123???", messageText);
 
-        messageText = messageContext
+        messageText = this.messageContext
                 .messageSource("nonexistingbundle.properties")
                 .message()
                 .template("{xyz123}")
@@ -161,7 +164,7 @@ public class MessageContextTest
     @Test
     public void createInvalidMessageWithArgumentsTest()
     {
-        String messageText = messageContext.message().template("{xyz123}").
+        final String messageText = this.messageContext.message().template("{xyz123}").
                 argument("123").argument("456").argument("789").toString();
 
         Assert.assertEquals("???xyz123??? [123, 456, 789]", messageText);
@@ -170,9 +173,9 @@ public class MessageContextTest
     @Test
     public void testMessageEquals()
     {
-        Message m1 = messageContext.message();
-        Message m2 = messageContext.message();
-        Message m3 = messageContext.messageResolver(new TestMessageResolver()).message();
+        final Message m1 = this.messageContext.message();
+        final Message m2 = this.messageContext.message();
+        final Message m3 = this.messageContext.messageResolver(new TestMessageResolver()).message();
 
         Assert.assertEquals(m1, m1);
         Assert.assertEquals(m1, m2);
@@ -200,16 +203,16 @@ public class MessageContextTest
     public void testSerialization()
     {
         Assume.assumeTrue(System.getProperty("org.apache.deltaspike.weld.pre_1.1.10") == null);
-        Serializer<Message> messageSerializer = new Serializer<Message>();
+        final Serializer<Message> messageSerializer = new Serializer<Message>();
 
-        LocaleResolver localeResolver = new FixedGermanLocaleResolver();
-        Message message = messageContext
+        final LocaleResolver localeResolver = new FixedGermanLocaleResolver();
+        final Message message = this.messageContext
                 .localeResolver(localeResolver)
                 .messageResolver(new TestMessageResolver())
                 .message().template("{hello}").argument("hans");
         Assert.assertEquals("Test Nachricht an hans", message.toString());
 
-        Message messageClone = messageSerializer.roundTrip(message);
+        final Message messageClone = messageSerializer.roundTrip(message);
 
         Assert.assertEquals(message, messageClone);
         Assert.assertEquals("Test Nachricht an hans", messageClone.toString());