pferraro    2005/08/04 21:54:50

  Modified:    framework/src/test/org/apache/tapestry/form/translator
                        TestNumberTranslator.java TestDateTranslator.java
               framework/src/java/org/apache/tapestry/form/translator
                        FormatTranslator.java
               .        status.xml
  Log:
  Fixes TAPESTRY-407: unable to override default format pattern when 
initialized via the translator binding
  
  Revision  Changes    Path
  1.7       +52 -25    
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/translator/TestNumberTranslator.java
  
  Index: TestNumberTranslator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/translator/TestNumberTranslator.java,v
  retrieving revision 1.6
  retrieving revision 1.7
  diff -u -r1.6 -r1.7
  --- TestNumberTranslator.java 18 Jun 2005 12:54:40 -0000      1.6
  +++ TestNumberTranslator.java 5 Aug 2005 04:54:49 -0000       1.7
  @@ -22,21 +22,30 @@
   
   public class TestNumberTranslator extends TranslatorTestCase
   {
  -    private NumberTranslator _translator = new NumberTranslator();
  -    
       public void testDefaultFormat()
       {
  -        testFormat(new Integer(10), "10");
  +        NumberTranslator translator = new NumberTranslator();
  +        
  +        testFormat(translator, new Integer(10), "10");
       }
       
       public void testCustomFormat()
       {
  -        _translator.setPattern("$#0.00");
  +        NumberTranslator translator = new NumberTranslator();
  +        
  +        translator.setPattern("$#0.00");
  +        
  +        testFormat(translator, new Integer(10), "$10.00");
  +    }
  +    
  +    public void testInitializerFormat()
  +    {
  +        NumberTranslator translator = new NumberTranslator("pattern=#0%");
           
  -        testFormat(new Integer(10), "$10.00");
  +        testFormat(translator, new Double(0.10), "10%");
       }
       
  -    public void testFormat(Number number, String expected)
  +    public void testFormat(Translator translator, Number number, String 
expected)
       {
           _component.getPage();
           _componentControl.setReturnValue(_page);
  @@ -46,7 +55,7 @@
           
           replay();
           
  -        String result = _translator.format(_component, number);
  +        String result = translator.format(_component, number);
           
           assertEquals(expected, result);
   
  @@ -55,9 +64,11 @@
   
       public void testNullFormat()
       {
  +        NumberTranslator translator = new NumberTranslator();
  +        
           replay();
           
  -        String result = _translator.format(_component, null);
  +        String result = translator.format(_component, null);
           
           assertEquals("", result);
   
  @@ -66,24 +77,30 @@
   
       public void testDefaultParse()
       {
  -        testParse("0.1", new Double(0.1));
  +        NumberTranslator translator = new NumberTranslator();
  +        
  +        testParse(translator, "0.1", new Double(0.1));
       }
       
       public void testCustomParse()
       {
  -        _translator.setPattern("#%");
  +        NumberTranslator translator = new NumberTranslator();
  +        
  +        translator.setPattern("#%");
           
  -        testParse("10%", new Double(0.1));
  +        testParse(translator, "10%", new Double(0.1));
       }
       
       public void testTrimmedParse()
       {
  -        _translator.setTrim(true);
  +        NumberTranslator translator = new NumberTranslator();
           
  -        testParse(" 100 ", new Long(100));
  +        translator.setTrim(true);
  +        
  +        testParse(translator, " 100 ", new Long(100));
       }
   
  -    private void testParse(String number, Number expected)
  +    private void testParse(Translator translator, String number, Number 
expected)
       {
           _component.getPage();
           _componentControl.setReturnValue(_page);
  @@ -95,7 +112,7 @@
           
           try
           {
  -            Number result = (Number) _translator.parse(_component, number);
  +            Number result = (Number) translator.parse(_component, number);
   
               assertEquals(expected, result);
           }
  @@ -111,19 +128,23 @@
       
       public void testFailedParseDefaultMessage()
       {
  -        testFailedParse("Field Name must be a numeric value.");
  +        NumberTranslator translator = new NumberTranslator();
  +        
  +        testFailedParse(translator, "Field Name must be a numeric value.");
       }
       
       public void testFailedParseCustomMessage()
       {
  +        NumberTranslator translator = new NumberTranslator();
  +        
           String message = "Field Name is an invalid number.";
           
  -        _translator.setMessage(message);
  +        translator.setMessage(message);
           
  -        testFailedParse(message);
  +        testFailedParse(translator, message);
       }
   
  -    private void testFailedParse(String message)
  +    private void testFailedParse(Translator translator, String message)
       {
           _component.getPage();
           _componentControl.setReturnValue(_page);
  @@ -144,7 +165,7 @@
           
           try
           {
  -            System.out.println(_translator.parse(_component, "Bad-Number"));
  +            System.out.println(translator.parse(_component, "Bad-Number"));
               
               unreachable();
           }
  @@ -161,6 +182,8 @@
       
       public void testRenderContribution()
       {
  +        NumberTranslator translator = new NumberTranslator();
  +        
           
addScript("/org/apache/tapestry/form/translator/NumberTranslator.js");
           
           _component.getPage();
  @@ -186,14 +209,16 @@
           
           replay();
           
  -        _translator.renderContribution(null, _cycle, null, _component);
  +        translator.renderContribution(null, _cycle, null, _component);
           
           verify();
       }
       
       public void testMessageRenderContribution()
       {
  -        _translator.setMessage("You entered a bunk value for {0}. I should 
look like {1}.");
  +        NumberTranslator translator = new NumberTranslator();
  +        
  +        translator.setMessage("You entered a bunk value for {0}. I should 
look like {1}.");
           
           
addScript("/org/apache/tapestry/form/translator/NumberTranslator.js");
           
  @@ -220,14 +245,16 @@
           
           replay();
           
  -        _translator.renderContribution(null, _cycle, null, _component);
  +        translator.renderContribution(null, _cycle, null, _component);
           
           verify();
       }
       
       public void testTrimRenderContribution()
       {
  -        _translator.setTrim(true);
  +        NumberTranslator translator = new NumberTranslator();
  +        
  +        translator.setTrim(true);
           trim();
           
           
addScript("/org/apache/tapestry/form/translator/NumberTranslator.js");
  @@ -255,7 +282,7 @@
           
           replay();
           
  -        _translator.renderContribution(null, _cycle, null, _component);
  +        translator.renderContribution(null, _cycle, null, _component);
           
           verify();
       }
  
  
  
  1.6       +50 -23    
jakarta-tapestry/framework/src/test/org/apache/tapestry/form/translator/TestDateTranslator.java
  
  Index: TestDateTranslator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/test/org/apache/tapestry/form/translator/TestDateTranslator.java,v
  retrieving revision 1.5
  retrieving revision 1.6
  diff -u -r1.5 -r1.6
  --- TestDateTranslator.java   18 Jun 2005 12:54:40 -0000      1.5
  +++ TestDateTranslator.java   5 Aug 2005 04:54:49 -0000       1.6
  @@ -29,7 +29,6 @@
    */
   public class TestDateTranslator extends TranslatorTestCase
   {
  -    private DateTranslator _translator = new DateTranslator();
       private Calendar _calendar = Calendar.getInstance();
   
       /**
  @@ -51,17 +50,27 @@
       
       public void testDefaultFormat()
       {
  -        testFormat(buildDate(1976, Calendar.OCTOBER, 29), "10/29/1976");
  +        DateTranslator translator = new DateTranslator();
  +        testFormat(translator, buildDate(1976, Calendar.OCTOBER, 29), 
"10/29/1976");
       }
       
       public void testCustomFormat()
       {
  -        _translator.setPattern("yyyy-MM-dd");
  +        DateTranslator translator = new DateTranslator();
  +
  +        translator.setPattern("yyyy-MM-dd");
           
  -        testFormat(buildDate(1976, Calendar.OCTOBER, 29), "1976-10-29");
  +        testFormat(translator, buildDate(1976, Calendar.OCTOBER, 29), 
"1976-10-29");
       }
       
  -    public void testFormat(Date date, String expected)
  +    public void testInitializerFormat()
  +    {
  +        DateTranslator translator = new DateTranslator("pattern=yyyy-MM-dd");
  +        
  +        testFormat(translator, buildDate(1976, Calendar.OCTOBER, 29), 
"1976-10-29");
  +    }
  +    
  +    public void testFormat(DateTranslator translator, Date date, String 
expected)
       {
           _component.getPage();
           _componentControl.setReturnValue(_page);
  @@ -71,7 +80,7 @@
           
           replay();
           
  -        String result = _translator.format(_component, date);
  +        String result = translator.format(_component, date);
           
           assertEquals(expected, result);
   
  @@ -80,9 +89,11 @@
   
       public void testNullFormat()
       {
  +        DateTranslator translator = new DateTranslator();
  +        
           replay();
           
  -        String result = _translator.format(_component, null);
  +        String result = translator.format(_component, null);
           
           assertEquals("", result);
   
  @@ -91,30 +102,38 @@
   
       public void testDefaultParse()
       {
  -        testParse("10/29/1976", buildDate(1976, Calendar.OCTOBER, 29));
  +        DateTranslator translator = new DateTranslator();
  +        
  +        testParse(translator, "10/29/1976", buildDate(1976, 
Calendar.OCTOBER, 29));
       }
       
       public void testCustomParse()
       {
  -        _translator.setPattern("yyyy-MM-dd");
  +        DateTranslator translator = new DateTranslator();
           
  -        testParse("1976-10-29", buildDate(1976, Calendar.OCTOBER, 29));
  +        translator.setPattern("yyyy-MM-dd");
  +        
  +        testParse(translator, "1976-10-29", buildDate(1976, 
Calendar.OCTOBER, 29));
       }
       
       public void testTrimmedParse()
       {
  -        _translator.setTrim(true);
  +        DateTranslator translator = new DateTranslator();
  +        
  +        translator.setTrim(true);
           
  -        testParse(" 10/29/1976 ", buildDate(1976, Calendar.OCTOBER, 29));
  +        testParse(translator, " 10/29/1976 ", buildDate(1976, 
Calendar.OCTOBER, 29));
       }
       
       public void testEmptyParse()
       {
  +        DateTranslator translator = new DateTranslator();
  +        
           replay();
           
           try
           {
  -            Date result = (Date) _translator.parse(_component, "");
  +            Date result = (Date) translator.parse(_component, "");
   
               assertEquals(null, result);
           }
  @@ -128,7 +147,7 @@
           }
       }
   
  -    private void testParse(String date, Date expected)
  +    private void testParse(DateTranslator translator, String date, Date 
expected)
       {
           _component.getPage();
           _componentControl.setReturnValue(_page);
  @@ -140,7 +159,7 @@
           
           try
           {
  -            Date result = (Date) _translator.parse(_component, date);
  +            Date result = (Date) translator.parse(_component, date);
   
               assertEquals(expected, result);
           }
  @@ -156,19 +175,22 @@
       
       public void testFailedParseDefaultMessage()
       {
  -        testFailedParse("Invalid date format for Field Name.  Format is 
MM/DD/YYYY.");
  +        DateTranslator translator = new DateTranslator();
  +        
  +        testFailedParse(translator, "Invalid date format for Field Name.  
Format is MM/DD/YYYY.");
       }
       
       public void testFailedParseCustomMessage()
       {
  +        DateTranslator translator = new DateTranslator();
           String message = "Field Name is an invalid date.";
           
  -        _translator.setMessage(message);
  +        translator.setMessage(message);
           
  -        testFailedParse(message);
  +        testFailedParse(translator, message);
       }
   
  -    private void testFailedParse(String message)
  +    private void testFailedParse(DateTranslator translator, String message)
       {
           _component.getPage();
           _componentControl.setReturnValue(_page);
  @@ -189,7 +211,7 @@
           
           try
           {
  -            System.out.println(_translator.parse(_component, "Bad-Date"));
  +            System.out.println(translator.parse(_component, "Bad-Date"));
               
               unreachable();
           }
  @@ -206,21 +228,26 @@
       
       public void testRenderContribution()
       {
  +        DateTranslator translator = new DateTranslator();
  +        
           replay();
           
  -        _translator.renderContribution(null, _cycle, null, _component);
  +        translator.renderContribution(null, _cycle, null, _component);
           
           verify();
       }
       
       public void testTrimRenderContribution()
       {
  -        _translator.setTrim(true);
  +        DateTranslator translator = new DateTranslator();
  +        
  +        translator.setTrim(true);
  +
           trim();
           
           replay();
           
  -        _translator.renderContribution(null, _cycle, null, _component);
  +        translator.renderContribution(null, _cycle, null, _component);
           
           verify();
       }
  
  
  
  1.5       +8 -1      
jakarta-tapestry/framework/src/java/org/apache/tapestry/form/translator/FormatTranslator.java
  
  Index: FormatTranslator.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tapestry/framework/src/java/org/apache/tapestry/form/translator/FormatTranslator.java,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- FormatTranslator.java     16 Jun 2005 20:57:10 -0000      1.4
  +++ FormatTranslator.java     5 Aug 2005 04:54:49 -0000       1.5
  @@ -18,6 +18,7 @@
   import java.text.ParseException;
   import java.util.Locale;
   
  +import org.apache.hivemind.HiveMind;
   import org.apache.tapestry.form.IFormComponent;
   import org.apache.tapestry.valid.ValidationConstraint;
   import org.apache.tapestry.valid.ValidatorException;
  @@ -30,7 +31,7 @@
    */
   public abstract class FormatTranslator extends AbstractTranslator
   {
  -    private String _pattern = defaultPattern();
  +    private String _pattern;
   
       protected abstract String defaultPattern();
   
  @@ -84,11 +85,17 @@
   
       public FormatTranslator()
       {
  +     _pattern = defaultPattern();
       }
   
       // Needed until HIVEMIND-134 fix is available
       public FormatTranslator(String initializer)
       {
           super(initializer);
  +        
  +        if (HiveMind.isBlank(_pattern))
  +        {
  +             _pattern = defaultPattern();
  +        }
       }
   }
  
  
  
  1.186     +1 -0      jakarta-tapestry/status.xml
  
  Index: status.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tapestry/status.xml,v
  retrieving revision 1.185
  retrieving revision 1.186
  diff -u -r1.185 -r1.186
  --- status.xml        4 Aug 2005 23:05:01 -0000       1.185
  +++ status.xml        5 Aug 2005 04:54:49 -0000       1.186
  @@ -67,6 +67,7 @@
         <action type="fix" dev="HLS" fixes-bug="TAPESTRY-527">Tapestry 4.0 DTD 
invalid</action>
         <action type="fix" dev="HLS" fixes-bug="TAPESTRY-524" due-to="Adam 
Greene">Client Side Persistence Scopes can conflict with each other</action>
         <action type="fix" dev="HLS" fixes-bug="TAPESTRY-519" due-to="Raphael 
Jean">NestedMarkupWriterImpl doesn't close the current open tag when 
getBuffer() is called</action>
  +      <action type="fix" dev="PF" fixes-bug="TAPESTRY-407">Unable to 
override default pattern of DateTranslator and NumberTranslator when 
initialized via the translator binding.</action>
       </release>
       <release version="4.0-beta-3" date="Jul 22 2005">
         <action type="fix" dev="HLS" fixes-bug="TAPESTRY-398" due-to="Jonas 
Maurus">HiveMind configuration error breaks the useage of the state: binding 
prefix</action>
  
  
  

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

Reply via email to