From c21ebdcf2d9e1e3d0df737dc29b9763a078d84dc Mon Sep 17 00:00:00 2001 From: Mathieu Baudier Date: Thu, 22 Jan 2009 07:26:09 +0000 Subject: [PATCH 1/1] NEW - bug 105: Pass parameters to XsltReportGenerator https://www.spartadn.com/bugzilla/show_bug.cgi?id=105 git-svn-id: https://svn.argeo.org/slc/trunk@2112 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc --- .../src/slc/conf/runtime/default.xml | 34 +++++++++++-------- .../xml/test/tree/XsltReportGenerator.java | 18 +++++++++- .../argeo/slc/core/test/tree/basicReport.xslt | 3 ++ 3 files changed, 39 insertions(+), 16 deletions(-) diff --git a/examples/org.argeo.slc.example01/src/slc/conf/runtime/default.xml b/examples/org.argeo.slc.example01/src/slc/conf/runtime/default.xml index eb7204a9d..520e17547 100644 --- a/examples/org.argeo.slc.example01/src/slc/conf/runtime/default.xml +++ b/examples/org.argeo.slc.example01/src/slc/conf/runtime/default.xml @@ -5,34 +5,38 @@ - + - - - - - - + + + + + + - + - + - + - + + + + + + + + + diff --git a/runtime/org.argeo.slc.support.castor/src/main/java/org/argeo/slc/xml/test/tree/XsltReportGenerator.java b/runtime/org.argeo.slc.support.castor/src/main/java/org/argeo/slc/xml/test/tree/XsltReportGenerator.java index 51ad392b7..11380875e 100644 --- a/runtime/org.argeo.slc.support.castor/src/main/java/org/argeo/slc/xml/test/tree/XsltReportGenerator.java +++ b/runtime/org.argeo.slc.support.castor/src/main/java/org/argeo/slc/xml/test/tree/XsltReportGenerator.java @@ -4,6 +4,8 @@ import java.io.File; import java.io.FileOutputStream; import java.io.InputStream; import java.io.OutputStream; +import java.util.HashMap; +import java.util.Map; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -29,8 +31,9 @@ import org.argeo.slc.core.test.tree.TreeTestResult; import org.argeo.slc.test.TestResultListener; import org.argeo.slc.test.TestResultPart; +/** Build a report based on a tree test result using an XSLT stylesheet. */ public class XsltReportGenerator implements TestResultListener { - private Log log = LogFactory.getLog(getClass()); + private final static Log log = LogFactory.getLog(XsltReportGenerator.class); private DocumentBuilder documentBuilder = null; @@ -45,6 +48,8 @@ public class XsltReportGenerator implements TestResultListener { private Boolean logXml = false; + private Map xsltParameters = new HashMap(); + public void init() { if (templates != null) return; @@ -80,6 +85,13 @@ public class XsltReportGenerator implements TestResultListener { try { Transformer transformer = templates.newTransformer(); + for (String paramKey : xsltParameters.keySet()) { + transformer + .setParameter(paramKey, xsltParameters.get(paramKey)); + if (log.isTraceEnabled()) + log.trace("Set XSLT parameter " + paramKey + " to " + + xsltParameters.get(paramKey)); + } if (documentBuilder == null) documentBuilder = DocumentBuilderFactory.newInstance() @@ -154,4 +166,8 @@ public class XsltReportGenerator implements TestResultListener { this.logXml = logXml; } + public void setXsltParameters(Map xsltParameters) { + this.xsltParameters = xsltParameters; + } + } diff --git a/runtime/org.argeo.slc.support.simple/src/main/resources/org/argeo/slc/core/test/tree/basicReport.xslt b/runtime/org.argeo.slc.support.simple/src/main/resources/org/argeo/slc/core/test/tree/basicReport.xslt index 947cef0f9..37d76295c 100644 --- a/runtime/org.argeo.slc.support.simple/src/main/resources/org/argeo/slc/core/test/tree/basicReport.xslt +++ b/runtime/org.argeo.slc.support.simple/src/main/resources/org/argeo/slc/core/test/tree/basicReport.xslt @@ -5,6 +5,8 @@ exclude-result-prefixes="slc"> + + @@ -16,6 +18,7 @@ Result +

Conf dir:

-- 2.39.2