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]