]> git.argeo.org Git - gpl/argeo-slc.git/blobdiff - runtime/org.argeo.slc.support.castor/src/main/java/org/argeo/slc/xml/test/tree/XsltReportGenerator.java
Restructured SLC building
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.castor / src / main / java / org / argeo / slc / xml / test / tree / XsltReportGenerator.java
index 51ad392b7cba99ef659c96ab7d02263c9015babf..0a99356dfc299cf414942b1b43485f7aa75b8026 100644 (file)
@@ -1,9 +1,26 @@
+/*\r
+ * Copyright (C) 2007-2012 Mathieu Baudier\r
+ *\r
+ * Licensed under the Apache License, Version 2.0 (the "License");\r
+ * you may not use this file except in compliance with the License.\r
+ * You may obtain a copy of the License at\r
+ *\r
+ *         http://www.apache.org/licenses/LICENSE-2.0\r
+ *\r
+ * Unless required by applicable law or agreed to in writing, software\r
+ * distributed under the License is distributed on an "AS IS" BASIS,\r
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r
+ * See the License for the specific language governing permissions and\r
+ * limitations under the License.\r
+ */\r
 package org.argeo.slc.xml.test.tree;\r
 \r
 import java.io.File;\r
 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
@@ -29,8 +46,9 @@ import org.argeo.slc.core.test.tree.TreeTestResult;
 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
@@ -45,6 +63,8 @@ public class XsltReportGenerator implements TestResultListener<TreeTestResult> {
 \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
@@ -80,6 +100,13 @@ public class XsltReportGenerator implements TestResultListener<TreeTestResult> {
 \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
@@ -154,4 +181,8 @@ public class XsltReportGenerator implements TestResultListener<TreeTestResult> {
                this.logXml = logXml;\r
        }\r
 \r
+       public void setXsltParameters(Map<String, String> xsltParameters) {\r
+               this.xsltParameters = xsltParameters;\r
+       }\r
+\r
 }\r