test_class.declarator: store1
test_class.modifier: private
test_class.original_string: private MemBlobStore        store1;
test_class.type: MemBlobStore
test_class.var_name: store1
test_class.declarator: store2
test_class.modifier: private
test_class.original_string: private MemBlobStore        store2;
test_class.type: MemBlobStore
test_class.var_name: store2
test_class.declarator: store
test_class.modifier: private
test_class.original_string: private AbstractMuxStore    store;
test_class.type: AbstractMuxStore
test_class.var_name: store
test_class.declarator: con
test_class.modifier: private
test_class.original_string: private TestConnection      con;
test_class.type: TestConnection
test_class.var_name: con
test_class.declarator: s1Hint
test_class.modifier: private
test_class.original_string: private Map<String, String> s1Hint;
test_class.type: Map<String, String>
test_class.var_name: s1Hint
test_class.declarator: s2Hint
test_class.modifier: private
test_class.original_string: private Map<String, String> s2Hint;
test_class.type: Map<String, String>
test_class.var_name: s2Hint
test_class.file: akubra-mux/src/test/java/org/akubraproject/mux/AbstractMuxConnectionTest.java
test_class.identifier: AbstractMuxConnectionTest
test_case.body: @Test
    public void testGetConnection() throws IOException {
      BlobStoreConnection con1 = con.getConnection(store1, null);
      BlobStoreConnection con2 = con.getConnection(store2, null);
      assertEquals(2, con.getCons().size());
      assertEquals(con.getCons().get(store1.getId()), con1);
      assertEquals(con.getCons().get(store2.getId()), con2);
      assertEquals(con1, con.getConnection(store1, null));
      assertEquals(con2, con.getConnection(store2, null));
    }
test_case.class_method_signature: AbstractMuxConnectionTest.testGetConnection()
test_case.full_signature: @Test public void testGetConnection()
test_case.identifier: testGetConnection
test_case.invocations: getConnection getConnection assertEquals size getCons assertEquals get getCons getId assertEquals get getCons getId assertEquals getConnection assertEquals getConnection
test_case.modifiers: @Test public
test_case.parameters: ()
test_case.return: void
test_case.signature: void testGetConnection()
focal_class.declarator: log = LoggerFactory.getLogger(AbstractBlobStoreConnection.class)
focal_class.modifier: private static final
focal_class.original_string: private static final Logger log = LoggerFactory.getLogger(AbstractBlobStoreConnection.class);
focal_class.type: Logger
focal_class.var_name: log
focal_class.declarator: txn
focal_class.modifier: protected final
focal_class.original_string: protected final Transaction txn;
focal_class.type: Transaction
focal_class.var_name: txn
focal_class.declarator: cons = new HashMap<URI, BlobStoreConnection>()
focal_class.modifier: protected
focal_class.original_string: protected Map<URI, BlobStoreConnection> cons = new HashMap<URI, BlobStoreConnection>();
focal_class.type: Map<URI, BlobStoreConnection>
focal_class.var_name: cons
focal_class.file: akubra-mux/src/main/java/org/akubraproject/mux/AbstractMuxConnection.java
focal_class.identifier: AbstractMuxConnection
focal_class.class_method_signature: AbstractMuxConnection.AbstractMuxConnection(BlobStore store, Transaction txn)
focal_class.full_signature: public  AbstractMuxConnection(BlobStore store, Transaction txn)
focal_class.identifier: AbstractMuxConnection
focal_class.modifiers: public
focal_class.parameters: (BlobStore store, Transaction txn)
focal_class.signature:  AbstractMuxConnection(BlobStore store, Transaction txn)
focal_class.class_method_signature: AbstractMuxConnection.getStore(URI blobId, Map<String, String> hints)
focal_class.full_signature: public abstract BlobStore getStore(URI blobId, Map<String, String> hints)
focal_class.identifier: getStore
focal_class.modifiers: public abstract
focal_class.parameters: (URI blobId, Map<String, String> hints)
focal_class.return: BlobStore
focal_class.signature: BlobStore getStore(URI blobId, Map<String, String> hints)
focal_class.class_method_signature: AbstractMuxConnection.getStores(String prefix)
focal_class.full_signature: public Set<BlobStore> getStores(String prefix)
focal_class.identifier: getStores
focal_class.modifiers: public
focal_class.parameters: (String prefix)
focal_class.return: Set<BlobStore>
focal_class.signature: Set<BlobStore> getStores(String prefix)
focal_class.class_method_signature: AbstractMuxConnection.close()
focal_class.full_signature: @Override public void close()
focal_class.identifier: close
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void close()
focal_class.class_method_signature: AbstractMuxConnection.getConnection(BlobStore store, Map<String, String> hints)
focal_class.full_signature: protected BlobStoreConnection getConnection(BlobStore store, Map<String, String> hints)
focal_class.identifier: getConnection
focal_class.modifiers: protected
focal_class.parameters: (BlobStore store, Map<String, String> hints)
focal_class.return: BlobStoreConnection
focal_class.signature: BlobStoreConnection getConnection(BlobStore store, Map<String, String> hints)
focal_class.class_method_signature: AbstractMuxConnection.getBlob(URI blobId, Map<String, String> hints)
focal_class.full_signature: @Override public Blob getBlob(URI blobId, Map<String, String> hints)
focal_class.identifier: getBlob
focal_class.modifiers: @Override public
focal_class.parameters: (URI blobId, Map<String, String> hints)
focal_class.return: Blob
focal_class.signature: Blob getBlob(URI blobId, Map<String, String> hints)
focal_class.class_method_signature: AbstractMuxConnection.listBlobIds(String filterPrefix)
focal_class.full_signature: @Override public Iterator<URI> listBlobIds(String filterPrefix)
focal_class.identifier: listBlobIds
focal_class.modifiers: @Override public
focal_class.parameters: (String filterPrefix)
focal_class.return: Iterator<URI>
focal_class.signature: Iterator<URI> listBlobIds(String filterPrefix)
focal_class.class_method_signature: AbstractMuxConnection.sync()
focal_class.full_signature: @Override public void sync()
focal_class.identifier: sync
focal_class.modifiers: @Override public
focal_class.parameters: ()
focal_class.return: void
focal_class.signature: void sync()
focal_class.superclass: extends AbstractBlobStoreConnection
focal_method.body: protected BlobStoreConnection getConnection(BlobStore store, Map<String, String> hints)
                                         throws IOException {
      if (store == null)
        return null;
  
      if (cons == null)
        throw new IllegalStateException("Connection closed.");
  
      BlobStoreConnection con = cons.get(store.getId());
  
      if (con == null) {
        con = store.openConnection(txn, hints);
        cons.put(store.getId(), con);
      }
  
      return con;
    }
focal_method.class_method_signature: AbstractMuxConnection.getConnection(BlobStore store, Map<String, String> hints)
focal_method.full_signature: protected BlobStoreConnection getConnection(BlobStore store, Map<String, String> hints)
focal_method.identifier: getConnection
focal_method.invocations: get getId openConnection put getId
focal_method.modifiers: protected
focal_method.parameters: (BlobStore store, Map<String, String> hints)
focal_method.return: BlobStoreConnection
focal_method.signature: BlobStoreConnection getConnection(BlobStore store, Map<String, String> hints)