<import
resource="classpath:/org/argeo/slc/core/test/spring/applicationContext.xml" />
- <import
- resource="classpath:/org/argeo/slc/castor/spring/applicationContext.xml" />
+ <import resource="classpath:/org/argeo/slc/castor/spring.xml" />
- <bean id="testResult"
- parent="slcDefault.test.basicTreeTestResult">
- <property name="attributes">
- <map>
- <entry key="test" value="TEST"/>
- </map>
- </property>
+ <bean id="testResult" parent="slcDefault.test.basicTreeTestResult">
+ <property name="attributes">
+ <map>
+ <entry key="test" value="TEST" />
+ </map>
+ </property>
<property name="listeners">
<list merge="true">
- <ref bean="slcDefault.castor.xsltReportGenerator" />
+ <ref bean="customXsltReportGenerator" />
</list>
</property>
</bean>
- <bean id="testResult2"
- parent="slcDefault.test.basicTreeTestResult">
+ <bean id="testResult2" parent="slcDefault.test.basicTreeTestResult">
<property name="listeners">
<list merge="true">
- <ref bean="slcDefault.castor.xsltReportGenerator" />
+ <ref bean="customXsltReportGenerator" />
</list>
</property>
</bean>
- <bean name="executionBuildListener"
- class="org.argeo.slc.ant.SlcExecutionBuildListener">
+ <bean id="customXsltReportGenerator" parent="slcDefault.castor.xsltReportGenerator">
+ <property name="xsltParameters">
+ <map>
+ <entry key="confDir" value="${slc.confDir}" />
+ </map>
+ </property>
+ </bean>
+
+ <bean name="executionBuildListener" class="org.argeo.slc.ant.SlcExecutionBuildListener">
<property name="logLevel" value="INFO" />
<property name="notifiers">
<list>
import java.io.FileOutputStream;\r
import java.io.InputStream;\r
import java.io.OutputStream;\r
+import java.util.HashMap;\r
+import java.util.Map;\r
\r
import javax.xml.parsers.DocumentBuilder;\r
import javax.xml.parsers.DocumentBuilderFactory;\r
import org.argeo.slc.test.TestResultListener;\r
import org.argeo.slc.test.TestResultPart;\r
\r
+/** Build a report based on a tree test result using an XSLT stylesheet. */\r
public class XsltReportGenerator implements TestResultListener<TreeTestResult> {\r
- private Log log = LogFactory.getLog(getClass());\r
+ private final static Log log = LogFactory.getLog(XsltReportGenerator.class);\r
\r
private DocumentBuilder documentBuilder = null;\r
\r
\r
private Boolean logXml = false;\r
\r
+ private Map<String, String> xsltParameters = new HashMap<String, String>();\r
+\r
public void init() {\r
if (templates != null)\r
return;\r
\r
try {\r
Transformer transformer = templates.newTransformer();\r
+ for (String paramKey : xsltParameters.keySet()) {\r
+ transformer\r
+ .setParameter(paramKey, xsltParameters.get(paramKey));\r
+ if (log.isTraceEnabled())\r
+ log.trace("Set XSLT parameter " + paramKey + " to "\r
+ + xsltParameters.get(paramKey));\r
+ }\r
\r
if (documentBuilder == null)\r
documentBuilder = DocumentBuilderFactory.newInstance()\r
this.logXml = logXml;\r
}\r
\r
+ public void setXsltParameters(Map<String, String> xsltParameters) {\r
+ this.xsltParameters = xsltParameters;\r
+ }\r
+\r
}\r
exclude-result-prefixes="slc">\r
\r
<xsl:output method="html" omit-xml-declaration="yes" />\r
+ <xsl:param name="confDir" select="unkown_confDir"/>\r
+ \r
\r
<xsl:template match="/">\r
<html>\r
Result\r
<xsl:value-of select="slc:tree-test-result/@uuid" />\r
</h1>\r
+ <p>Conf dir: <xsl:value-of select="$confDir"/></p>\r
<xsl:for-each\r
select="slc:tree-test-result/slc:result-parts/slc:result-part">\r
<h2>\r