1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 package org.openehealth.ipf.platform.camel.ihe.mllp.core.intercept;
17
18 import org.apache.camel.Exchange;
19 import org.apache.camel.Message;
20 import org.openehealth.ipf.commons.ihe.core.payload.PayloadLoggerBase;
21 import org.openehealth.ipf.commons.ihe.core.payload.PayloadLoggingContext;
22
23
24
25
26
27
28
29 public class MllpPayloadLoggerBase extends PayloadLoggerBase<PayloadLoggingContext> {
30
31 public void logPayload(Exchange exchange, boolean useOutMessage) {
32 Long sequenceId = exchange.getProperty(SEQUENCE_ID_PROPERTY_NAME, Long.class);
33 if (sequenceId == null) {
34 sequenceId = getNextSequenceId();
35 exchange.setProperty(SEQUENCE_ID_PROPERTY_NAME, sequenceId);
36 }
37
38 PayloadLoggingContext spelContext = new PayloadLoggingContext(sequenceId);
39
40 Message message = useOutMessage ? exchange.getOut() : exchange.getIn();
41 doLogPayload(
42 spelContext,
43 exchange.getProperty(Exchange.CHARSET_NAME, String.class),
44 message.getBody(String.class));
45 }
46
47 }