View Javadoc

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          //just in case
36          String props = propertiesString.replace('\n', ';') ;
37          return props.replaceAll("\\s", "") ;
38      }
39  }