From 68385d6d84c0c6454341424bdfee82a60b3e8da3 Mon Sep 17 00:00:00 2001 From: ryounes Date: Fri, 8 Apr 2011 21:23:32 +0000 Subject: [PATCH] NIHVIVO-1562 Date dump --- .../ext/dump/BaseDumpDirective.java | 19 ++++- .../ext/dump/DumpDirectiveTest.java | 74 ++++++++++++++++--- 2 files changed, 82 insertions(+), 11 deletions(-) diff --git a/webapp/src/freemarker/ext/dump/BaseDumpDirective.java b/webapp/src/freemarker/ext/dump/BaseDumpDirective.java index 4e5a15966..0b7be7545 100644 --- a/webapp/src/freemarker/ext/dump/BaseDumpDirective.java +++ b/webapp/src/freemarker/ext/dump/BaseDumpDirective.java @@ -123,7 +123,24 @@ public abstract class BaseDumpDirective implements TemplateDirectiveModel { private Map getTemplateModelData(TemplateDateModel model) throws TemplateModelException { Map map = new HashMap(); map.put("type", "Date"); - map.put("dateType", model.getDateType()); + int dateType = model.getDateType(); + + String type; + switch (dateType) { + case TemplateDateModel.DATE: + type = "Date"; + break; + case TemplateDateModel.DATETIME: + type = "DateTime"; + break; + case TemplateDateModel.TIME: + type = "Time"; + break; + default: + type = "Unknown"; + } + map.put("dateType", type); + map.put("value", model.getAsDate()); return map; } diff --git a/webapp/test/freemarker/ext/dump/DumpDirectiveTest.java b/webapp/test/freemarker/ext/dump/DumpDirectiveTest.java index d805685ee..215fb06bb 100644 --- a/webapp/test/freemarker/ext/dump/DumpDirectiveTest.java +++ b/webapp/test/freemarker/ext/dump/DumpDirectiveTest.java @@ -8,7 +8,10 @@ import static junit.framework.Assert.fail; import java.io.IOException; import java.io.StringReader; import java.io.StringWriter; +import java.sql.Time; +import java.sql.Timestamp; import java.util.ArrayList; +import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; @@ -93,23 +96,74 @@ public class DumpDirectiveTest { test(varName, dataModel, expected); } - // RY Test different datetime types @Test - public void dumpDate() { + public void dumpSimpleDate() { - String varName = "tabCount"; - int value = 7; + String varName = "now"; + Date now = new Date(); Map dataModel = new HashMap(); - dataModel.put(varName, value); + dataModel.put(varName, now); Map expected = new HashMap(); expected.put("name", varName); - expected.put("type", "Number"); - expected.put("value", value); + expected.put("type", "Date"); + expected.put("dateType", "Unknown"); + expected.put("value", now); test(varName, dataModel, expected); } - + + @Test + public void dumpDateTime() { + + String varName = "timestamp"; + Timestamp ts = new Timestamp(1302297332043L); + Map dataModel = new HashMap(); + dataModel.put(varName, ts); + + Map expected = new HashMap(); + expected.put("name", varName); + expected.put("type", "Date"); + expected.put("dateType", "DateTime"); + expected.put("value", ts); + + test(varName, dataModel, expected); + } + + @Test + public void dumpSqlDate() { + + String varName = "date"; + java.sql.Date date = new java.sql.Date(1302297332043L); + Map dataModel = new HashMap(); + dataModel.put(varName, date); + + Map expected = new HashMap(); + expected.put("name", varName); + expected.put("type", "Date"); + expected.put("dateType", "Date"); + expected.put("value", date); + + test(varName, dataModel, expected); + } + + @Test + public void dumpTime() { + + String varName = "time"; + Time time = new Time(1302297332043L); + Map dataModel = new HashMap(); + dataModel.put(varName, time); + + Map expected = new HashMap(); + expected.put("name", varName); + expected.put("type", "Date"); + expected.put("dateType", "Time"); + expected.put("value", time); + + test(varName, dataModel, expected); + } + // RY test method and directive types with and without help methods @Test @@ -209,7 +263,7 @@ public class DumpDirectiveTest { } @Test - public void dumpScalarList() { + public void dumpStringList() { String varName = "fruit"; Map dataModel = new HashMap(); @@ -235,7 +289,7 @@ public class DumpDirectiveTest { } @Test - public void dumpScalarArray() { + public void dumpStringArray() { String varName = "fruit"; Map dataModel = new HashMap(); String[] list = { "apples", "bananas", "oranges" };