]> 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
Move to SLC legacy
[gpl/argeo-slc.git] / runtime / org.argeo.slc.support.castor / src / main / java / org / argeo / slc / xml / test / tree / XsltReportGenerator.java
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
deleted file mode 100644 (file)
index 0a99356..0000000
+++ /dev/null
@@ -1,188 +0,0 @@
-/*\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
-import javax.xml.transform.Templates;\r
-import javax.xml.transform.Transformer;\r
-import javax.xml.transform.TransformerFactory;\r
-import javax.xml.transform.dom.DOMResult;\r
-import javax.xml.transform.dom.DOMSource;\r
-import javax.xml.transform.stream.StreamResult;\r
-import javax.xml.transform.stream.StreamSource;\r
-\r
-import org.springframework.core.io.Resource;\r
-import org.springframework.oxm.Marshaller;\r
-import org.springframework.xml.transform.StringResult;\r
-import org.w3c.dom.Document;\r
-\r
-import org.apache.commons.io.IOUtils;\r
-import org.apache.commons.logging.Log;\r
-import org.apache.commons.logging.LogFactory;\r
-\r
-import org.argeo.slc.SlcException;\r
-import org.argeo.slc.core.test.tree.TreeTestResult;\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 final static Log log = LogFactory.getLog(XsltReportGenerator.class);\r
-\r
-       private DocumentBuilder documentBuilder = null;\r
-\r
-       private Resource xsltStyleSheet;\r
-\r
-       private Templates templates;\r
-\r
-       private Marshaller marshaller;\r
-\r
-       private String outputDir;\r
-       private String outputFileExtension = "html";\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
-               if (xsltStyleSheet == null)\r
-                       throw new SlcException("XSLT style sheet not specified.");\r
-\r
-               InputStream in = null;\r
-               try {\r
-                       TransformerFactory transformerFactory = TransformerFactory\r
-                                       .newInstance();\r
-                       in = xsltStyleSheet.getInputStream();\r
-                       StreamSource xsltSource = new StreamSource(in);\r
-                       templates = transformerFactory.newTemplates(xsltSource);\r
-               } catch (Exception e) {\r
-                       throw new SlcException("Could not initialize templates", e);\r
-               } finally {\r
-                       IOUtils.closeQuietly(in);\r
-               }\r
-       }\r
-\r
-       public void resultPartAdded(TreeTestResult testResult,\r
-                       TestResultPart testResultPart) {\r
-\r
-       }\r
-\r
-       public void close(TreeTestResult testResult) {\r
-               if (templates == null)\r
-                       throw new SlcException("XSLT template not initialized");\r
-\r
-               File file = getFile(testResult);\r
-               OutputStream out = null;\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
-                                               .newDocumentBuilder();\r
-\r
-                       Document document = documentBuilder.newDocument();\r
-                       DOMResult marshallResult = new DOMResult(document);\r
-                       marshaller.marshal(testResult, marshallResult);\r
-\r
-                       if (logXml) {\r
-                               Transformer identityTransformer = TransformerFactory\r
-                                               .newInstance().newTransformer();\r
-                               StringResult xmlResult = new StringResult();\r
-                               identityTransformer.transform(new DOMSource(marshallResult\r
-                                               .getNode()), xmlResult);\r
-                               log.info("Marshalled XML:\n" + xmlResult);\r
-                       }\r
-\r
-                       DOMSource transfoSource = new DOMSource(marshallResult.getNode());\r
-\r
-                       if (outputDir != null) {\r
-                               File dir = new File(outputDir);\r
-                               dir.mkdirs();\r
-                               out = new FileOutputStream(file);\r
-                               StreamResult outputResult = new StreamResult(out);\r
-                               transformer.transform(transfoSource, outputResult);\r
-                       } else {\r
-                               // print on console if no output dir\r
-                               StringResult result = new StringResult();\r
-                               transformer.transform(transfoSource, result);\r
-                               log.info("Generated report:\n" + result);\r
-                       }\r
-               } catch (Exception e) {\r
-                       throw new SlcException(\r
-                                       "Could not transform test result to " + file, e);\r
-               } finally {\r
-                       IOUtils.closeQuietly(out);\r
-               }\r
-       }\r
-\r
-       public Resource getXsltStyleSheet() {\r
-               return xsltStyleSheet;\r
-       }\r
-\r
-       public void setXsltStyleSheet(Resource xsltStyleSheet) {\r
-               this.xsltStyleSheet = xsltStyleSheet;\r
-       }\r
-\r
-       public void setTemplates(Templates templates) {\r
-               this.templates = templates;\r
-       }\r
-\r
-       public void setMarshaller(Marshaller marshaller) {\r
-               this.marshaller = marshaller;\r
-       }\r
-\r
-       public void setOutputDir(String outputDir) {\r
-               this.outputDir = outputDir;\r
-       }\r
-\r
-       public void setOutputFileExtension(String outputFileExtension) {\r
-               this.outputFileExtension = outputFileExtension;\r
-       }\r
-\r
-       protected File getFile(TreeTestResult result) {\r
-               Long time = System.currentTimeMillis();\r
-               return new File(outputDir + File.separator + time + "-"\r
-                               + result.getUuid() + "." + outputFileExtension);\r
-       }\r
-\r
-       public void setLogXml(Boolean logXml) {\r
-               this.logXml = logXml;\r
-       }\r
-\r
-       public void setXsltParameters(Map<String, String> xsltParameters) {\r
-               this.xsltParameters = xsltParameters;\r
-       }\r
-\r
-}\r