proyal      2003/09/03 18:47:43

  Modified:    jelly/jelly-tags/fmt/src/java/org/apache/commons/jelly/tags/fmt
                        MessageTag.java
               jelly/jelly-tags/fmt/src/test/org/apache/commons/jelly/tags/fmt
                        abc.properties suite.jelly
  Log:
  [JELLY-70] Have fmt:message tag process <param> tags in body when specifying
  key attribute
  
  Patch from Willie Vu
  
  Revision  Changes    Path
  1.4       +4 -0      
jakarta-commons/jelly/jelly-tags/fmt/src/java/org/apache/commons/jelly/tags/fmt/MessageTag.java
  
  Index: MessageTag.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/jelly/jelly-tags/fmt/src/java/org/apache/commons/jelly/tags/fmt/MessageTag.java,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- MessageTag.java   26 Jan 2003 02:02:08 -0000      1.3
  +++ MessageTag.java   4 Sep 2003 01:47:43 -0000       1.4
  @@ -111,14 +111,18 @@
        }
        
        public void doTag(XMLOutput output) throws JellyTagException {
  +             
                Object keyInput = null;
                if (this.key != null) {
                        keyInput = this.key.evaluate(context);
  +                     // process <param> sub tags
  +                     invokeBody(output);
                }
                else {
                        // get key from body
                        keyInput = getBodyText();
                }
  +
                
                if ((keyInput == null) || keyInput.equals("")) {
               try {
  
  
  
  1.2       +2 -0      
jakarta-commons/jelly/jelly-tags/fmt/src/test/org/apache/commons/jelly/tags/fmt/abc.properties
  
  Index: abc.properties
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/jelly/jelly-tags/fmt/src/test/org/apache/commons/jelly/tags/fmt/abc.properties,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- abc.properties    16 Jan 2003 16:21:46 -0000      1.1
  +++ abc.properties    4 Sep 2003 01:47:43 -0000       1.2
  @@ -4,3 +4,5 @@
   key2=value2
   
   key3=value3 {0} {1}
  +
  +key4=value4 {0} {1} {2,number,integer}
  
  
  
  1.3       +33 -0     
jakarta-commons/jelly/jelly-tags/fmt/src/test/org/apache/commons/jelly/tags/fmt/suite.jelly
  
  Index: suite.jelly
  ===================================================================
  RCS file: 
/home/cvs/jakarta-commons/jelly/jelly-tags/fmt/src/test/org/apache/commons/jelly/tags/fmt/suite.jelly,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- suite.jelly       18 Jan 2003 06:35:27 -0000      1.2
  +++ suite.jelly       4 Sep 2003 01:47:43 -0000       1.3
  @@ -27,6 +27,7 @@
        <test:case name="testParam" xmlns="dummy">
                <j:set var="keyvar" value="key3"/>
                <j:set var="valuevar" value="param1"/>
  +
                <fmt:bundle basename="org.apache.commons.jelly.tags.fmt.abc">
                        <fmt:message var="dummyKey3">${keyvar}<fmt:param 
value="${valuevar}"/>
                                <fmt:param value="param2"/>
  @@ -37,6 +38,38 @@
                <m:echo>key3: '${dummyKey3}'</m:echo>
       
                <test:assertEquals expected="value3 param1 param2" 
actual="${dummyKey3}" />
  +
  +             <fmt:bundle basename="org.apache.commons.jelly.tags.fmt.abc">
  +                     <fmt:message var="dummyKey3" key="${keyvar}"><fmt:param 
value="${valuevar}"/>
  +                             <fmt:param value="param2"/>
  +                     </fmt:message>
  +             </fmt:bundle>
  +
  +             <m:echo>i10n content is </m:echo>
  +             <m:echo>key3: '${dummyKey3}'</m:echo>
  +    
  +             <test:assertEquals expected="value3 param1 param2" 
actual="${dummyKey3}" />
  +     </test:case>
  +
  +     <test:case name="testParam" xmlns="dummy">
  +             <j:set var="keyvar" value="key4"/>
  +             <j:set var="valuevar" value="param1"/>
  +             <j:set var="intvalue" value="123"/>
  +             <j:new className="java.lang.Integer" var="intValue">
  +                     <j:arg value="123"/>
  +             </j:new>
  +             <test:assertEquals expected="java.lang.Integer" 
actual="${intValue.class.name}" />
  +             <fmt:bundle basename="org.apache.commons.jelly.tags.fmt.abc">
  +                     <fmt:message var="dummyKey4">${keyvar}<fmt:param 
value="${valuevar}"/>
  +                             <fmt:param value="param2"/>
  +                             <fmt:param value='${intValue}'/>
  +                     </fmt:message>
  +             </fmt:bundle>
  +
  +             <m:echo>i10n content is </m:echo>
  +             <m:echo>key4: '${dummyKey4}'</m:echo>
  +    
  +             <test:assertEquals expected="value4 param1 param2 123" 
actual="${dummyKey4}" />
        </test:case>
   
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to