X-Git-Url: http://git.argeo.org/?a=blobdiff_plain;ds=inline;f=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fintegration%2FXslTemplate.java;fp=org.argeo.cms%2Fsrc%2Forg%2Fargeo%2Fcms%2Fintegration%2FXslTemplate.java;h=0000000000000000000000000000000000000000;hb=72788789268d2ac01dcb817d134c057307ba6de8;hp=c9802a2f52007966ea22d1a7c1d8d67fbc87673e;hpb=55f74279d7d684988be6e2752dbaa658c76f11e7;p=lgpl%2Fargeo-commons.git 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 index c9802a2f5..000000000 --- a/org.argeo.cms/src/org/argeo/cms/integration/XslTemplate.java +++ /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); - } - } -}