01: package org.enhydra.snapper.business;
02:
03: /**
04: * @author Milin Radivoj
05: */
06: import javax.xml.transform.stream.StreamSource;
07: import javax.xml.transform.stream.StreamResult;
08: import javax.xml.transform.TransformerFactory;
09: import javax.xml.transform.Transformer;
10:
11: import org.enhydra.snapper.spec.TransformManager;
12: import org.enhydra.snapper.Log;
13: import org.enhydra.snapper.spec.*;
14:
15: import java.io.*;
16:
17: public class TransformManagerImpl implements TransformManager {
18:
19: public String transform(String content, String xslPath)
20: throws Exception {
21:
22: StringWriter stringWriter = null;
23:
24: try {
25: TransformerFactory tFactory = TransformerFactory
26: .newInstance();
27: Transformer transformer = tFactory
28: .newTransformer(new StreamSource(xslPath));
29:
30: stringWriter = new StringWriter();
31: transformer.transform(new StreamSource(new StringReader(
32: content)),
33: new javax.xml.transform.stream.StreamResult(
34: stringWriter));
35: String result = stringWriter.toString();
36: return result;
37: } catch (Exception e) {
38: Log.logException(e);
39: return new String();
40: } finally {
41:
42: if (stringWriter != null) {
43: try {
44: stringWriter.close();
45: } catch (Exception e) {
46: }
47:
48: stringWriter = null;
49: }
50:
51: }
52: }
53:
54: }
|