diff options
| author | Keith Wall <kwall@apache.org> | 2014-03-13 10:41:24 +0000 |
|---|---|---|
| committer | Keith Wall <kwall@apache.org> | 2014-03-13 10:41:24 +0000 |
| commit | 8fc924683158b005c70d49d4b97d16fde2914bde (patch) | |
| tree | 62585229b5eb56f5f319d77778e3b27d0a173e6a /qpid/java/systests | |
| parent | f10abece85c408a2185afe8f3075f0ed82451aeb (diff) | |
| download | qpid-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')
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 |
