]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms/src/org/argeo/cms/integration/XslTemplate.java
Move various CMS extensions to Argeo SLC.
[lgpl/argeo-commons.git] / org.argeo.cms / src / org / argeo / cms / integration / XslTemplate.java
diff --git a/org.argeo.cms/src/org/argeo/cms/integration/XslTemplate.java b/org.argeo.cms/src/org/argeo/cms/integration/XslTemplate.java
deleted file mode 100644 (file)
index c9802a2..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-package org.argeo.cms.integration;
-
-import java.io.ByteArrayInputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import javax.jcr.Node;
-import javax.jcr.RepositoryException;
-import javax.xml.transform.Result;
-import javax.xml.transform.Source;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerConfigurationException;
-import javax.xml.transform.TransformerException;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.TransformerFactoryConfigurationError;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-public class XslTemplate {
-       private Transformer transformer;
-
-       public XslTemplate(InputStream in, String systemId) {
-               this(loadTransformer(in, systemId));
-       }
-
-       public XslTemplate(Transformer transformer) {
-               this.transformer = transformer;
-       }
-
-       private static Transformer loadTransformer(InputStream in, String systemId) {
-               try {
-                       TransformerFactory tFactory = TransformerFactory.newInstance();
-                       StreamSource stylesource = new StreamSource(in, systemId);
-                       return tFactory.newTransformer(stylesource);
-               } catch (TransformerConfigurationException | TransformerFactoryConfigurationError e) {
-                       throw new IllegalArgumentException("Cannot initialise stylesheet with systemId " + systemId, e);
-               }
-       }
-
-       public synchronized void apply(Node node, OutputStream out) {
-               // TODO use a pool of Transformer instead of synchronized
-               try (ByteArrayOutputStream xml = new ByteArrayOutputStream()) {
-                       node.getSession().exportDocumentView(node.getPath(), xml, true, false);
-                       try (ByteArrayInputStream xmlIn = new ByteArrayInputStream(xml.toByteArray())) {
-                               Source source = new StreamSource(xmlIn);
-                               Result results = new StreamResult(out);
-                               transformer.transform(source, results);
-                       }
-               } catch (IOException | RepositoryException | TransformerException e) {
-                       throw new RuntimeException("Cannot process XSL template on " + node, e);
-               }
-       }
-}