From e6a65f5ad0342cbbc3c256bf9e53ac945ee53feb Mon Sep 17 00:00:00 2001 From: rjy7 Date: Wed, 28 Jul 2010 17:48:03 +0000 Subject: [PATCH] NIHVIVO-564 Dump directive --- .../webapp/controller/freemarker/TestController.java | 7 +++++++ .../vitro/webapp/web/directives/DumpDirective.java | 11 ++++++++--- webapp/web/css/dump.css | 6 +++++- .../freemarker/body/partials/dump/dump-array.ftl | 5 ++++- .../freemarker/body/partials/dump/dump-hash.ftl | 5 ++++- .../freemarker/body/partials/dump/dump-string.ftl | 1 - webapp/web/templates/freemarker/body/test.ftl | 1 + 7 files changed, 29 insertions(+), 7 deletions(-) diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TestController.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TestController.java index e4a79aba7..d6bd41130 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TestController.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/controller/freemarker/TestController.java @@ -69,6 +69,13 @@ public class TestController extends FreemarkerHttpServlet { body.put("zoo1", zoo1); body.put("zoo2", zoo2); + // Test recursive dump - array of arrays +// String[] fruitArray = { "apples", "bananas", "strawberries" }; +// String[] animalArray = { "cat", "dog", "mouse" }; +// String[] dayArray = { "Monday", "Tuesday", "Wednesday" }; +// String[][] arrays = { fruitArray, animalArray, dayArray }; +// body.put("arrays", arrays); + body.put("trueStatement", true); body.put("falseStatement", false); diff --git a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/DumpDirective.java b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/DumpDirective.java index 0aaddb2d1..26484daff 100644 --- a/webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/DumpDirective.java +++ b/webapp/src/edu/cornell/mannlib/vitro/webapp/web/directives/DumpDirective.java @@ -54,7 +54,8 @@ public class DumpDirective implements TemplateDirectiveModel { String includeTemplate; Object value = val; String type = null; - + Writer out = env.getOut(); + if (val instanceof SimpleScalar) { includeTemplate = "dump-string.ftl"; type = "string"; @@ -70,6 +71,10 @@ public class DumpDirective implements TemplateDirectiveModel { includeTemplate = "dump-array.ftl"; } else if (val instanceof SimpleHash) { includeTemplate = "dump-hash.ftl"; + // In recursive dump, we've gotten down to a raw string +// } else if (val == null) { +// out.write(var); +// return; } else { includeTemplate = "dump-string.ftl"; value = value.toString(); @@ -83,11 +88,11 @@ public class DumpDirective implements TemplateDirectiveModel { map.put("type", type); map.put("stylesheets", dataModel.get("stylesheets")); + //map.put("dump", this); FreemarkerHelper helper = new FreemarkerHelper(); String output = helper.mergeMapToTemplate(templateName, map, config); - - Writer out = env.getOut(); + out.write(output); } diff --git a/webapp/web/css/dump.css b/webapp/web/css/dump.css index 8f68fafcc..a6fc173e3 100644 --- a/webapp/web/css/dump.css +++ b/webapp/web/css/dump.css @@ -4,7 +4,11 @@ .dump { border-top: 1px solid #ccc; - border-bottom: 2px solid #ccc; + border-bottom: 3px solid #ccc; padding: 1em 0; margin: 1em 0; } + +.dump li { + list-style-type: none; +} diff --git a/webapp/web/templates/freemarker/body/partials/dump/dump-array.ftl b/webapp/web/templates/freemarker/body/partials/dump/dump-array.ftl index 8e7dcb9ae..630b61e21 100644 --- a/webapp/web/templates/freemarker/body/partials/dump/dump-array.ftl +++ b/webapp/web/templates/freemarker/body/partials/dump/dump-array.ftl @@ -6,6 +6,9 @@ Values:
\ No newline at end of file diff --git a/webapp/web/templates/freemarker/body/partials/dump/dump-hash.ftl b/webapp/web/templates/freemarker/body/partials/dump/dump-hash.ftl index b55f33654..5dec2896b 100644 --- a/webapp/web/templates/freemarker/body/partials/dump/dump-hash.ftl +++ b/webapp/web/templates/freemarker/body/partials/dump/dump-hash.ftl @@ -7,6 +7,9 @@ \ No newline at end of file diff --git a/webapp/web/templates/freemarker/body/partials/dump/dump-string.ftl b/webapp/web/templates/freemarker/body/partials/dump/dump-string.ftl index 54300bc33..13c0dd728 100644 --- a/webapp/web/templates/freemarker/body/partials/dump/dump-string.ftl +++ b/webapp/web/templates/freemarker/body/partials/dump/dump-string.ftl @@ -4,4 +4,3 @@ Type: ${type}
Value: ${value}
- diff --git a/webapp/web/templates/freemarker/body/test.ftl b/webapp/web/templates/freemarker/body/test.ftl index 80bfc4dd6..e0d3e7c9d 100644 --- a/webapp/web/templates/freemarker/body/test.ftl +++ b/webapp/web/templates/freemarker/body/test.ftl @@ -51,6 +51,7 @@ <@dump var="fruit" /> <@dump var="trueStatement" /> <@dump var="falseStatement" /> + <@dumpDataModel /> ${stylesheets.addFromTheme("/sstest.css", "/sstest2.css")}