1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.platform.camel.cda.converter;
17
18 import java.io.ByteArrayInputStream;
19 import java.io.InputStream;
20 import java.nio.charset.Charset;
21
22 import org.apache.camel.Converter;
23 import org.apache.camel.Exchange;
24 import org.openehealth.ipf.modules.cda.CDAR2Renderer;
25 import org.openhealthtools.mdht.uml.cda.ClinicalDocument;
26
27 @Converter
28 public class MdhtTypeConverter {
29
30 private final static CDAR2Renderer renderer = new CDAR2Renderer();
31
32 @Converter
33 public static InputStream toInputStream(ClinicalDocument document, Exchange exchange) {
34 Charset charset = Charset.defaultCharset();
35 if (exchange != null) {
36 String charsetName = exchange.getProperty(Exchange.CHARSET_NAME, String.class);
37 if (charsetName != null) {
38 charset = Charset.forName(charsetName);
39 }
40 }
41 return new ByteArrayInputStream(renderer.render(document, (Object[]) null).getBytes(charset));
42 }
43
44 @Converter
45 public static String toString(ClinicalDocument document, Exchange exchange) {
46 return renderer.render(document,(Object[]) null);
47 }
48 }