1 package org.lsst.ccs.bus.jgroups;
2
3 import org.lsst.ccs.bus.BusMessagingLayer;
4 import org.lsst.ccs.bus.TransportManager;
5
6 import java.util.HashMap;
7
8
9
10 public class JGroupsTransportManager extends TransportManager {
11
12 static final HashMap<String, JGroupsBusMessagingLayer> map = new HashMap<String, JGroupsBusMessagingLayer>() ;
13 @Override
14 public BusMessagingLayer getInstance(String protocolString, String propertiesString) {
15
16 if(protocolString.startsWith("jgroups")) {
17 if("jgroups".equals(protocolString)) {
18 protocolString = JGroupsBusMessagingLayer.DEFAULT_UDP_PROTOCOL ;
19 }
20 JGroupsBusMessagingLayer res = map.get(protocolString) ;
21 if(res == null) {
22 JGroupsBusMessagingLayer layer = new JGroupsBusMessagingLayer(protocolString) ;
23 map.put(protocolString, layer) ;
24 return layer ;
25 } else {
26 return res ;
27 }
28
29 } else {
30 return null ;
31 }
32 }
33
34 String getKey(String protocolString, String propertiesString) {
35
36 String props = propertiesString.replace('\n', ';') ;
37 return props.replaceAll("\\s", "") ;
38 }
39 }