You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ofbiz.apache.org by ad...@apache.org on 2012/07/04 13:05:20 UTC
svn commit: r1357224 - in /ofbiz/branches/release12.04/framework/base: ./
src/org/ofbiz/base/conversion/DateTimeConverters.java
Author: adrianc
Date: Wed Jul 4 11:05:19 2012
New Revision: 1357224
URL: http://svn.apache.org/viewvc?rev=1357224&view=rev
Log:
Merging rev 1350081 from trunk.
Fixed a bug in DateTimeConverters.java where the wrong converter was being selected. The bug was due to class detection in the java.util.Date hierarchy - so the fix uses explicit classes.
Modified:
ofbiz/branches/release12.04/framework/base/ (props changed)
ofbiz/branches/release12.04/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java
Propchange: ofbiz/branches/release12.04/framework/base/
------------------------------------------------------------------------------
--- svn:mergeinfo (added)
+++ svn:mergeinfo Wed Jul 4 11:05:19 2012
@@ -0,0 +1,6 @@
+/ofbiz/branches/addbirt/framework/base:831210-885099,885686-886087
+/ofbiz/branches/dojo1.4/framework/base:951708-952957
+/ofbiz/branches/jackrabbit20100709/framework/base:962442-1231517
+/ofbiz/branches/jquery/framework/base:952958-1044489
+/ofbiz/branches/multitenant20100310/framework/base:921280-927264
+/ofbiz/trunk/framework/base:1332097,1333885,1334201,1334336,1334483,1335047,1335343,1335347,1335351,1335946,1336921,1337046,1337057-1337059,1337202,1337502,1337524,1337644,1337789,1337800,1338065,1338101,1338224,1338570,1338591,1338700,1338831,1338845,1338974,1339081,1339122,1340273,1340352,1340357,1340400,1340405,1340415,1340657,1340661,1340774,1340821,1340826,1340943,1341314,1341399,1342875,1342893,1342980,1343088,1345473,1345484,1345532,1345547,1345553,1347762,1350081,1351778,1351999,1355660,1355801,1355859,1355975
Modified: ofbiz/branches/release12.04/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java
URL: http://svn.apache.org/viewvc/ofbiz/branches/release12.04/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java?rev=1357224&r1=1357223&r2=1357224&view=diff
==============================================================================
--- ofbiz/branches/release12.04/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java (original)
+++ ofbiz/branches/release12.04/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java Wed Jul 4 11:05:19 2012
@@ -26,6 +26,7 @@ import java.util.Date;
import java.util.Locale;
import java.util.TimeZone;
+import org.ofbiz.base.util.ObjectType;
import org.ofbiz.base.util.TimeDuration;
import org.ofbiz.base.util.UtilDateTime;
import org.ofbiz.base.util.UtilValidate;
@@ -39,6 +40,11 @@ public class DateTimeConverters implemen
super(Calendar.class, Date.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && targetClass == this.getTargetClass();
+ }
+
public Date convert(Calendar obj) throws ConversionException {
return obj.getTime();
}
@@ -72,6 +78,11 @@ public class DateTimeConverters implemen
super(Calendar.class, Timestamp.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && targetClass == this.getTargetClass();
+ }
+
public Timestamp convert(Calendar obj) throws ConversionException {
return new Timestamp(obj.getTimeInMillis());
}
@@ -102,11 +113,31 @@ public class DateTimeConverters implemen
super(java.util.Date.class, java.sql.Date.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return sourceClass == this.getSourceClass() && targetClass == this.getTargetClass();
+ }
+
public java.sql.Date convert(java.util.Date obj) throws ConversionException {
return new java.sql.Date(obj.getTime());
}
}
+ public static class DateToSqlTime extends AbstractConverter<java.util.Date, java.sql.Time> {
+ public DateToSqlTime() {
+ super(java.util.Date.class, java.sql.Time.class);
+ }
+
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return sourceClass == this.getSourceClass() && targetClass == this.getTargetClass();
+ }
+
+ public java.sql.Time convert(java.util.Date obj) throws ConversionException {
+ return new java.sql.Time(obj.getTime());
+ }
+ }
+
public static class DateToString extends GenericLocalizedConverter<java.util.Date, String> {
public DateToString() {
super(java.util.Date.class, String.class);
@@ -133,6 +164,11 @@ public class DateTimeConverters implemen
super(java.util.Date.class, java.sql.Timestamp.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && targetClass == this.getTargetClass();
+ }
+
public java.sql.Timestamp convert(java.util.Date obj) throws ConversionException {
return new java.sql.Timestamp(obj.getTime());
}
@@ -237,6 +273,11 @@ public class DateTimeConverters implemen
super(Number.class, java.util.Date.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && targetClass == this.getTargetClass();
+ }
+
public java.util.Date convert(Number obj) throws ConversionException {
return new java.util.Date(obj.longValue());
}
@@ -257,6 +298,11 @@ public class DateTimeConverters implemen
super(Number.class, java.sql.Date.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && targetClass == this.getTargetClass();
+ }
+
public java.sql.Date convert(Number obj) throws ConversionException {
return new java.sql.Date(obj.longValue());
}
@@ -267,6 +313,11 @@ public class DateTimeConverters implemen
super(Number.class, java.sql.Time.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && targetClass == this.getTargetClass();
+ }
+
public java.sql.Time convert(Number obj) throws ConversionException {
return new java.sql.Time(obj.longValue());
}
@@ -277,6 +328,11 @@ public class DateTimeConverters implemen
super(Number.class, java.sql.Timestamp.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && targetClass == this.getTargetClass();
+ }
+
public java.sql.Timestamp convert(Number obj) throws ConversionException {
return new java.sql.Timestamp(obj.longValue());
}
@@ -287,6 +343,11 @@ public class DateTimeConverters implemen
super(java.sql.Date.class, java.util.Date.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return sourceClass == this.getSourceClass() && targetClass == this.getTargetClass();
+ }
+
public java.util.Date convert(java.sql.Date obj) throws ConversionException {
return new java.util.Date(obj.getTime());
}
@@ -330,6 +391,11 @@ public class DateTimeConverters implemen
super(java.sql.Date.class, java.sql.Time.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return sourceClass == this.getSourceClass() && targetClass == this.getTargetClass();
+ }
+
public java.sql.Time convert(java.sql.Date obj) throws ConversionException {
throw new ConversionException("Conversion from Date to Time not supported");
}
@@ -340,6 +406,11 @@ public class DateTimeConverters implemen
super(java.sql.Date.class, java.sql.Timestamp.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return sourceClass == this.getSourceClass() && targetClass == this.getTargetClass();
+ }
+
public java.sql.Timestamp convert(java.sql.Date obj) throws ConversionException {
return new java.sql.Timestamp(obj.getTime());
}
@@ -362,6 +433,11 @@ public class DateTimeConverters implemen
super(java.sql.Time.class, java.sql.Date.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return sourceClass == this.getSourceClass() && targetClass == this.getTargetClass();
+ }
+
public java.sql.Date convert(java.sql.Time obj) throws ConversionException {
throw new ConversionException("Conversion from Time to Date not supported");
}
@@ -474,6 +550,11 @@ public class DateTimeConverters implemen
super(String.class, java.sql.Date.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && targetClass == this.getTargetClass();
+ }
+
public java.sql.Date convert(String obj, Locale locale, TimeZone timeZone, String formatString) throws ConversionException {
String trimStr = obj.trim();
if (trimStr.length() == 0) {
@@ -498,6 +579,11 @@ public class DateTimeConverters implemen
super(String.class, java.sql.Time.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && targetClass == this.getTargetClass();
+ }
+
public java.sql.Time convert(String obj, Locale locale, TimeZone timeZone, String formatString) throws ConversionException {
String trimStr = obj.trim();
if (trimStr.length() == 0) {
@@ -522,6 +608,11 @@ public class DateTimeConverters implemen
super(String.class, java.sql.Timestamp.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return ObjectType.instanceOf(sourceClass, this.getSourceClass()) && targetClass == this.getTargetClass();
+ }
+
public java.sql.Timestamp convert(String obj, Locale locale, TimeZone timeZone, String formatString) throws ConversionException {
String str = obj.trim();
if (str.length() == 0) {
@@ -587,6 +678,11 @@ public class DateTimeConverters implemen
super(java.sql.Timestamp.class, java.util.Date.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return sourceClass == this.getSourceClass() && targetClass == this.getTargetClass();
+ }
+
public java.util.Date convert(java.sql.Timestamp obj) throws ConversionException {
return new java.sql.Timestamp(obj.getTime());
}
@@ -609,11 +705,31 @@ public class DateTimeConverters implemen
super(java.sql.Timestamp.class, java.sql.Date.class);
}
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return sourceClass == this.getSourceClass() && targetClass == this.getTargetClass();
+ }
+
public java.sql.Date convert(java.sql.Timestamp obj) throws ConversionException {
return new java.sql.Date(obj.getTime());
}
}
+ public static class TimestampToSqlTime extends AbstractConverter<java.sql.Timestamp, java.sql.Time> {
+ public TimestampToSqlTime() {
+ super(java.sql.Timestamp.class, java.sql.Time.class);
+ }
+
+ @Override
+ public boolean canConvert(Class<?> sourceClass, Class<?> targetClass) {
+ return sourceClass == this.getSourceClass() && targetClass == this.getTargetClass();
+ }
+
+ public java.sql.Time convert(java.sql.Timestamp obj) throws ConversionException {
+ return new java.sql.Time(obj.getTime());
+ }
+ }
+
public static class TimeZoneToString extends AbstractConverter<TimeZone, String> {
public TimeZoneToString() {
super(TimeZone.class, String.class);