Author: adrianc
Date: Sun Mar 14 06:34:52 2010
New Revision: 922774

URL: http://svn.apache.org/viewvc?rev=922774&view=rev
Log:
Built out the Date/Time converters.

Modified:
    
commons/sandbox/convert/trunk/src/main/java/org/apache/commons/convert/DateTimeConverters.java

Modified: 
commons/sandbox/convert/trunk/src/main/java/org/apache/commons/convert/DateTimeConverters.java
URL: 
http://svn.apache.org/viewvc/commons/sandbox/convert/trunk/src/main/java/org/apache/commons/convert/DateTimeConverters.java?rev=922774&r1=922773&r2=922774&view=diff
==============================================================================
--- 
commons/sandbox/convert/trunk/src/main/java/org/apache/commons/convert/DateTimeConverters.java
 (original)
+++ 
commons/sandbox/convert/trunk/src/main/java/org/apache/commons/convert/DateTimeConverters.java
 Sun Mar 14 06:34:52 2010
@@ -18,6 +18,7 @@
  
*******************************************************************************/
 package org.apache.commons.convert;
 
+import java.sql.Time;
 import java.sql.Timestamp;
 import java.text.DateFormat;
 import java.text.ParseException;
@@ -29,20 +30,6 @@ import java.util.TimeZone;
 
 /** Date/time Converter classes. */
 public class DateTimeConverters implements ConverterLoader {
-    /**
-     * JDBC escape format for java.sql.Date conversions.
-     */
-    public static final String DATE_FORMAT = "yyyy-MM-dd";
-
-    /**
-     * JDBC escape format for java.sql.Timestamp conversions.
-     */
-    public static final String DATE_TIME_FORMAT = "yyyy-MM-dd HH:mm:ss.SSS";
-
-    /**
-     * JDBC escape format for java.sql.Time conversions.
-     */
-    public static final String TIME_FORMAT = "HH:mm:ss";
 
     /**
      * Returns an initialized DateFormat object.
@@ -203,46 +190,46 @@ public class DateTimeConverters implemen
         }
 
         public Calendar convert(Long obj, Locale locale, TimeZone timeZone, 
String formatString) throws ConversionException {
-            return convert(obj, Locale.getDefault(), TimeZone.getDefault());
+            return convert(obj, locale, timeZone);
         }
     }
 
-    public static class NumberToDate extends AbstractConverter<Number, Date> {
-        public NumberToDate() {
-            super(Number.class, Date.class);
+    public static class LongToDate extends AbstractConverter<Long, Date> {
+        public LongToDate() {
+            super(Long.class, Date.class);
         }
 
-        public Date convert(Number obj) throws ConversionException {
+        public Date convert(Long obj) throws ConversionException {
              return new Date(obj.longValue());
         }
     }
 
-    public static class NumberToSqlDate extends AbstractConverter<Number, 
java.sql.Date> {
-        public NumberToSqlDate() {
-            super(Number.class, java.sql.Date.class);
+    public static class LongToSqlDate extends AbstractConverter<Long, 
java.sql.Date> {
+        public LongToSqlDate() {
+            super(Long.class, java.sql.Date.class);
         }
 
-        public java.sql.Date convert(Number obj) throws ConversionException {
+        public java.sql.Date convert(Long obj) throws ConversionException {
              return new java.sql.Date(obj.longValue());
         }
     }
 
-    public static class NumberToSqlTime extends AbstractConverter<Number, 
java.sql.Time> {
-        public NumberToSqlTime() {
-            super(Number.class, java.sql.Time.class);
+    public static class LongToSqlTime extends AbstractConverter<Long, 
java.sql.Time> {
+        public LongToSqlTime() {
+            super(Long.class, java.sql.Time.class);
         }
 
-        public java.sql.Time convert(Number obj) throws ConversionException {
+        public java.sql.Time convert(Long obj) throws ConversionException {
              return new java.sql.Time(obj.longValue());
         }
     }
 
-    public static class NumberToTimestamp extends AbstractConverter<Number, 
java.sql.Timestamp> {
-        public NumberToTimestamp() {
-            super(Number.class, java.sql.Timestamp.class);
+    public static class LongToTimestamp extends AbstractConverter<Long, 
java.sql.Timestamp> {
+        public LongToTimestamp() {
+            super(Long.class, java.sql.Timestamp.class);
         }
 
-        public java.sql.Timestamp convert(Number obj) throws 
ConversionException {
+        public java.sql.Timestamp convert(Long obj) throws ConversionException 
{
              return new java.sql.Timestamp(obj.longValue());
         }
     }
@@ -263,6 +250,16 @@ public class DateTimeConverters implemen
         }
     }
 
+    public static class SqlDateToLong extends AbstractConverter<java.sql.Date, 
Long> {
+        public SqlDateToLong() {
+            super(java.sql.Date.class, Long.class);
+        }
+
+        public Long convert(java.sql.Date obj) throws ConversionException {
+             return obj.getTime();
+        }
+    }
+
     public static class SqlDateToSet extends 
GenericSingletonToSet<java.sql.Date> {
         public SqlDateToSet() {
             super(java.sql.Date.class);
@@ -311,6 +308,16 @@ public class DateTimeConverters implemen
         }
     }
 
+    public static class SqlTimeToLong extends AbstractConverter<java.sql.Time, 
Long> {
+        public SqlTimeToLong() {
+            super(java.sql.Time.class, Long.class);
+        }
+
+        public Long convert(java.sql.Time obj) throws ConversionException {
+             return obj.getTime();
+        }
+    }
+
     public static class SqlTimeToSet extends 
GenericSingletonToSet<java.sql.Time> {
         public SqlTimeToSet() {
             super(java.sql.Time.class);
@@ -332,6 +339,11 @@ public class DateTimeConverters implemen
             super(java.sql.Time.class, String.class);
         }
 
+        @Override
+        public String convert(Time obj) throws ConversionException {
+            return obj.toString();
+        }
+
         public String convert(java.sql.Time obj, Locale locale, TimeZone 
timeZone, String formatString) throws ConversionException {
             DateFormat df = toTimeFormat(formatString, timeZone, locale);
             return df.format(obj);
@@ -369,6 +381,16 @@ public class DateTimeConverters implemen
             super(String.class, Date.class);
         }
 
+        @Override
+        public Date convert(String obj) throws ConversionException {
+            try {
+                DateFormat df = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz 
yyyy");
+                return df.parse(obj);
+            } catch (ParseException e) {
+                throw new ConversionException(e);
+            }
+        }
+
         public Date convert(String obj, Locale locale, TimeZone timeZone, 
String formatString) throws ConversionException {
             DateFormat df = toDateTimeFormat(formatString, timeZone, locale);
             try {
@@ -386,12 +408,7 @@ public class DateTimeConverters implemen
 
         @Override
         public java.sql.Date convert(String obj) throws ConversionException {
-            DateFormat df = new SimpleDateFormat(DATE_FORMAT);
-            try {
-                return new java.sql.Date(df.parse(obj).getTime());
-            } catch (ParseException e) {
-                throw new ConversionException(e);
-            }
+            return java.sql.Date.valueOf(obj);
         }
 
         public java.sql.Date convert(String obj, Locale locale, TimeZone 
timeZone, String formatString) throws ConversionException {
@@ -411,12 +428,7 @@ public class DateTimeConverters implemen
 
         @Override
         public java.sql.Time convert(String obj) throws ConversionException {
-            DateFormat df = new SimpleDateFormat(TIME_FORMAT);
-            try {
-                return new java.sql.Time(df.parse(obj).getTime());
-            } catch (ParseException e) {
-                throw new ConversionException(e);
-            }
+            return java.sql.Time.valueOf(obj);
         }
 
         public java.sql.Time convert(String obj, Locale locale, TimeZone 
timeZone, String formatString) throws ConversionException {
@@ -436,12 +448,7 @@ public class DateTimeConverters implemen
 
         @Override
         public Timestamp convert(String obj) throws ConversionException {
-            DateFormat df = new SimpleDateFormat(DATE_TIME_FORMAT);
-            try {
-                return new java.sql.Timestamp(df.parse(obj).getTime());
-            } catch (ParseException e) {
-                throw new ConversionException(e);
-            }
+            return java.sql.Timestamp.valueOf(obj);
         }
 
         public java.sql.Timestamp convert(String obj, Locale locale, TimeZone 
timeZone, String formatString) throws ConversionException {
@@ -480,6 +487,16 @@ public class DateTimeConverters implemen
         }
     }
 
+    public static class TimestampToLong extends 
AbstractConverter<java.sql.Timestamp, Long> {
+        public TimestampToLong() {
+            super(java.sql.Timestamp.class, Long.class);
+        }
+
+        public Long convert(java.sql.Timestamp obj) throws ConversionException 
{
+             return obj.getTime();
+        }
+    }
+
     public static class TimestampToSet extends 
GenericSingletonToSet<Timestamp> {
         public TimestampToSet() {
             super(Timestamp.class);
@@ -496,6 +513,22 @@ public class DateTimeConverters implemen
         }
     }
 
+    public static class TimestampToString extends 
GenericLocalizedConverter<java.sql.Timestamp, String> {
+        public TimestampToString() {
+            super(java.sql.Timestamp.class, String.class);
+        }
+
+        @Override
+        public String convert(java.sql.Timestamp obj) throws 
ConversionException {
+            return obj.toString();
+        }
+
+        public String convert(java.sql.Timestamp obj, Locale locale, TimeZone 
timeZone, String formatString) throws ConversionException {
+            DateFormat df = toDateFormat(formatString, timeZone, locale);
+            return df.format(obj);
+        }
+    }
+
     public static class TimeZoneToString extends AbstractConverter<TimeZone, 
String> {
         public TimeZoneToString() {
             super(TimeZone.class, String.class);


Reply via email to