You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@hivemind.apache.org by hl...@apache.org on 2004/04/14 23:08:43 UTC

cvs commit: jakarta-hivemind/framework/src/test/hivemind/test/util TestBodyBuilder.java

hlship      2004/04/14 14:08:43

  Modified:    framework/src/java/org/apache/hivemind/service
                        BodyBuilder.java
               framework/src/test/hivemind/test/util TestBodyBuilder.java
  Log:
  Add additional methods to BodyBuilder to make it easier to add text using MessageFormat patterns and arguments.
  
  Revision  Changes    Path
  1.2       +82 -1     jakarta-hivemind/framework/src/java/org/apache/hivemind/service/BodyBuilder.java
  
  Index: BodyBuilder.java
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/framework/src/java/org/apache/hivemind/service/BodyBuilder.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- BodyBuilder.java	26 Feb 2004 23:07:49 -0000	1.1
  +++ BodyBuilder.java	14 Apr 2004 21:08:43 -0000	1.2
  @@ -14,6 +14,8 @@
   
   package org.apache.hivemind.service;
   
  +import java.text.MessageFormat;
  +
   /**
    * Utility class for assembling the <em>body</em> used with
    * Javassist as a method or catch block.
  @@ -59,6 +61,84 @@
       }
   
       /**
  +     * Adds text to the current line, without terminating the line.
  +     * 
  +     * @param pattern a string pattern, used with {@link java.text.MessageFormat#format(java.lang.String, java.lang.Object[])}
  +     * @param arguments arguments used witht the format string
  +     */
  +
  +    public void add(String pattern, Object[] arguments)
  +    {
  +        add(MessageFormat.format(pattern, arguments));
  +    }
  +
  +    /**
  +     * Convience for {@link #add(String, Object[])
  +     */
  +
  +    public void add(String pattern, Object arg0)
  +    {
  +        add(pattern, new Object[] { arg0 });
  +    }
  +
  +    /**
  +     * Convience for {@link #add(String, Object[])
  +     */
  +
  +    public void add(String pattern, Object arg0, Object arg1)
  +    {
  +        add(pattern, new Object[] { arg0, arg1 });
  +    }
  +
  +    /**
  +     * Convience for {@link #add(String, Object[])
  +     */
  +
  +    public void add(String pattern, Object arg0, Object arg1, Object arg2)
  +    {
  +        add(pattern, new Object[] { arg0, arg1, arg2 });
  +    }
  +
  +    /**
  +     * Adds text to the current line then terminates the line.
  +     * 
  +     * @param pattern a string pattern, used with {@link java.text.MessageFormat#format(java.lang.String, java.lang.Object[])}
  +     * @param arguments arguments used witht the format string
  +     */
  +
  +    public void addln(String pattern, Object[] arguments)
  +    {
  +        addln(MessageFormat.format(pattern, arguments));
  +    }
  +
  +    /**
  +     * Convience for {@link #addln(String, Object[])
  +     */
  +
  +    public void addln(String pattern, Object arg0)
  +    {
  +        addln(pattern, new Object[] { arg0 });
  +    }
  +
  +    /**
  +     * Convience for {@link #addln(String, Object[])
  +     */
  +
  +    public void addln(String pattern, Object arg0, Object arg1)
  +    {
  +        addln(pattern, new Object[] { arg0, arg1 });
  +    }
  +
  +    /**
  +     * Convience for {@link #addln(String, Object[])
  +     */
  +
  +    public void addln(String pattern, Object arg0, Object arg1, Object arg2)
  +    {
  +        addln(pattern, new Object[] { arg0, arg1, arg2 });
  +    }
  +
  +    /**
        * Adds the text to the current line, surrounded by double quotes.
        * <em>Does not escape quotes in the text</em>.
        */
  @@ -115,6 +195,7 @@
   
           indent();
           _buffer.append("}");
  +        
           newline();
       }
   
  
  
  
  1.5       +43 -1     jakarta-hivemind/framework/src/test/hivemind/test/util/TestBodyBuilder.java
  
  Index: TestBodyBuilder.java
  ===================================================================
  RCS file: /home/cvs/jakarta-hivemind/framework/src/test/hivemind/test/util/TestBodyBuilder.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- TestBodyBuilder.java	26 Feb 2004 23:08:04 -0000	1.4
  +++ TestBodyBuilder.java	14 Apr 2004 21:08:43 -0000	1.5
  @@ -84,4 +84,46 @@
           assertEquals("barney", _b.toString());
       }
   
  +    public void testAddPattern1()
  +    {
  +        _b.add("today is {0}.", "tuesday");
  +
  +        assertEquals("today is tuesday.", _b.toString());
  +    }
  +
  +    public void testAddlnPattern1()
  +    {
  +        _b.addln("The capital of France is {0}.", "Paris");
  +
  +        assertEquals("The capital of France is Paris.\n", _b.toString());
  +    }
  +
  +    public void testAddPattern2()
  +    {
  +        _b.add("Current suspects are: {0} and {1}.", "Tony", "Junior");
  +
  +        assertEquals("Current suspects are: Tony and Junior.", _b.toString());
  +    }
  +
  +    public void testAddlnPattern2()
  +    {
  +        _b.addln("The capital of {0} is {1}.", "Germany", "Berlin");
  +
  +        assertEquals("The capital of Germany is Berlin.\n", _b.toString());
  +    }
  +
  +    public void testAddPattern3()
  +    {
  +        _b.add("{0} + {1} = {2}", new Integer(5), new Integer(7), new Integer(13));
  +
  +        assertEquals("5 + 7 = 13", _b.toString());
  +    }
  +
  +    public void testAddlnPattern3()
  +    {
  +        _b.addln("The Holy Trinity: {0}, {1} and {2}.", "Tapestry", "HiveMind", "Hibernate");
  +
  +        assertEquals("The Holy Trinity: Tapestry, HiveMind and Hibernate.\n", _b.toString());
  +    }
  +
   }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: hivemind-cvs-unsubscribe@jakarta.apache.org
For additional commands, e-mail: hivemind-cvs-help@jakarta.apache.org