1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.openehealth.ipf.platform.camel.hl7;
18
19 import ca.uhn.hl7v2.HL7Exception;
20 import ca.uhn.hl7v2.model.Message;
21 import org.apache.camel.Exchange;
22 import org.apache.camel.Expression;
23 import org.openehealth.ipf.modules.hl7.HL7v2Exception;
24 import org.openehealth.ipf.modules.hl7.message.MessageUtils;
25
26
27
28
29 class CopyMessageExpression implements Expression {
30
31 public CopyMessageExpression() {}
32
33 @Override
34 public <T> T evaluate(Exchange exchange, Class<T> type) {
35 try {
36 Message msg = HL7v2.bodyMessage(exchange);
37 Message result = MessageUtils.copy(msg);
38 return type.cast(result);
39 } catch (HL7Exception e) {
40 throw new HL7v2Exception(e);
41 }
42
43 }
44 }