From 872012de450226181f464b2a109399b94188708c Mon Sep 17 00:00:00 2001 From: "Donald J. Brown" Date: Sat, 19 Apr 2008 14:01:15 +0000 Subject: [PATCH] Fixing improper render of boolean values for xslt result WW-2457 git-svn-id: https://svn.apache.org/repos/asf/struts/struts2/trunk@649814 13f79535-47bb-0310-9956-ffa450edef68 --- .../struts2/views/xslt/AdapterFactory.java | 2 +- .../struts2/views/xslt/XSLTResultTest.java | 18 +++++++++++++++++- 2 files changed, 18 insertions(+), 2 deletions(-) diff --git a/core/src/main/java/org/apache/struts2/views/xslt/AdapterFactory.java b/core/src/main/java/org/apache/struts2/views/xslt/AdapterFactory.java index d942e556c..f4101deb9 100644 --- a/core/src/main/java/org/apache/struts2/views/xslt/AdapterFactory.java +++ b/core/src/main/java/org/apache/struts2/views/xslt/AdapterFactory.java @@ -146,7 +146,7 @@ public class AdapterFactory { if (valueType.isArray()) adapterClass = ArrayAdapter.class; - else if (value instanceof String || value instanceof Number || valueType.isPrimitive()) + else if (value instanceof String || value instanceof Number || value instanceof Boolean || valueType.isPrimitive()) adapterClass = StringAdapter.class; else if (value instanceof Collection) adapterClass = CollectionAdapter.class; diff --git a/core/src/test/java/org/apache/struts2/views/xslt/XSLTResultTest.java b/core/src/test/java/org/apache/struts2/views/xslt/XSLTResultTest.java index 08436dcf7..0a8f968ae 100644 --- a/core/src/test/java/org/apache/struts2/views/xslt/XSLTResultTest.java +++ b/core/src/test/java/org/apache/struts2/views/xslt/XSLTResultTest.java @@ -106,7 +106,7 @@ public class XSLTResultTest extends StrutsTestCase { assertTrue(out.indexOf(" -1); assertTrue(out.indexOf("Hello Santa Claus how are you?") > -1); } - + public void testTransform3() throws Exception { result.setParse(false); result.setLocation("XSLTResultTest3.xsl"); @@ -120,6 +120,18 @@ public class XSLTResultTest extends StrutsTestCase { assertTrue(out.indexOf("XWork not in Action by Superman") > -1); } + public void testTransformWithBoolean() throws Exception { + result.setParse(false); + result.setLocation("XSLTResultTest5.xsl"); + result.execute(mai); + + String out = response.getContentAsString(); + assertTrue(out.startsWith("")); + assertTrue(out.indexOf(" -1); + assertTrue(out.indexOf("Hello Santa Claus how are you?") > -1); + assertTrue(out.indexOf("You are active: true") > -1); + } + public void testTransform4WithDocumentInclude() throws Exception { result = new XSLTResult(){ protected URIResolver getURIResolver() { @@ -186,6 +198,10 @@ public class XSLTResultTest extends StrutsTestCase { public String getUsername() { return "Santa Claus"; } + + public boolean isActive() { + return true; + } public List getBooks() { List list = new ArrayList();