1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 package org.mycore.common.content.transformer;
20
21 import java.io.IOException;
22
23 import org.jdom2.JDOMException;
24 import org.jdom2.output.Format;
25 import org.mycore.common.content.MCRContent;
26 import org.mycore.common.content.MCRJDOMContent;
27 import org.mycore.common.content.MCRXMLContent;
28 import org.xml.sax.SAXException;
29
30
31
32
33
34
35 public class MCRToPrettyXML extends MCRContentTransformer {
36
37 @Override
38 public MCRContent transform(MCRContent source) throws IOException {
39 MCRXMLContent content;
40 try {
41 content = (source instanceof MCRXMLContent ? (MCRXMLContent) source : new MCRJDOMContent(source.asXML()));
42 } catch (JDOMException | SAXException e) {
43 throw new IOException(e);
44 }
45 if (content != source) {
46 content.setName(source.getName());
47 content.setLastModified(source.lastModified());
48 }
49 content.setFormat(Format.getPrettyFormat().setEncoding(getEncoding()));
50 return content;
51 }
52
53 @Override
54 public String getEncoding() {
55 return "UTF-8";
56 }
57
58 @Override
59 protected String getDefaultExtension() {
60 return "xml";
61 }
62
63 @Override
64 public String getMimeType() throws Exception {
65 return "text/xml";
66 }
67 }