summaryrefslogtreecommitdiff
path: root/qpid/java/systests
diff options
context:
space:
mode:
authorKeith Wall <kwall@apache.org>2014-03-13 10:41:24 +0000
committerKeith Wall <kwall@apache.org>2014-03-13 10:41:24 +0000
commit8fc924683158b005c70d49d4b97d16fde2914bde (patch)
tree62585229b5eb56f5f319d77778e3b27d0a173e6a /qpid/java/systests
parentf10abece85c408a2185afe8f3075f0ed82451aeb (diff)
downloadqpid-python-8fc924683158b005c70d49d4b97d16fde2914bde.tar.gz
QPID-5624: Remove MessageStoreCreator and finish some virtual host refactoring
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/java-broker-bdb-ha2@1577097 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/systests')
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java55
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java4
-rwxr-xr-xqpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java12
3 files changed, 17 insertions, 54 deletions
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java
index 8d375508bc..6b03151f29 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/server/store/SlowMessageStore.java
@@ -28,7 +28,7 @@ import org.apache.log4j.Logger;
import org.apache.qpid.server.message.EnqueueableMessage;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.model.VirtualHost;
-import org.apache.qpid.server.util.ServerScopedRuntimeException;
+import org.apache.qpid.server.plugin.MessageStoreFactory;
import java.nio.ByteBuffer;
import java.util.HashMap;
@@ -36,12 +36,11 @@ import java.util.HashMap;
public class SlowMessageStore implements MessageStore, DurableConfigurationStore
{
private static final Logger _logger = Logger.getLogger(SlowMessageStore.class);
- private static final String DELAYS = "delays";
private HashMap<String, Long> _preDelays = new HashMap<String, Long>();
private HashMap<String, Long> _postDelays = new HashMap<String, Long>();
private long _defaultDelay = 0L;
- private MessageStore _realStore = new MessageStoreCreator().createMessageStore("Memory");
- private DurableConfigurationStore _durableConfigurationStore = (DurableConfigurationStore) _realStore;
+ private MessageStore _realStore = null;
+ private DurableConfigurationStore _durableConfigurationStore = null;
private static final String PRE = "pre";
private static final String POST = "post";
public static final String TYPE = "SLOW";
@@ -55,59 +54,35 @@ public class SlowMessageStore implements MessageStore, DurableConfigurationStore
Object delaysAttr = virtualHost.getAttribute("slowMessageStoreDelays");
- Map delays = (delaysAttr instanceof Map) ? (Map) delaysAttr : Collections.emptyMap();
+ @SuppressWarnings({ "unchecked" })
+ Map<String,Object> delays = (delaysAttr instanceof Map) ? (Map<String,Object>) delaysAttr : Collections.<String,Object>emptyMap();
configureDelays(delays);
final Object realStoreAttr = virtualHost.getAttribute("realStore");
- String messageStoreClass = realStoreAttr == null ? null : realStoreAttr.toString();
+ String messageStoreType = realStoreAttr == null ? MemoryMessageStore.TYPE : realStoreAttr.toString();
+
if (delays.containsKey(DEFAULT_DELAY))
{
_defaultDelay = Long.parseLong(String.valueOf(delays.get(DEFAULT_DELAY)));
}
- if (messageStoreClass != null)
+ _realStore = MessageStoreFactory.FACTORY_LOADER.get(messageStoreType).createMessageStore();
+
+ if (_realStore instanceof DurableConfigurationStore)
{
- try
- {
- Class<?> clazz = Class.forName(messageStoreClass);
-
- Object o = clazz.newInstance();
-
- if (!(o instanceof MessageStore))
- {
- throw new ClassCastException("Message store class must implement " + MessageStore.class + ". Class " + clazz +
- " does not.");
- }
- _realStore = (MessageStore) o;
- if(o instanceof DurableConfigurationStore)
- {
- _durableConfigurationStore = (DurableConfigurationStore)o;
- }
- }
- catch (ClassNotFoundException e)
- {
- throw new ServerScopedRuntimeException("Unable to find message store class", e);
- }
- catch (InstantiationException e)
- {
- throw new ServerScopedRuntimeException("Unable to initialise message store class", e);
- }
- catch (IllegalAccessException e)
- {
- throw new ServerScopedRuntimeException("Unable to access message store class", e);
- }
+ _durableConfigurationStore = (DurableConfigurationStore)_realStore;
+ _durableConfigurationStore.configureConfigStore(virtualHost, recoveryHandler);
}
- _durableConfigurationStore.configureConfigStore(virtualHost, recoveryHandler);
}
- private void configureDelays(Map<Object, Object> config)
+ private void configureDelays(Map<String, Object> delays)
{
- for(Map.Entry<Object, Object> entry : config.entrySet())
+ for(Map.Entry<String, Object> entry : delays.entrySet())
{
- String key = String.valueOf(entry.getKey());
+ String key = entry.getKey();
if (key.startsWith(PRE))
{
_preDelays.put(key.substring(PRE.length()), Long.parseLong(String.valueOf(entry.getValue())));
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
index 1ccd31a83a..473cf2beca 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
@@ -41,7 +41,7 @@ import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.adapter.AbstractConfiguredObject;
-import org.apache.qpid.server.store.MessageStoreCreator;
+import org.apache.qpid.server.plugin.MessageStoreFactory;
import org.apache.qpid.test.client.UnroutableMessageTestExceptionListener;
import org.apache.qpid.test.utils.TestBrokerConfiguration;
import org.apache.qpid.util.SystemUtils;
@@ -271,7 +271,7 @@ public class BrokerRestTest extends QpidRestTestCase
@SuppressWarnings("unchecked")
Collection<String> supportedVirtualHostStoreTypes = (Collection<String>)brokerDetails.get(Broker.SUPPORTED_VIRTUALHOST_STORE_TYPES);
- Collection<String> expectedSupportedVirtualHostStoreTypes = new MessageStoreCreator().getStoreTypes();
+ Collection<String> expectedSupportedVirtualHostStoreTypes = MessageStoreFactory.FACTORY_LOADER.getSupportedTypes();
assertEquals("Unexpected supported virtual host store types", new HashSet<String>(expectedSupportedVirtualHostStoreTypes), new HashSet<String>(supportedVirtualHostStoreTypes));
}
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
index 00d34dcd7d..ace34506bd 100755
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
@@ -22,7 +22,6 @@ import java.io.FileOutputStream;
import java.io.IOException;
import java.io.PrintStream;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.HashMap;
import java.util.HashSet;
import java.util.List;
@@ -64,9 +63,7 @@ import org.apache.qpid.server.BrokerOptions;
import org.apache.qpid.server.configuration.BrokerProperties;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.VirtualHost;
-import org.apache.qpid.server.plugin.MessageStoreFactory;
import org.apache.qpid.server.protocol.AmqpProtocolVersion;
-import org.apache.qpid.server.store.MessageStoreCreator;
import org.apache.qpid.server.virtualhost.StandardVirtualHostFactory;
import org.apache.qpid.url.URLSyntaxException;
import org.apache.qpid.util.FileUtils;
@@ -105,8 +102,6 @@ public class QpidBrokerTestCase extends QpidTestCase
private static final String DEFAULT_INITIAL_CONTEXT = "org.apache.qpid.jndi.PropertiesFileInitialContextFactory";
- private static Map<String, String> supportedStoresClassToTypeMapping = new HashMap<String, String>();
-
static
{
String initialContext = System.getProperty(Context.INITIAL_CONTEXT_FACTORY);
@@ -115,13 +110,6 @@ public class QpidBrokerTestCase extends QpidTestCase
{
System.setProperty(Context.INITIAL_CONTEXT_FACTORY, DEFAULT_INITIAL_CONTEXT);
}
-
- MessageStoreCreator messageStoreCreator = new MessageStoreCreator();
- Collection<MessageStoreFactory> factories = messageStoreCreator.getFactories();
- for (MessageStoreFactory messageStoreFactory : factories)
- {
- supportedStoresClassToTypeMapping.put(messageStoreFactory.createMessageStore().getClass().getName(), messageStoreFactory.getType());
- }
}
// system properties