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/04/20 23:10:13 UTC

svn commit: r936061 - in /myfaces/extensions/cdi/trunk/jse-modules/message-module: api/src/main/java/org/apache/myfaces/extensions/cdi/message/api/ impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/

Author: gpetracek
Date: Tue Apr 20 21:10:13 2010
New Revision: 936061

URL: http://svn.apache.org/viewvc?rev=936061&view=rev
Log:
EXTCDI-21 minor improvements

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/impl/src/test/java/org/apache/myfaces/extensions/cdi/message/test/SimpleMessageTest.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=936061&r1=936060&r2=936061&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 Tue Apr 20 21:10:13 2010
@@ -87,23 +87,60 @@ public abstract class AbstractMessage im
             {
                 argument = "null";
             }
-            else if(argument instanceof Localizable && this.getMessageContextConfig() != null)
-            {
-                argument = ((Localizable)argument).toString(this.getMessageContextConfig().use().create());
-            }
-            
-            checkArgument(argument);
-            if (argument instanceof NamedArgument)
+
+            if(isHiddenArgument(argument))
             {
-                addNamedArgument((NamedArgument) argument);
+                addHiddenArgument(argument);
             }
             else
             {
-                addNumberedArgument(argument);
+                addArgumentToMessage(argument);
             }
         }
     }
 
+    private void addArgumentToMessage(Object argument)
+    {
+        //TODO
+        if(argument instanceof Localizable && this.getMessageContextConfig() != null)
+        {
+            argument = ((Localizable)argument).toString(this.getMessageContextConfig().use().create());
+        }
+
+        Serializable result;
+
+        if(argument instanceof Serializable)
+        {
+            result = (Serializable)argument;
+        }
+        else
+        {
+            result = argument != null ? argument.toString() : "null";
+        }
+        checkArgument(result);
+        if (argument instanceof NamedArgument)
+        {
+            addNamedArgument((NamedArgument) argument);
+        }
+        else
+        {
+            addNumberedArgument(result);
+        }
+    }
+
+    private boolean isHiddenArgument(Serializable argument)
+    {
+        return argument != null && argument.getClass().isArray();
+    }
+
+    private void addHiddenArgument(Serializable argument)
+    {
+        for(Object current : ((Object[])argument))
+        {
+            addArgumentToMessage(current);
+        }
+    }
+
     private void checkArgument(Serializable argument)
     {
         if (argument instanceof NamedArgument)

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=936061&r1=936060&r2=936061&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 Tue Apr 20 21:10:13 2010
@@ -112,6 +112,14 @@ public class SimpleMessageTest extends A
    }
     
     @Test
+   public void createMessageWithHiddenArgumentsTest()
+   {
+       String messageText = this.messageContext.message().text("{xyz123}").argument(new String[]{"123", "456", "789"}).toText();
+
+       assertEquals("???xyz123??? (123,456,789)", messageText);
+   }
+
+    @Test
     public void resolveTextTest()
     {
         String messageText = this.messageContext.message().text("{hello}").toText();