import javax.xml.transform.dom.DOMResult;\r
import javax.xml.transform.dom.DOMSource;\r
\r
+import org.argeo.slc.core.SlcException;\r
+import org.argeo.slc.core.process.SlcExecution;\r
+import org.argeo.slc.core.test.tree.TreeTestResult;\r
+import org.argeo.slc.core.test.tree.TreeTestResultCollection;\r
import org.springframework.oxm.Marshaller;\r
import org.springframework.web.servlet.view.xslt.XsltView;\r
import org.w3c.dom.Document;\r
\r
-import org.argeo.slc.core.test.tree.TreeTestResult;\r
-\r
public class XsltMarshallerView extends XsltView {\r
\r
private Marshaller marshaller;\r
- \r
- \r
\r
@Override\r
protected Class<?>[] getSourceTypes() {\r
- return new Class[]{TreeTestResult.class};\r
+ return new Class[] { TreeTestResult.class,\r
+ TreeTestResultCollection.class, SlcExecution.class };\r
}\r
\r
@Override\r
protected Source convertSource(Object source) throws Exception {\r
- Document document = DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();\r
+ Document document = DocumentBuilderFactory.newInstance()\r
+ .newDocumentBuilder().newDocument();\r
DOMResult result = new DOMResult(document);\r
+ if (!marshaller.supports(source.getClass()))\r
+ throw new SlcException("Object of type " + source.getClass()\r
+ + " not supported.");\r
marshaller.marshal(source, result);\r
return new DOMSource(result.getNode());\r
}\r
\r
-\r
-\r
public void setMarshaller(Marshaller marshaller) {\r
this.marshaller = marshaller;\r
}\r
\r
- \r
}\r