Go for it if you want Sergiu, although I don't think we should spend
lot of time on this. I'm just fixing it the error reporting since it's
causing unwarranted trouble when migrating databases to 1.2.
-Vincent
On Feb 6, 2008, at 12:58 PM, Sergiu Dumitriu wrote:
> We could use commons-lang/DateUtils.parse, which accepts an array of
> patterns, and tries them in order.
>
> vmassol (SVN) wrote:
>> Author: vmassol
>> Date: 2008-02-06 12:47:28 +0100 (Wed, 06 Feb 2008)
>> New Revision: 7312
>>
>> Modified:
>> xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/xwiki/
>> objects/classes/DateClass.java
>> Log:
>> Better error reporting. We should never output stack trace for non
>> fatal errors.
>>
>>
>>
>> Modified: xwiki-platform/core/trunk/xwiki-core/src/main/java/com/
>> xpn/xwiki/objects/classes/DateClass.java
>> ===================================================================
>> --- xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/
>> xwiki/objects/classes/DateClass.java 2008-02-06 11:16:03 UTC (rev
>> 7311)
>> +++ xwiki-platform/core/trunk/xwiki-core/src/main/java/com/xpn/
>> xwiki/objects/classes/DateClass.java 2008-02-06 11:47:28 UTC (rev
>> 7312)
>> @@ -31,6 +31,8 @@
>> import com.xpn.xwiki.web.XWikiMessageTool;
>> import org.apache.ecs.xhtml.input;
>> import org.apache.ecs.xhtml.link;
>> +import org.apache.commons.logging.Log;
>> +import org.apache.commons.logging.LogFactory;
>> import org.dom4j.Element;
>>
>> import java.text.ParseException;
>> @@ -39,9 +41,12 @@
>> import java.util.Locale;
>> import java.util.Map;
>>
>> -public class DateClass extends PropertyClass {
>> +public class DateClass extends PropertyClass
>> +{
>> + private static final Log LOG =
>> LogFactory.getLog(DateClass.class);
>>
>> - public DateClass(PropertyMetaClass wclass) {
>> + public DateClass(PropertyMetaClass wclass)
>> + {
>> super("date", "Date", wclass);
>> setSize(20);
>> setDateFormat("dd/MM/yyyy HH:mm:ss");
>> @@ -125,16 +130,23 @@
>> return property;
>> }
>>
>> + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd
>> HH:mm:ss.S");
>> try {
>> - SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-
>> dd HH:mm:ss.S");
>> property.setValue(sdf.parse(value));
>> } catch (ParseException e) {
>> + SimpleDateFormat sdf2 = new SimpleDateFormat("EEE MMM
>> d HH:mm:ss z yyyy", Locale.US);
>> try {
>> - e.printStackTrace();
>> - SimpleDateFormat sdf = new SimpleDateFormat("EEE
>> MMM d HH:mm:ss z yyyy", Locale.US);
>> - property.setValue(sdf.parse(value));
>> + if (LOG.isWarnEnabled()) {
>> + LOG.warn("Failed to parse date [" + value + "]
>> using format ["
>> + + sdf.toString() + "]. Trying again with
>> format ["
>> + + sdf2.toString() + "]");
>> + }
>> + property.setValue(sdf2.parse(value));
>> } catch (ParseException e2) {
>> - e2.printStackTrace();
>> + if (LOG.isWarnEnabled()) {
>> + LOG.warn("Failed to parse date [" + value + "]
>> using format ["
>> + + sdf2.toString() + "]. Defaulting to the
>> current date.");
>> + }
>> property.setValue(new Date());
>> }
>> }
>>
>
> _______________________________________________
> devs mailing list
> [email protected]
> http://lists.xwiki.org/mailman/listinfo/devs
_______________________________________________
devs mailing list
[email protected]
http://lists.xwiki.org/mailman/listinfo/devs