From 065102bca981ca431ad313a412afc9648df56cec Mon Sep 17 00:00:00 2001 From: Keith Donald Date: Mon, 8 Jun 2009 04:22:10 +0000 Subject: [PATCH] date subpackage --- .../ui/format/AnnotationFormatterFactory.java | 6 ++-- .../ui/format/{ => date}/DateFormatter.java | 3 +- .../ui/binding/BinderTests.java | 2 +- .../ui/format/date/DateFormatterTests.java | 35 +++++++++++++++++++ 4 files changed, 41 insertions(+), 5 deletions(-) rename org.springframework.context/src/main/java/org/springframework/ui/format/{ => date}/DateFormatter.java (96%) create mode 100644 org.springframework.context/src/test/java/org/springframework/ui/format/date/DateFormatterTests.java diff --git a/org.springframework.context/src/main/java/org/springframework/ui/format/AnnotationFormatterFactory.java b/org.springframework.context/src/main/java/org/springframework/ui/format/AnnotationFormatterFactory.java index eccdeed4e9..67d88ef180 100644 --- a/org.springframework.context/src/main/java/org/springframework/ui/format/AnnotationFormatterFactory.java +++ b/org.springframework.context/src/main/java/org/springframework/ui/format/AnnotationFormatterFactory.java @@ -18,8 +18,8 @@ package org.springframework.ui.format; import java.lang.annotation.Annotation; /** - * A factory that creates Formatters to format property values on properties annotated with a particular format {@link Annotation}. - * For example, a CurrencyAnnotationFormatterFactory might create a {@link Formatter} that formats a BigDecimal value set on a property annotated with @CurrencyFormat. + * A factory that creates {@link Formatter formatters} to format property values on properties annotated with a particular format {@link Annotation}. + * For example, a CurrencyAnnotationFormatterFactory might create a Formatter that formats a BigDecimal value set on a property annotated with @CurrencyFormat. * @author Keith Donald * @param The type of Annotation this factory uses to create Formatter instances * @param The type of Object Formatters created by this factory format @@ -33,4 +33,4 @@ public interface AnnotationFormatterFactory { * @return the Formatter to use to format values of properties annotated with the annotation. */ Formatter getFormatter(A annotation); -} +} \ No newline at end of file diff --git a/org.springframework.context/src/main/java/org/springframework/ui/format/DateFormatter.java b/org.springframework.context/src/main/java/org/springframework/ui/format/date/DateFormatter.java similarity index 96% rename from org.springframework.context/src/main/java/org/springframework/ui/format/DateFormatter.java rename to org.springframework.context/src/main/java/org/springframework/ui/format/date/DateFormatter.java index 91c4743d4d..ffc2134233 100644 --- a/org.springframework.context/src/main/java/org/springframework/ui/format/DateFormatter.java +++ b/org.springframework.context/src/main/java/org/springframework/ui/format/date/DateFormatter.java @@ -13,7 +13,7 @@ * See the License for the specific language governing permissions and * limitations under the License. */ -package org.springframework.ui.format; +package org.springframework.ui.format.date; import java.text.DateFormat; import java.text.ParseException; @@ -23,6 +23,7 @@ import java.util.Locale; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.springframework.ui.format.Formatter; /** * A formatter for {@link Date} types. diff --git a/org.springframework.context/src/test/java/org/springframework/ui/binding/BinderTests.java b/org.springframework.context/src/test/java/org/springframework/ui/binding/BinderTests.java index 3feb9519d0..9fe903d319 100644 --- a/org.springframework.context/src/test/java/org/springframework/ui/binding/BinderTests.java +++ b/org.springframework.context/src/test/java/org/springframework/ui/binding/BinderTests.java @@ -19,7 +19,7 @@ import org.junit.After; import org.junit.Before; import org.junit.Test; import org.springframework.context.i18n.LocaleContextHolder; -import org.springframework.ui.format.DateFormatter; +import org.springframework.ui.format.date.DateFormatter; import org.springframework.ui.format.number.CurrencyAnnotationFormatterFactory; import org.springframework.ui.format.number.CurrencyFormat; import org.springframework.ui.format.number.CurrencyFormatter; diff --git a/org.springframework.context/src/test/java/org/springframework/ui/format/date/DateFormatterTests.java b/org.springframework.context/src/test/java/org/springframework/ui/format/date/DateFormatterTests.java new file mode 100644 index 0000000000..ab64e776cb --- /dev/null +++ b/org.springframework.context/src/test/java/org/springframework/ui/format/date/DateFormatterTests.java @@ -0,0 +1,35 @@ +package org.springframework.ui.format.date; + +import static org.junit.Assert.assertEquals; + +import java.text.ParseException; +import java.util.Calendar; +import java.util.Locale; + +import org.junit.Test; + +public class DateFormatterTests { + + private DateFormatter formatter = new DateFormatter(); + + @Test + public void formatValue() { + Calendar cal = Calendar.getInstance(Locale.US); + cal.clear(); + cal.set(Calendar.YEAR, 2009); + cal.set(Calendar.MONTH, Calendar.JUNE); + cal.set(Calendar.DAY_OF_MONTH, 1); + assertEquals("2009-06-01", formatter.format(cal.getTime(), Locale.US)); + } + + @Test + public void parseValue() throws ParseException { + Calendar cal = Calendar.getInstance(Locale.US); + cal.clear(); + cal.set(Calendar.YEAR, 2009); + cal.set(Calendar.MONTH, Calendar.JUNE); + cal.set(Calendar.DAY_OF_MONTH, 1); + assertEquals(cal.getTime(), formatter.parse("2009-06-01", Locale.US)); + } + +}