Author: lquack
Date: Wed Mar 22 11:40:57 2017
New Revision: 1788096

URL: http://svn.apache.org/viewvc?rev=1788096&view=rev
Log:
QPID-7663: [Java Broker] fix failing tests

Modified:
    
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStore.java
    
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreFactory.java
    
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/test/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreTest.java

Modified: 
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStore.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStore.java?rev=1788096&r1=1788095&r2=1788096&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStore.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStore.java
 Wed Mar 22 11:40:57 2017
@@ -48,6 +48,7 @@ import org.apache.qpid.server.protocol.v
 import org.apache.qpid.server.protocol.v1_0.store.LinkStoreUpdater;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.TerminusDurability;
 import org.apache.qpid.server.store.StoreException;
+import org.apache.qpid.server.store.berkeleydb.BDBEnvironmentContainer;
 import org.apache.qpid.server.store.berkeleydb.EnvironmentFacade;
 
 public class BDBLinkStore implements LinkStore
@@ -56,13 +57,13 @@ public class BDBLinkStore implements Lin
     private static final String LINKS_DB_NAME = "AMQP_1_0_LINKS";
     private static final String LINKS_VERSION_DB_NAME = 
"AMQP_1_0_LINKS_VERSION";
 
-    private volatile StoreState _storeState = StoreState.CLOSED;
     private final ReentrantReadWriteLock _useOrCloseRWLock = new 
ReentrantReadWriteLock(true);
-    private final EnvironmentFacade _environmentFacade;
+    private final BDBEnvironmentContainer<?> _environmentContainer;
+    private volatile StoreState _storeState = StoreState.CLOSED;
 
-    BDBLinkStore(final EnvironmentFacade facade)
+    BDBLinkStore(final BDBEnvironmentContainer<?> environmentContainer)
     {
-        _environmentFacade = facade;
+        _environmentContainer = environmentContainer;
     }
 
     @Override
@@ -77,7 +78,7 @@ public class BDBLinkStore implements Lin
         }
         catch (RuntimeException e)
         {
-            throw _environmentFacade.handleDatabaseException("Failed recovery 
of links", e);
+            throw getEnvironmentFacade().handleDatabaseException("Failed 
recovery of links", e);
         }
         finally
         {
@@ -96,12 +97,12 @@ public class BDBLinkStore implements Lin
                 throw new StoreException("Store is not opened");
             }
 
-            Database linksDatabase = 
_environmentFacade.openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
+            Database linksDatabase = 
getEnvironmentFacade().openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
             save(linksDatabase, null, link);
         }
         catch (RuntimeException e)
         {
-            throw 
_environmentFacade.handleDatabaseException(String.format("Failed saving of link 
'%s'", new LinkKey(link)), e);
+            throw 
getEnvironmentFacade().handleDatabaseException(String.format("Failed saving of 
link '%s'", new LinkKey(link)), e);
         }
         finally
         {
@@ -121,7 +122,7 @@ public class BDBLinkStore implements Lin
                 throw new StoreException("Store is not opened");
             }
 
-            Database linksDatabase = 
_environmentFacade.openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
+            Database linksDatabase = 
getEnvironmentFacade().openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
 
             final DatabaseEntry databaseEntry = new DatabaseEntry();
             LinkKeyEntryBinding.getInstance().objectToEntry(linkKey, 
databaseEntry);
@@ -133,7 +134,7 @@ public class BDBLinkStore implements Lin
         }
         catch (RuntimeException e)
         {
-            throw 
_environmentFacade.handleDatabaseException(String.format("Failed deletion of 
link '%s'", linkKey), e);
+            throw 
getEnvironmentFacade().handleDatabaseException(String.format("Failed deletion 
of link '%s'", linkKey), e);
         }
         finally
         {
@@ -163,12 +164,12 @@ public class BDBLinkStore implements Lin
         try
         {
             close();
-            _environmentFacade.deleteDatabase(LINKS_DB_NAME);
-            _environmentFacade.deleteDatabase(LINKS_VERSION_DB_NAME);
+            getEnvironmentFacade().deleteDatabase(LINKS_DB_NAME);
+            getEnvironmentFacade().deleteDatabase(LINKS_VERSION_DB_NAME);
         }
         catch (RuntimeException e)
         {
-            _environmentFacade.handleDatabaseException("Failed deletion of 
database", e);
+            getEnvironmentFacade().handleDatabaseException("Failed deletion of 
database", e);
             LOGGER.info("Failed to delete links database", e);
         }
         finally
@@ -183,9 +184,15 @@ public class BDBLinkStore implements Lin
         return TerminusDurability.CONFIGURATION;
     }
 
+    private EnvironmentFacade getEnvironmentFacade()
+    {
+        return _environmentContainer.getEnvironmentFacade();
+    }
+
+
     private Collection<LinkDefinition> getLinkDefinitions(final 
LinkStoreUpdater updater)
     {
-        Database linksDatabase = 
_environmentFacade.openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
+        Database linksDatabase = 
getEnvironmentFacade().openDatabase(LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
         Collection<LinkDefinition> links = new HashSet<>();
 
         ModelVersion currentVersion =
@@ -214,10 +221,10 @@ public class BDBLinkStore implements Lin
         if (storedVersion.lessThan(currentVersion))
         {
             links = updater.update(storedVersion.toString(), links);
-            final Transaction txn = _environmentFacade.beginTransaction(null);
+            final Transaction txn = 
getEnvironmentFacade().beginTransaction(null);
             try
             {
-                linksDatabase = _environmentFacade.clearDatabase(txn, 
LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
+                linksDatabase = getEnvironmentFacade().clearDatabase(txn, 
LINKS_DB_NAME, DEFAULT_DATABASE_CONFIG);
                 for (LinkDefinition link : links)
                 {
                     save(linksDatabase, txn, link);
@@ -276,7 +283,7 @@ public class BDBLinkStore implements Lin
         }
         catch (RuntimeException e)
         {
-            throw _environmentFacade.handleDatabaseException("Cannot visit 
link version", e);
+            throw getEnvironmentFacade().handleDatabaseException("Cannot visit 
link version", e);
         }
     }
 
@@ -286,11 +293,11 @@ public class BDBLinkStore implements Lin
         try
         {
             DatabaseConfig config = new 
DatabaseConfig().setTransactional(true).setAllowCreate(false);
-            linksVersionDb = 
_environmentFacade.openDatabase(LINKS_VERSION_DB_NAME, config);
+            linksVersionDb = 
getEnvironmentFacade().openDatabase(LINKS_VERSION_DB_NAME, config);
         }
         catch (DatabaseNotFoundException e)
         {
-            linksVersionDb = 
_environmentFacade.openDatabase(LINKS_VERSION_DB_NAME, DEFAULT_DATABASE_CONFIG);
+            linksVersionDb = 
getEnvironmentFacade().openDatabase(LINKS_VERSION_DB_NAME, 
DEFAULT_DATABASE_CONFIG);
             DatabaseEntry key = new DatabaseEntry();
             DatabaseEntry value = new DatabaseEntry();
             StringBinding.stringToEntry(BrokerModel.MODEL_VERSION, key);

Modified: 
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreFactory.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreFactory.java?rev=1788096&r1=1788095&r2=1788096&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreFactory.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/main/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreFactory.java
 Wed Mar 22 11:40:57 2017
@@ -41,26 +41,19 @@ public class BDBLinkStoreFactory impleme
     @Override
     public LinkStore create(final NamedAddressSpace addressSpace)
     {
-        VirtualHost<?> virtualHost = (VirtualHost<?>)addressSpace;
-        EnvironmentFacade facade;
+        VirtualHost<?> virtualHost = (VirtualHost<?>) addressSpace;
         if (virtualHost instanceof BDBEnvironmentContainer)
         {
-            facade = 
((BDBEnvironmentContainer)virtualHost).getEnvironmentFacade();
+            return new BDBLinkStore((BDBEnvironmentContainer<?>) virtualHost);
         }
         else if (virtualHost.getParent()  instanceof BDBEnvironmentContainer)
         {
-            facade = 
((BDBEnvironmentContainer)virtualHost.getParent()).getEnvironmentFacade();
+            return new BDBLinkStore((BDBEnvironmentContainer<?>) 
virtualHost.getParent());
         }
         else
         {
             throw new StoreException("Cannot create BDB Link Store for " + 
addressSpace);
         }
-
-        if (facade == null)
-        {
-            throw new StoreException("Cannot find BDB environment for " + 
addressSpace);
-        }
-        return new BDBLinkStore(facade);
     }
 
     @Override

Modified: 
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/test/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreTest.java
URL: 
http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/test/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreTest.java?rev=1788096&r1=1788095&r2=1788096&view=diff
==============================================================================
--- 
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/test/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreTest.java
 (original)
+++ 
qpid/java/trunk/broker-plugins/amqp-1-0-bdb-store/src/test/java/org/apache/qpid/server/protocol/v1_0/store/bdb/BDBLinkStoreTest.java
 Wed Mar 22 11:40:57 2017
@@ -32,6 +32,7 @@ import com.sleepycat.je.CacheMode;
 
 import org.apache.qpid.server.protocol.v1_0.store.LinkStore;
 import org.apache.qpid.server.protocol.v1_0.store.LinkStoreTestCase;
+import org.apache.qpid.server.store.berkeleydb.BDBEnvironmentContainer;
 import 
org.apache.qpid.server.store.berkeleydb.StandardEnvironmentConfiguration;
 import org.apache.qpid.server.store.berkeleydb.StandardEnvironmentFacade;
 import org.apache.qpid.server.util.FileUtils;
@@ -52,7 +53,9 @@ public class BDBLinkStoreTest extends Li
         when(configuration.getParameters()).thenReturn(Collections.emptyMap());
        _facade = new StandardEnvironmentFacade(configuration);
 
-        return new BDBLinkStore(_facade);
+        BDBEnvironmentContainer environmentContainer = 
mock(BDBEnvironmentContainer.class);
+        when(environmentContainer.getEnvironmentFacade()).thenReturn(_facade);
+        return new BDBLinkStore(environmentContainer);
     }
 
     @Override



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to