From ac27602a9b1141ee170c9cdf4bf386078013f1d0 Mon Sep 17 00:00:00 2001 From: "Brian S. O'Neill" Date: Sun, 20 Jan 2008 21:20:25 +0000 Subject: Changes reverted and moved to dt_adapter branch. --- .../amazon/carbonado/adapter/DateTimeAdapter.java | 123 ++++++++------------- 1 file changed, 46 insertions(+), 77 deletions(-) diff --git a/src/main/java/com/amazon/carbonado/adapter/DateTimeAdapter.java b/src/main/java/com/amazon/carbonado/adapter/DateTimeAdapter.java index d9b3577..fc12319 100644 --- a/src/main/java/com/amazon/carbonado/adapter/DateTimeAdapter.java +++ b/src/main/java/com/amazon/carbonado/adapter/DateTimeAdapter.java @@ -76,12 +76,6 @@ public @interface DateTimeAdapter { * default time zone. */ String timeZone() default ""; - - /** - * Optionally specify a time zone for the DateTime value as persisted. - */ - String timeZonePersisted() default ""; - String timeZoneActual() default ""; /** * Adapter implementation for {@link DateTimeAdapter}. @@ -130,7 +124,7 @@ public @interface DateTimeAdapter { .toFormatter(); } - private static DateTimeZone getDisplayDateTimeZone(DateTimeAdapter ann) { + private static DateTimeZone toDateTimeZone(DateTimeAdapter ann) { String id; if (ann == null || (id = ann.timeZone()) == null || id.length() == 0) { return null; @@ -138,26 +132,8 @@ public @interface DateTimeAdapter { return DateTimeZone.forID(id); } - private static DateTimeZone getPersistedDateTimeZone(DateTimeAdapter ann) { - String id; - if (ann == null || (id = ann.timeZonePersisted()) == null || id.length() == 0) { - return getDisplayDateTimeZone(ann); - } - return DateTimeZone.forID(id); - } - - private static DateTimeZone getActualDateTimeZone(DateTimeAdapter ann) { - String id; - if (ann == null || (id = ann.timeZoneActual()) == null || id.length() == 0) { - return getDisplayDateTimeZone(ann); - } - return DateTimeZone.forID(id); - } - private final String mPropertyName; - private final DateTimeZone mPersistedZone; - private final DateTimeZone mActualZone; - private final DateTimeZone mDisplayZone; + private final DateTimeZone mZone; private final DateTimeFormatter mDateTimeParser; /** @@ -166,7 +142,7 @@ public @interface DateTimeAdapter { * @param ann specific annotation that binds to this adapter class */ public Adapter(Class type, String propertyName, DateTimeAdapter ann) { - this(type, propertyName, getDisplayDateTimeZone(ann), getPersistedDateTimeZone(ann), getActualDateTimeZone(ann)); + this(type, propertyName, toDateTimeZone(ann)); } /** @@ -174,27 +150,20 @@ public @interface DateTimeAdapter { * @param propertyName name of property with * @param zone time zone to apply, or null to use default */ - public Adapter(Class type, String propertyName, DateTimeZone displayZone, DateTimeZone persistedZone, DateTimeZone actualZone) { + public Adapter(Class type, String propertyName, DateTimeZone zone) { mPropertyName = propertyName; - mDisplayZone = displayZone; - mPersistedZone = persistedZone; - mActualZone = actualZone; - if (!mPersistedZone.equals(mActualZone)) - DateTimeZone.setDefault(mActualZone); - mDateTimeParser = cDateTimeParser.withZone(persistedZone); + mZone = zone; + mDateTimeParser = cDateTimeParser.withZone(zone); } - public Adapter(Class type, String propertyName, DateTimeZone displayZone) { - this(type, propertyName, displayZone, displayZone, displayZone); - } // Adapt to DateTime... public DateTime adaptToDateTime(long instant) { - return new DateTime(instant, mPersistedZone); + return new DateTime(instant, mZone); } public DateTime adaptToDateTime(Long instant) { - return instant == null ? null : (new DateTime(instant, mPersistedZone).withZoneRetainFields(mActualZone)).withZone(mDisplayZone); + return instant == null ? null : new DateTime(instant, mZone); } public DateTime adaptToDateTime(String isoDateString) { @@ -202,116 +171,116 @@ public @interface DateTimeAdapter { } public DateTime adaptToDateTime(Date date) { - return date == null ? null : (new DateTime(date, mPersistedZone).withZoneRetainFields(mActualZone)).withZone(mDisplayZone); + return date == null ? null : new DateTime(date, mZone); } public DateTime adaptToDateTime(java.sql.Date date) { - return date == null ? null : new DateTime(date.getTime(), mPersistedZone).withZoneRetainFields(mActualZone).withZone(mDisplayZone); + return date == null ? null : new DateTime(date.getTime(), mZone); } public DateTime adaptToDateTime(Time time) { - return time == null ? null : new DateTime(time.getTime(), mPersistedZone).withZoneRetainFields(mActualZone).withZone(mDisplayZone); + return time == null ? null : new DateTime(time.getTime(), mZone); } public DateTime adaptToDateTime(Timestamp timestamp) { - return timestamp == null ? null : new DateTime(timestamp.getTime(), mPersistedZone).withZoneRetainFields(mActualZone).withZone(mDisplayZone); + return timestamp == null ? null : new DateTime(timestamp.getTime(), mZone); } // Adapt to DateMidnight... public DateMidnight adaptToDateMidnight(long instant) { - return new DateMidnight(instant, mPersistedZone); + return new DateMidnight(instant, mZone); } public DateMidnight adaptToDateMidnight(Long instant) { - return instant == null ? null : new DateMidnight(instant, mPersistedZone); + return instant == null ? null : new DateMidnight(instant, mZone); } public DateMidnight adaptToDateMidnight(String isoDateString) { - return isoDateString == null ? null : new DateMidnight(isoDateString, mPersistedZone); + return isoDateString == null ? null : new DateMidnight(isoDateString, mZone); } public DateMidnight adaptToDateMidnight(Date date) { - return date == null ? null : new DateMidnight(date, mPersistedZone); + return date == null ? null : new DateMidnight(date, mZone); } public DateMidnight adaptToDateMidnight(java.sql.Date date) { - return date == null ? null : new DateMidnight(date.getTime(), mPersistedZone); + return date == null ? null : new DateMidnight(date.getTime(), mZone); } public DateMidnight adaptToDateMidnight(Time time) { - return time == null ? null : new DateMidnight(time.getTime(), mPersistedZone); + return time == null ? null : new DateMidnight(time.getTime(), mZone); } public DateMidnight adaptToDateMidnight(Timestamp timestamp) { - return timestamp == null ? null : new DateMidnight(timestamp.getTime(), mPersistedZone); + return timestamp == null ? null : new DateMidnight(timestamp.getTime(), mZone); } // Adapt to LocalDateTime... public LocalDateTime adaptToLocalDateTime(long instant) { - return new LocalDateTime(instant, mPersistedZone); + return new LocalDateTime(instant, mZone); } public LocalDateTime adaptToLocalDateTime(Long instant) { - return instant == null ? null : new LocalDateTime(instant, mPersistedZone); + return instant == null ? null : new LocalDateTime(instant, mZone); } public LocalDateTime adaptToLocalDateTime(String isoDateString) { - return isoDateString == null ? null : new LocalDateTime(isoDateString, mPersistedZone); + return isoDateString == null ? null : new LocalDateTime(isoDateString, mZone); } public LocalDateTime adaptToLocalDateTime(Date date) { - return date == null ? null : new LocalDateTime(date, mPersistedZone); + return date == null ? null : new LocalDateTime(date, mZone); } public LocalDateTime adaptToLocalDateTime(java.sql.Date date) { - return date == null ? null : new LocalDateTime(date.getTime(), mPersistedZone); + return date == null ? null : new LocalDateTime(date.getTime(), mZone); } public LocalDateTime adaptToLocalDateTime(Time time) { - return time == null ? null : new LocalDateTime(time.getTime(), mPersistedZone); + return time == null ? null : new LocalDateTime(time.getTime(), mZone); } public LocalDateTime adaptToLocalDateTime(Timestamp timestamp) { - return timestamp == null ? null : new LocalDateTime(timestamp.getTime(), mPersistedZone); + return timestamp == null ? null : new LocalDateTime(timestamp.getTime(), mZone); } // Adapt to LocalDate... public LocalDate adaptToLocalDate(long instant) { - return new LocalDate(instant, mPersistedZone); + return new LocalDate(instant, mZone); } public LocalDate adaptToLocalDate(Long instant) { - return instant == null ? null : new LocalDate(instant, mPersistedZone); + return instant == null ? null : new LocalDate(instant, mZone); } public LocalDate adaptToLocalDate(String isoDateString) { - return isoDateString == null ? null : new LocalDate(isoDateString, mPersistedZone); + return isoDateString == null ? null : new LocalDate(isoDateString, mZone); } public LocalDate adaptToLocalDate(Date date) { - return date == null ? null : new LocalDate(date, mPersistedZone); + return date == null ? null : new LocalDate(date, mZone); } public LocalDate adaptToLocalDate(java.sql.Date date) { - return date == null ? null : new LocalDate(date.getTime(), mPersistedZone); + return date == null ? null : new LocalDate(date.getTime(), mZone); } public LocalDate adaptToLocalDate(Time time) { - return time == null ? null : new LocalDate(time.getTime(), mPersistedZone); + return time == null ? null : new LocalDate(time.getTime(), mZone); } public LocalDate adaptToLocalDate(Timestamp timestamp) { - return timestamp == null ? null : new LocalDate(timestamp.getTime(), mPersistedZone); + return timestamp == null ? null : new LocalDate(timestamp.getTime(), mZone); } // Adapt from DateTime and DateMidnight... (accept the more generic ReadableInstant) public long adaptToLong(ReadableInstant instant) { if (instant != null) { - return new DateTime(instant, mDisplayZone).withZoneRetainFields(mPersistedZone).getMillis(); + return instant.getMillis(); } throw new IllegalArgumentException ("Cannot adapt null instant into long for property \"" + @@ -346,7 +315,7 @@ public @interface DateTimeAdapter { public long adaptToLong(LocalDateTime dateTime) { if (dateTime != null) { - return dateTime.toDateTime(mPersistedZone).getMillis(); + return dateTime.toDateTime(mZone).getMillis(); } throw new IllegalArgumentException ("Cannot adapt null datetime into long for property \"" + @@ -354,7 +323,7 @@ public @interface DateTimeAdapter { } public Long adaptToLongObj(LocalDateTime dateTime) { - return dateTime == null ? null : dateTime.toDateTime(mPersistedZone).getMillis(); + return dateTime == null ? null : dateTime.toDateTime(mZone).getMillis(); } public String adaptToString(LocalDateTime dateTime) { @@ -362,27 +331,27 @@ public @interface DateTimeAdapter { } public Date adaptToDate(LocalDateTime dateTime) { - return dateTime == null ? null : dateTime.toDateTime(mPersistedZone).toDate(); + return dateTime == null ? null : dateTime.toDateTime(mZone).toDate(); } public java.sql.Date adaptToSqlDate(LocalDateTime dateTime) { return dateTime == null ? null - : new java.sql.Date(dateTime.toDateTime(mPersistedZone).getMillis()); + : new java.sql.Date(dateTime.toDateTime(mZone).getMillis()); } public Time adaptToSqlTime(LocalDateTime dateTime) { - return dateTime == null ? null : new Time(dateTime.toDateTime(mPersistedZone).getMillis()); + return dateTime == null ? null : new Time(dateTime.toDateTime(mZone).getMillis()); } public Timestamp adaptToSqlTimestamp(LocalDateTime dateTime) { - return dateTime == null ? null : new Timestamp(dateTime.toDateTime(mPersistedZone).getMillis()); + return dateTime == null ? null : new Timestamp(dateTime.toDateTime(mZone).getMillis()); } // Adapt from LocalDate... public long adaptToLong(LocalDate date) { if (date != null) { - return date.toDateMidnight(mPersistedZone).getMillis(); + return date.toDateMidnight(mZone).getMillis(); } throw new IllegalArgumentException ("Cannot adapt null date into long for property \"" + @@ -390,7 +359,7 @@ public @interface DateTimeAdapter { } public Long adaptToLongObj(LocalDate date) { - return date == null ? null : date.toDateMidnight(mPersistedZone).getMillis(); + return date == null ? null : date.toDateMidnight(mZone).getMillis(); } public String adaptToString(LocalDate date) { @@ -398,15 +367,15 @@ public @interface DateTimeAdapter { } public Date adaptToDate(LocalDate date) { - return date == null ? null : date.toDateMidnight(mPersistedZone).toDate(); + return date == null ? null : date.toDateMidnight(mZone).toDate(); } public java.sql.Date adaptToSqlDate(LocalDate date) { - return date == null ? null : new java.sql.Date(date.toDateMidnight(mPersistedZone).getMillis()); + return date == null ? null : new java.sql.Date(date.toDateMidnight(mZone).getMillis()); } public Timestamp adaptToSqlTimestamp(LocalDate date) { - return date == null ? null : new Timestamp(date.toDateMidnight(mPersistedZone).getMillis()); + return date == null ? null : new Timestamp(date.toDateMidnight(mZone).getMillis()); } // Adapt to Date... @@ -452,7 +421,7 @@ public @interface DateTimeAdapter { } public String adaptToString(Date date) { - return date == null ? null : new DateTime(date, mPersistedZone).toString(); + return date == null ? null : new DateTime(date, mZone).toString(); } public java.sql.Date adaptToSqlDate(Date date) { -- cgit v1.2.3