From 9ad9404bfac2b936e1b5f0f5e828335bc5a51b48 Mon Sep 17 00:00:00 2001 From: Andrea Ligios Date: Mon, 5 Oct 2015 11:09:48 +0200 Subject: [PATCH 1/3] Changing an erroneous variable's name RFC 3399 does not exist. RFC 3339 is the one used here: https://tools.ietf.org/html/rfc3339 --- .../opensymphony/xwork2/conversion/impl/DateConverter.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java b/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java index 99b1558dc..076817d90 100644 --- a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java +++ b/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java @@ -93,9 +93,9 @@ public class DateConverter extends DefaultTypeConverter { DateFormat d2 = DateFormat.getDateInstance(DateFormat.MEDIUM, locale); DateFormat d3 = DateFormat.getDateInstance(DateFormat.LONG, locale); - DateFormat rfc3399 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); + DateFormat rfc3339 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); - return new DateFormat[]{dt1, dt2, dt3, rfc3399, d1, d2, d3}; + return new DateFormat[]{dt1, dt2, dt3, rfc3339, d1, d2, d3}; } } From d95fc63992f3892519d970b07052776e0401003a Mon Sep 17 00:00:00 2001 From: Andrea Ligios Date: Wed, 7 Oct 2015 16:17:38 +0200 Subject: [PATCH 2/3] Added support for RFC3339 with date part only https://issues.apache.org/jira/browse/WW-4551 --- .../opensymphony/xwork2/conversion/impl/DateConverter.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java b/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java index 076817d90..bde36f773 100644 --- a/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java +++ b/core/src/main/java/com/opensymphony/xwork2/conversion/impl/DateConverter.java @@ -93,9 +93,10 @@ public class DateConverter extends DefaultTypeConverter { DateFormat d2 = DateFormat.getDateInstance(DateFormat.MEDIUM, locale); DateFormat d3 = DateFormat.getDateInstance(DateFormat.LONG, locale); - DateFormat rfc3339 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); + DateFormat rfc3339 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); + DateFormat rfc3339dateOnly = new SimpleDateFormat("yyyy-MM-dd"); - return new DateFormat[]{dt1, dt2, dt3, rfc3339, d1, d2, d3}; + return new DateFormat[]{dt1, dt2, dt3, rfc3339, d1, d2, d3, rfc3339dateOnly}; } } From 366a0b4a5876b26c95eb186487afbd7e84a1cfaf Mon Sep 17 00:00:00 2001 From: cnenning Date: Fri, 9 Oct 2015 11:11:34 +0200 Subject: [PATCH 3/3] added tests for rfc3339 date formats --- .../xwork2/conversion/impl/XWorkConverterTest.java | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/core/src/test/java/com/opensymphony/xwork2/conversion/impl/XWorkConverterTest.java b/core/src/test/java/com/opensymphony/xwork2/conversion/impl/XWorkConverterTest.java index 3d7fc493e..d185c6471 100644 --- a/core/src/test/java/com/opensymphony/xwork2/conversion/impl/XWorkConverterTest.java +++ b/core/src/test/java/com/opensymphony/xwork2/conversion/impl/XWorkConverterTest.java @@ -109,6 +109,13 @@ public class XWorkConverterTest extends XWorkTestCase { assertEquals(date, ts); java.sql.Time time1 = (java.sql.Time) converter.convertValue(context, null, null, null, datetStr, java.sql.Time.class); assertEquals(datet, time1); + + Date dateWithTime = format.parse("01/10/2001 01:02:03"); + Date dateRfc3339 = (Date) converter.convertValue(context, null, null, null, "2001-01-10T01:02:03", Date.class); + assertEquals(dateWithTime, dateRfc3339); + + Date dateRfc3339DateOnly = (Date) converter.convertValue(context, null, null, null, "2001-01-10", Date.class); + assertEquals(date, dateRfc3339DateOnly); } public void testFieldErrorMessageAddedForComplexProperty() {