It might be beneficial to look at the issue a little more closely.
The "pre-defined format in UtilDateTime" is actually the JDBC String
format used by all JDBC drivers. It is not an arbitrary or OFBiz-defined
format. If you call Timestamp.toString() you will get a String formatted
in JDBC format. So conversley, if you want to convert a String to a
Timestamp, then the String should be in the proper JDBC format.
From my perspective, if a service requires a Timestamp parameter, then
it is up to the caller to format a String data type properly so that the
service will accept it.
-Adrian
On 4/11/2011 4:41 PM, Andrew Zeneski wrote:
I hate that it breaks a pattern, but implementing the reverse would really
be pointless; the whole point of this is to catch dates passed to services
that are not formatted in pre-definied format in UtilDateTime (i.e. no
milliseconds, etc) that would be caught otherwise.
This is just a failsafe for those conditions.
Andrew
On Thu, Apr 7, 2011 at 3:59 PM, Adrian Crum<
[email protected]> wrote:
-------- Original Message -------- Subject: Re: svn commit: r1089946 -
/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java
Date:
Thu, 07 Apr 2011 12:30:37 -0700 From: Adrian Crum
<[email protected]> <[email protected]>
Reply-To:
[email protected] Organization: Sandglass Software To:
[email protected]
Keep in mind that this change breaks one of the converter design goals:
Conversions should be bi-directional.
-Adrian
On 4/7/2011 12:27 PM, [email protected] wrote:
Author: jaz
Date: Thu Apr 7 19:27:53 2011
New Revision: 1089946
URL: http://svn.apache.org/viewvc?rev=1089946&view=rev
Log:
added fall back to default date formatter when conversion fails before
Modified:
ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java
Modified:
ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java
URL:
http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java?rev=1089946&r1=1089945&r2=1089946&view=diff
==============================================================================
---
ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java
(original)
+++
ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/DateTimeConverters.java
Thu Apr 7 19:27:53 2011
@@ -522,7 +522,16 @@ public class DateTimeConverters implemen
try {
return new java.sql.Timestamp(df.parse(str).getTime());
} catch (ParseException e) {
- throw new ConversionException(e);
+ // before throwing an exception, try a generic format first
+ df = DateFormat.getDateTimeInstance();
+ if (timeZone != null) {
+ df.setTimeZone(timeZone);
+ }
+ try {
+ return new java.sql.Timestamp(df.parse(str).getTime());
+ } catch (ParseException e2) {
+ throw new ConversionException(e);
+ }
}
}
}