]> git.argeo.org Git - gpl/argeo-slc.git/blob - org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/XsltMarshallerView.java
Improve auto-detection of Spring beans.
[gpl/argeo-slc.git] / org.argeo.slc.server / src / main / java / org / argeo / slc / web / mvc / XsltMarshallerView.java
1 package org.argeo.slc.web.mvc;
2
3 import javax.xml.parsers.DocumentBuilderFactory;
4 import javax.xml.transform.Source;
5 import javax.xml.transform.dom.DOMResult;
6 import javax.xml.transform.dom.DOMSource;
7
8 import org.springframework.oxm.Marshaller;
9 import org.springframework.web.servlet.view.xslt.XsltView;
10 import org.w3c.dom.Document;
11
12 import org.argeo.slc.core.test.tree.TreeTestResult;
13
14 public class XsltMarshallerView extends XsltView {
15
16 private Marshaller marshaller;
17
18 @Override
19 protected Class<?>[] getSourceTypes() {
20 return new Class[] { TreeTestResult.class };
21 }
22
23 @Override
24 protected Source convertSource(Object source) throws Exception {
25 Document document = DocumentBuilderFactory.newInstance()
26 .newDocumentBuilder().newDocument();
27 DOMResult result = new DOMResult(document);
28 marshaller.marshal(source, result);
29 return new DOMSource(result.getNode());
30 }
31
32 public void setMarshaller(Marshaller marshaller) {
33 this.marshaller = marshaller;
34 }
35
36 }