1 | |
package ca.uhn.hl7v2.hoh.relay; |
2 | |
|
3 | |
import org.springframework.beans.factory.InitializingBean; |
4 | |
|
5 | |
import ca.uhn.hl7v2.hoh.relay.listener.IRelayListener; |
6 | |
import ca.uhn.hl7v2.hoh.relay.sender.IRelaySender; |
7 | |
import ca.uhn.hl7v2.hoh.util.Validate; |
8 | |
import ca.uhn.hl7v2.hoh.util.VersionLogger; |
9 | |
import ca.uhn.hl7v2.protocol.impl.AppRoutingDataImpl; |
10 | |
|
11 | 20 | public class Binder implements InitializingBean { |
12 | |
|
13 | 5 | private static final org.slf4j.Logger ourLog = org.slf4j.LoggerFactory.getLogger(Binder.class); |
14 | |
|
15 | 5 | private static final String ourProductName = "HAPI HL7 over HTTP Relay " + VersionLogger.getVersion(); |
16 | |
|
17 | 20 | private String myMessageType = "*"; |
18 | 20 | private String myProcessingId = "*"; |
19 | |
private IRelayListener myRelayListener; |
20 | |
private IRelaySender myRelaySender; |
21 | 20 | private String myTriggerEvent = "*"; |
22 | 20 | private String myVersionId = "*"; |
23 | |
|
24 | |
|
25 | |
|
26 | |
|
27 | |
public void afterPropertiesSet() throws Exception { |
28 | 20 | Validate.propertySet(myRelayListener, "listener"); |
29 | 20 | Validate.propertySet(myRelaySender, "sender"); |
30 | |
|
31 | 20 | ourLog.info("Binding sender[{}] to listener[{}] for messages with profile[MsgType:{} / MsgTrigger:{} / Version:{} / Processing:{}]", new Object[] { myRelaySender.getBeanName(), myRelayListener.getBeanName(), myMessageType, myTriggerEvent, myVersionId, myProcessingId }); |
32 | |
|
33 | 20 | AppRoutingDataImpl appRoutingData = new AppRoutingDataImpl(myMessageType, myTriggerEvent, myProcessingId, myVersionId); |
34 | 20 | myRelayListener.registerApplication(appRoutingData, myRelaySender); |
35 | 20 | } |
36 | |
|
37 | |
public void setListener(IRelayListener theRelayListener) { |
38 | 20 | myRelayListener = theRelayListener; |
39 | 20 | } |
40 | |
|
41 | |
|
42 | |
|
43 | |
|
44 | |
|
45 | |
public void setSender(IRelaySender theRelaySender) { |
46 | 20 | myRelaySender = theRelaySender; |
47 | 20 | } |
48 | |
|
49 | |
|
50 | |
|
51 | |
|
52 | |
public static String getProductname() { |
53 | 5 | return ourProductName; |
54 | |
} |
55 | |
|
56 | |
} |