Merge pull request #574 from tobiasstadler/WW-5197

WW-5197 Adds support for java.sql.Date
This commit is contained in:
Lukasz Lenart
2022-07-07 14:06:22 +02:00
committed by GitHub
2 changed files with 25 additions and 1 deletions
@@ -293,7 +293,9 @@ public class Date extends ContextBean {
final ZoneId tz = getTimeZone();
// find the name on the valueStack
Object dateObject = findValue(name);
if (dateObject instanceof java.util.Date) {
if (dateObject instanceof java.sql.Date) {
date = ((java.sql.Date) dateObject).toLocalDate().atStartOfDay(tz);
} else if (dateObject instanceof java.util.Date) {
date = ((java.util.Date) dateObject).toInstant().atZone(tz);
} else if (dateObject instanceof Calendar) {
date = ((Calendar) dateObject).toInstant().atZone(tz);
@@ -81,6 +81,28 @@ public class DateTest extends StrutsInternalTestCase {
assertEquals(expected, writer.toString());
}
public void testJavaSqlDate() {
// given
Date date = new Date(stack);
date.setDateFormatter(new SimpleDateFormatAdapter());
java.sql.Date now = new java.sql.Date(System.currentTimeMillis());
String expected = SimpleDateFormat.getDateInstance(DateFormat.MEDIUM, ActionContext.getContext().getLocale()).format(now);
context.put("myDate", now);
Writer writer = new StringWriter();
// when
date.setName("myDate");
date.setNice(false);
date.start(writer);
date.end(writer, "");
// then
assertEquals(expected, writer.toString());
}
@Override
public void setUp() throws Exception {
super.setUp();