]>
git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.server/src/main/java/org/argeo/slc/web/mvc/XsltMarshallerView.java
6701ae118bd85f4738f15e5bfe7daa26f60ff267
1 package org
.argeo
.slc
.web
.mvc
;
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
;
8 import org
.argeo
.slc
.SlcException
;
9 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResult
;
10 import org
.argeo
.slc
.core
.test
.tree
.TreeTestResultCollection
;
11 import org
.argeo
.slc
.process
.SlcExecution
;
12 import org
.springframework
.oxm
.Marshaller
;
13 import org
.springframework
.web
.servlet
.view
.xslt
.XsltView
;
14 import org
.w3c
.dom
.Document
;
16 public class XsltMarshallerView
extends XsltView
{
18 private Marshaller marshaller
;
21 protected Class
<?
>[] getSourceTypes() {
22 return new Class
[] { TreeTestResult
.class,
23 TreeTestResultCollection
.class, SlcExecution
.class };
27 protected Source
convertSource(Object source
) throws Exception
{
28 Document document
= DocumentBuilderFactory
.newInstance()
29 .newDocumentBuilder().newDocument();
30 DOMResult result
= new DOMResult(document
);
31 if (!marshaller
.supports(source
.getClass()))
32 throw new SlcException("Object of type " + source
.getClass()
34 marshaller
.marshal(source
, result
);
35 return new DOMSource(result
.getNode());
38 public void setMarshaller(Marshaller marshaller
) {
39 this.marshaller
= marshaller
;