summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2014-04-20 17:00:46 +0000
committerRobert Godfrey <rgodfrey@apache.org>2014-04-20 17:00:46 +0000
commit130ff22d820d9c20a1bc7545031954ae59dad0ef (patch)
treebfe88e4d58c61d9f5c0a4e56dc9c5a51f39579d6
parent3d34526bc2fe159b265d5a7c58ffd687ba00c499 (diff)
downloadqpid-python-130ff22d820d9c20a1bc7545031954ae59dad0ef.tar.gz
QPID-5713 : [Java Broker] Remove non-test references to model singleton, and instead treat as an instance variable
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1588794 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom7To8.java4
-rw-r--r--qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java9
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java4
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/BrokerStoreUpgrader.java8
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java2
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java15
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java65
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObjectTypeFactory.java10
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java1
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java170
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java7
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactory.java4
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactoryImpl.java15
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Model.java147
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContext.java5
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContextImpl.java8
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java34
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortFactory.java36
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfiguredObjectTypeFactory.java7
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueFactory.java27
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java11
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordFileAuthenticationManagerFactory.java4
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactory.java4
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java4
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationRecoverer.java6
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java54
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/ResolvedObject.java7
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java17
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/BindingRecoverer.java5
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/DefaultUpgraderProvider.java4
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ExchangeRecoverer.java5
-rw-r--r--qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/QueueRecoverer.java5
-rwxr-xr-xqpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java6
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/BrokerConfigurationStoreCreatorTest.java6
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java14
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileKeyStoreCreationTest.java15
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileTrustStoreCreationTest.java10
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/PreferencesProviderCreationTest.java4
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostCreationTest.java19
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ConfigurationEntryStoreTestCase.java19
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStoreTest.java4
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java4
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStoreTest.java24
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java6
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java8
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java7
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java8
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderFactoryTest.java12
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderTest.java5
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java45
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java6
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/PriorityQueueListTest.java6
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java7
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java6
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryListTest.java6
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java6
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java9
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerTest.java13
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerTest.java7
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactoryTest.java12
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java4
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerTest.java24
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManagerTest.java8
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactoryTest.java14
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java12
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java30
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java27
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java50
-rw-r--r--qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java8
-rw-r--r--qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderFactoryTest.java30
-rw-r--r--qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java7
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java12
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java11
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java8
-rw-r--r--qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java6
-rw-r--r--qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java9
-rw-r--r--qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java3
-rw-r--r--qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/JMXManagementFactoryTest.java9
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java17
79 files changed, 759 insertions, 528 deletions
diff --git a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom7To8.java b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom7To8.java
index 8f3cf73275..0d4e40fdcb 100644
--- a/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom7To8.java
+++ b/qpid/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom7To8.java
@@ -26,8 +26,8 @@ import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
import org.apache.qpid.server.store.StoreException;
@@ -68,7 +68,7 @@ public class UpgradeFrom7To8 extends AbstractStoreUpgrade
Cursor objectsCursor = null;
- String stringifiedConfigVersion = Model.MODEL_VERSION;
+ String stringifiedConfigVersion = BrokerModel.MODEL_VERSION;
int configVersion = getConfigVersion(configVersionDb);
if (configVersion > -1)
{
diff --git a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java
index 5ad113f827..abaaaa6d72 100644
--- a/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java
+++ b/qpid/java/bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/VirtualHostTest.java
@@ -36,13 +36,12 @@ import org.apache.qpid.server.configuration.ConfigurationEntryStore;
import org.apache.qpid.server.configuration.RecovererProvider;
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.VirtualHost;
-import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
import org.apache.qpid.server.stats.StatisticsGatherer;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.berkeleydb.replication.ReplicatedEnvironmentFacadeFactory;
@@ -149,12 +148,10 @@ public class VirtualHostTest extends QpidTestCase
private VirtualHost<?,?,?> createHost(Map<String, Object> attributes)
{
- ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(Model.getInstance());
- ConfiguredObjectTypeFactory vhostFactory =
- factory.getConfiguredObjectTypeFactory(VirtualHost.class, attributes);
+ ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
attributes = new HashMap<String, Object>(attributes);
attributes.put(ConfiguredObject.ID, UUID.randomUUID());
- return (VirtualHost<?,?,?>) vhostFactory.create(attributes,_broker);
+ return (VirtualHost<?,?,?>) factory.create(VirtualHost.class, attributes,_broker);
}
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
index af2315f919..b2559f8668 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/Broker.java
@@ -43,9 +43,9 @@ import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.logging.SystemOutMessageLogger;
import org.apache.qpid.server.logging.log4j.LoggingManagementFacade;
import org.apache.qpid.server.logging.messages.BrokerMessages;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.SystemContext;
import org.apache.qpid.server.model.SystemContextImpl;
import org.apache.qpid.server.registry.ApplicationRegistry;
@@ -140,7 +140,7 @@ public class Broker
LogRecorder logRecorder = new LogRecorder();
_taskExecutor.start();
- ConfiguredObjectFactory configuredObjectFactory = new ConfiguredObjectFactoryImpl(Model.getInstance());
+ ConfiguredObjectFactory configuredObjectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
SystemContext systemContext = new SystemContextImpl(_taskExecutor, configuredObjectFactory, _eventLogger, logRecorder, options);
BrokerConfigurationStoreCreator storeCreator = new BrokerConfigurationStoreCreator();
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/BrokerStoreUpgrader.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/BrokerStoreUpgrader.java
index c900ea047d..79d1595b27 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/BrokerStoreUpgrader.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/startup/BrokerStoreUpgrader.java
@@ -34,8 +34,8 @@ import org.apache.log4j.Logger;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.configuration.store.StoreConfigurationChangeListener;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.SystemContext;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
import org.apache.qpid.server.store.ConfiguredObjectRecordImpl;
@@ -627,7 +627,7 @@ public class BrokerStoreUpgrader
{
String version = getCurrentVersion();
- while(!Model.MODEL_VERSION.equals(version))
+ while(!BrokerModel.MODEL_VERSION.equals(version))
{
LOGGER.debug("Adding broker store upgrader from model version: " + version);
final UpgraderPhaseFactory upgraderPhaseFactory = _upgraders.get(version);
@@ -761,7 +761,7 @@ public class BrokerStoreUpgrader
{
visited.add(object);
action.performAction(object);
- for(Class<? extends ConfiguredObject> childClass : Model.getInstance().getChildTypes(object.getCategoryClass()))
+ for(Class<? extends ConfiguredObject> childClass : object.getModel().getChildTypes(object.getCategoryClass()))
{
Collection<? extends ConfiguredObject> children = object.getChildren(childClass);
if(children != null)
@@ -789,7 +789,7 @@ public class BrokerStoreUpgrader
return version;
}
}
- return Model.MODEL_VERSION;
+ return BrokerModel.MODEL_VERSION;
}
public Broker getBroker()
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java
index d4409e666e..2ee4d3500b 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStore.java
@@ -44,7 +44,7 @@ public class JsonConfigurationEntryStore extends MemoryConfigurationEntryStore
public JsonConfigurationEntryStore(ConfiguredObject<?> parentObject, DurableConfigurationStore initialStore, boolean overwrite, Map<String, String> configProperties)
{
- super(configProperties);
+ super(parentObject, configProperties);
_parentObject = parentObject;
String storeLocation = (String) parentObject.getAttribute("storePath");
_storeFile = new File(storeLocation);
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java
index b21ecd3811..6d95c5d3a2 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStore.java
@@ -55,7 +55,6 @@ import org.apache.qpid.server.configuration.ConfigurationEntryStore;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.SystemContext;
import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
@@ -85,8 +84,9 @@ public class MemoryConfigurationEntryStore implements ConfigurationEntryStore
private ConfiguredObject<?> _parent;
- protected MemoryConfigurationEntryStore(Map<String, String> configProperties)
+ protected MemoryConfigurationEntryStore(ConfiguredObject parentObject, Map<String, String> configProperties)
{
+ _parent = parentObject;
_objectMapper = new ObjectMapper();
_objectMapper.configure(SerializationConfig.Feature.INDENT_OUTPUT, true);
_objectMapper.configure(JsonParser.Feature.ALLOW_COMMENTS, true);
@@ -94,9 +94,9 @@ public class MemoryConfigurationEntryStore implements ConfigurationEntryStore
_brokerChildrenRelationshipMap = buildRelationshipClassMap();
}
- MemoryConfigurationEntryStore(String json, Map<String, String> configProperties)
+ MemoryConfigurationEntryStore(ConfiguredObject parentObject, String json, Map<String, String> configProperties)
{
- this(configProperties);
+ this(parentObject, configProperties);
if (json == null || "".equals(json))
{
createRootEntry();
@@ -109,12 +109,11 @@ public class MemoryConfigurationEntryStore implements ConfigurationEntryStore
public MemoryConfigurationEntryStore(ConfiguredObject parentObject, String initialStoreLocation, ConfigurationEntryStore initialStore, Map<String, String> configProperties)
{
- this(configProperties);
+ this(parentObject, configProperties);
if (initialStore == null && (initialStoreLocation == null || "".equals(initialStoreLocation) ))
{
throw new IllegalConfigurationException("Cannot instantiate the memory broker store as neither initial store nor initial store location is provided");
}
- _parent = parentObject;
if (initialStore != null)
{
if (initialStore instanceof MemoryConfigurationEntryStore)
@@ -633,7 +632,7 @@ public class MemoryConfigurationEntryStore implements ConfigurationEntryStore
{
Map<String, Class<? extends ConfiguredObject>> relationships = new HashMap<String, Class<? extends ConfiguredObject>>();
- Collection<Class<? extends ConfiguredObject>> children = Model.getInstance().getChildTypes(Broker.class);
+ Collection<Class<? extends ConfiguredObject>> children = _parent.getModel().getChildTypes(Broker.class);
for (Class<? extends ConfiguredObject> childClass : children)
{
String name = childClass.getSimpleName().toLowerCase();
@@ -823,7 +822,7 @@ public class MemoryConfigurationEntryStore implements ConfigurationEntryStore
// for the parent configured object class
if (parentConfiguredObjectClass != null)
{
- Collection<Class<? extends ConfiguredObject>> childTypes = Model.getInstance().getChildTypes(parentConfiguredObjectClass);
+ Collection<Class<? extends ConfiguredObject>> childTypes = _parent.getModel().getChildTypes(parentConfiguredObjectClass);
for (Class<? extends ConfiguredObject> childType : childTypes)
{
String relationship = childType.getSimpleName().toLowerCase();
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
index 6a9b6df36c..3bf9c6cda1 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
@@ -115,6 +115,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
private final Class<? extends ConfiguredObject> _category;
private final Class<? extends ConfiguredObject> _bestFitInterface;
+ private final ConfiguredObjectFactory _objectFactory;
@ManagedAttributeField
private long _createdTime;
@@ -161,12 +162,33 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
return parentsMap;
}
+ protected AbstractConfiguredObject(final Map<Class<? extends ConfiguredObject>, ConfiguredObject<?>> parents,
+ Map<String, Object> attributes)
+ {
+ this(parents, attributes, parents.values().iterator().next().getTaskExecutor());
+ }
+
protected AbstractConfiguredObject(final Map<Class<? extends ConfiguredObject>, ConfiguredObject<?>> parents,
Map<String, Object> attributes,
TaskExecutor taskExecutor)
{
+ this(parents, attributes, taskExecutor, parents.values().iterator().next().getObjectFactory());
+ }
+
+ protected AbstractConfiguredObject(final Map<Class<? extends ConfiguredObject>, ConfiguredObject<?>> parents,
+ Map<String, Object> attributes,
+ TaskExecutor taskExecutor,
+ ConfiguredObjectFactory objectFactory)
+ {
_taskExecutor = taskExecutor;
+ _objectFactory = objectFactory;
+
+ _category = Model.getCategory(getClass());
+
+ _attributeTypes = getAttributeTypes(getClass());
+ _automatedFields = getAutomatedFields(getClass());
+
Object idObj = attributes.get(ID);
UUID uuid;
@@ -181,17 +203,12 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
uuid = AttributeValueConverter.UUID_CONVERTER.convert(idObj, this);
}
_id = uuid;
-
_name = AttributeValueConverter.STRING_CONVERTER.convert(attributes.get(NAME),this);
if(_name == null)
{
throw new IllegalArgumentException("The name attribute is mandatory for " + getClass().getSimpleName() + " creation.");
}
- _attributeTypes = getAttributeTypes(getClass());
- _automatedFields = getAutomatedFields(getClass());
-
- _category = Model.getCategory(getClass());
_type = Model.getType(getClass());
_bestFitInterface = calculateBestFitInterface();
@@ -204,7 +221,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
}
}
- for (Class<? extends ConfiguredObject> childClass : Model.getInstance().getChildTypes(getCategoryClass()))
+ for (Class<? extends ConfiguredObject> childClass : getModel().getChildTypes(getCategoryClass()))
{
_children.put(childClass, new CopyOnWriteArrayList<ConfiguredObject<?>>());
_childrenById.put(childClass, new ConcurrentHashMap<UUID, ConfiguredObject<?>>());
@@ -457,7 +474,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
private void applyToChildren(Action<ConfiguredObject<?>> action)
{
- for (Class<? extends ConfiguredObject> childClass : Model.getInstance().getChildTypes(getCategoryClass()))
+ for (Class<? extends ConfiguredObject> childClass : getModel().getChildTypes(getCategoryClass()))
{
Collection<? extends ConfiguredObject> children = getChildren(childClass);
if (children != null)
@@ -520,6 +537,17 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
return _durable;
}
+ @Override
+ public final ConfiguredObjectFactory getObjectFactory()
+ {
+ return _objectFactory;
+ }
+
+ @Override
+ public final Model getModel()
+ {
+ return _objectFactory.getModel();
+ }
public Class<? extends ConfiguredObject> getCategoryClass()
{
@@ -840,7 +868,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
public Map<String, ConfiguredObjectRecord> getParents()
{
Map<String, ConfiguredObjectRecord> parents = new LinkedHashMap<String, ConfiguredObjectRecord>();
- for(Class<? extends ConfiguredObject> parentClass : Model.getInstance().getParentTypes(getCategoryClass()))
+ for(Class<? extends ConfiguredObject> parentClass : getModel().getParentTypes(getCategoryClass()))
{
ConfiguredObject parent = getParent(parentClass);
if(parent != null)
@@ -899,7 +927,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
if(_childrenByName.get(categoryClass).containsKey(name))
{
Collection<Class<? extends ConfiguredObject>> parentTypes =
- new ArrayList<Class<? extends ConfiguredObject>>(Model.getInstance().getParentTypes(categoryClass));
+ new ArrayList<Class<? extends ConfiguredObject>>(child.getModel().getParentTypes(categoryClass));
parentTypes.remove(getCategoryClass());
boolean duplicate = true;
@@ -967,7 +995,8 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
return Collections.unmodifiableList((List<? extends C>) _children.get(clazz));
}
- public TaskExecutor getTaskExecutor()
+ @Override
+ public final TaskExecutor getTaskExecutor()
{
return _taskExecutor;
}
@@ -1192,7 +1221,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
final Map<String, String> inheritedContext)
{
Collection<Class<? extends ConfiguredObject>> parents =
- Model.getInstance().getParentTypes(object.getCategoryClass());
+ object.getModel().getParentTypes(object.getCategoryClass());
if(parents != null && !parents.isEmpty())
{
ConfiguredObject parent = object.getParent(parents.iterator().next());
@@ -1574,7 +1603,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
final Class<X> clazz)
{
Class<? extends ConfiguredObject> category = Model.getCategory(object.getClass());
- Class<? extends ConfiguredObject> ancestorClass = getAncestorClassWithGivenDescendant(category, clazz);
+ Class<? extends ConfiguredObject> ancestorClass = getAncestorClassWithGivenDescendant(object.getModel(),category, clazz);
if(ancestorClass != null)
{
ConfiguredObject ancestor = getAncestor(ancestorClass, category, object);
@@ -1591,7 +1620,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
final Class<X> clazz)
{
Set<X> descendants = new HashSet<X>();
- for(Class<? extends ConfiguredObject> childClass : Model.getInstance().getChildTypes(ancestorClass))
+ for(Class<? extends ConfiguredObject> childClass : ancestor.getModel().getChildTypes(ancestorClass))
{
Collection<? extends ConfiguredObject> children = ancestor.getChildren(childClass);
if(childClass == clazz)
@@ -1626,7 +1655,7 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
}
else
{
- for(Class<? extends ConfiguredObject> parentClass : Model.getInstance().getParentTypes(category))
+ for(Class<? extends ConfiguredObject> parentClass : object.getModel().getParentTypes(category))
{
ConfiguredObject parent = object.getParent(parentClass);
if(parent == null)
@@ -1644,17 +1673,16 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
}
private static Class<? extends ConfiguredObject> getAncestorClassWithGivenDescendant(
- final Class<? extends ConfiguredObject> category,
+ final Model model, final Class<? extends ConfiguredObject> category,
final Class<? extends ConfiguredObject> descendantClass)
{
- Model model = Model.getInstance();
Collection<Class<? extends ConfiguredObject>> candidateClasses =
Collections.<Class<? extends ConfiguredObject>>singleton(category);
while(!candidateClasses.isEmpty())
{
for(Class<? extends ConfiguredObject> candidate : candidateClasses)
{
- if(hasDescendant(candidate, descendantClass))
+ if(hasDescendant(model, candidate, descendantClass))
{
return candidate;
}
@@ -1669,11 +1697,10 @@ public abstract class AbstractConfiguredObject<X extends ConfiguredObject<X>> im
return null;
}
- private static boolean hasDescendant(final Class<? extends ConfiguredObject> candidate,
+ private static boolean hasDescendant(final Model model, final Class<? extends ConfiguredObject> candidate,
final Class<? extends ConfiguredObject> descendantClass)
{
int oldSize = 0;
- Model model = Model.getInstance();
Set<Class<? extends ConfiguredObject>> allDescendants = new HashSet<Class<? extends ConfiguredObject>>(model.getChildTypes(
candidate));
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObjectTypeFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObjectTypeFactory.java
index 38f885717f..d69d6e3076 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObjectTypeFactory.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObjectTypeFactory.java
@@ -50,7 +50,9 @@ abstract public class AbstractConfiguredObjectTypeFactory<X extends AbstractConf
}
@Override
- public X create(final Map<String, Object> attributes, final ConfiguredObject<?>... parents)
+ public X create(final ConfiguredObjectFactory factory,
+ final Map<String, Object> attributes,
+ final ConfiguredObject<?>... parents)
{
X instance = createInstance(attributes, parents);
instance.create();
@@ -61,7 +63,8 @@ abstract public class AbstractConfiguredObjectTypeFactory<X extends AbstractConf
public final <C extends ConfiguredObject<C>> C getParent(Class<C> parentClass, ConfiguredObject<?>... parents)
{
- if(!Model.getInstance().getParentTypes((Class<? extends ConfiguredObject>) getCategoryClass()).contains(
+
+ if(!parents[0].getModel().getParentTypes((Class<? extends ConfiguredObject>) getCategoryClass()).contains(
parentClass))
{
throw new IllegalArgumentException(parentClass.getSimpleName() + " is not a parent of " + _clazz.getSimpleName());
@@ -78,7 +81,8 @@ abstract public class AbstractConfiguredObjectTypeFactory<X extends AbstractConf
}
@Override
- public UnresolvedConfiguredObject<X> recover(final ConfiguredObjectRecord record,
+ public UnresolvedConfiguredObject<X> recover(final ConfiguredObjectFactory factory,
+ final ConfiguredObjectRecord record,
final ConfiguredObject<?>... parents)
{
return new GenericUnresolvedConfiguredObject( record, parents );
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
index a634d25c14..16aa3e8916 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Broker.java
@@ -189,5 +189,4 @@ public interface Broker<X extends Broker<X>> extends ConfiguredObject<X>, EventL
AuthenticationProvider<?> getManagementModeAuthenticationProvider();
- ConfiguredObjectFactory getObjectFactory();
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java
new file mode 100644
index 0000000000..7a6fd2a501
--- /dev/null
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/BrokerModel.java
@@ -0,0 +1,170 @@
+/*
+ *
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ *
+ */
+package org.apache.qpid.server.model;
+
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.Map;
+import java.util.Set;
+
+public final class BrokerModel extends Model
+{
+
+ /*
+ * API version for the broker model
+ *
+ * 1.0 Initial version
+ * 1.1 Addition of mandatory virtual host type / different types of virtual host
+ * 1.3 Truststore/Keystore type => trustStoreType / type => keyStoreType
+ * 1.4 Separate messageStoreSettings from virtualhost
+ */
+ public static final int MODEL_MAJOR_VERSION = 1;
+ public static final int MODEL_MINOR_VERSION = 4;
+ public static final String MODEL_VERSION = MODEL_MAJOR_VERSION + "." + MODEL_MINOR_VERSION;
+ private static final Model MODEL_INSTANCE = new BrokerModel();
+ private final Map<Class<? extends ConfiguredObject>, Collection<Class<? extends ConfiguredObject>>> _parents =
+ new HashMap<Class<? extends ConfiguredObject>, Collection<Class<? extends ConfiguredObject>>>();
+
+ private final Map<Class<? extends ConfiguredObject>, Collection<Class<? extends ConfiguredObject>>> _children =
+ new HashMap<Class<? extends ConfiguredObject>, Collection<Class<? extends ConfiguredObject>>>();
+
+ private final Set<Class<? extends ConfiguredObject>> _supportedTypes =
+ new HashSet<Class<? extends ConfiguredObject>>();
+
+ private Class<? extends ConfiguredObject> _rootCategory;
+
+ private BrokerModel()
+ {
+ setRootCategory(SystemContext.class);
+
+ addRelationship(SystemContext.class, Broker.class);
+
+ addRelationship(Broker.class, VirtualHost.class);
+ addRelationship(Broker.class, Port.class);
+ addRelationship(Broker.class, AccessControlProvider.class);
+ addRelationship(Broker.class, AuthenticationProvider.class);
+ addRelationship(Broker.class, GroupProvider.class);
+ addRelationship(Broker.class, TrustStore.class);
+ addRelationship(Broker.class, KeyStore.class);
+ addRelationship(Broker.class, Plugin.class);
+
+ addRelationship(VirtualHost.class, Exchange.class);
+ addRelationship(VirtualHost.class, Queue.class);
+ addRelationship(VirtualHost.class, Connection.class);
+ addRelationship(VirtualHost.class, VirtualHostAlias.class);
+
+ addRelationship(Port.class, VirtualHostAlias.class);
+
+
+ addRelationship(AuthenticationProvider.class, User.class);
+ addRelationship(AuthenticationProvider.class, PreferencesProvider.class);
+ addRelationship(User.class, GroupMember.class);
+
+ addRelationship(GroupProvider.class, Group.class);
+ addRelationship(Group.class, GroupMember.class);
+
+ addRelationship(Connection.class, Session.class);
+
+ addRelationship(Queue.class, Binding.class);
+ addRelationship(Queue.class, Consumer.class);
+
+ addRelationship(Exchange.class, Binding.class);
+ addRelationship(Exchange.class, Publisher.class);
+
+ addRelationship(Session.class, Consumer.class);
+ addRelationship(Session.class, Publisher.class);
+ }
+
+ public static Model getInstance()
+ {
+ return MODEL_INSTANCE;
+ }
+
+ @Override
+ public Class<? extends ConfiguredObject> getRootCategory()
+ {
+ return _rootCategory;
+ }
+
+ public Collection<Class<? extends ConfiguredObject>> getParentTypes(Class<? extends ConfiguredObject> child)
+ {
+ Collection<Class<? extends ConfiguredObject>> parentTypes = _parents.get(child);
+ return parentTypes == null ? Collections.<Class<? extends ConfiguredObject>>emptyList()
+ : Collections.unmodifiableCollection(parentTypes);
+ }
+
+ @Override
+ public int getMajorVersion()
+ {
+ return MODEL_MAJOR_VERSION;
+ }
+
+ @Override
+ public int getMinorVersion()
+ {
+ return MODEL_MINOR_VERSION;
+ }
+
+ public Collection<Class<? extends ConfiguredObject>> getChildTypes(Class<? extends ConfiguredObject> parent)
+ {
+ Collection<Class<? extends ConfiguredObject>> childTypes = _children.get(parent);
+ return childTypes == null ? Collections.<Class<? extends ConfiguredObject>>emptyList()
+ : Collections.unmodifiableCollection(childTypes);
+ }
+
+ @Override
+ public Collection<Class<? extends ConfiguredObject>> getSupportedCategories()
+ {
+ return Collections.unmodifiableSet(_supportedTypes);
+ }
+
+ public void setRootCategory(final Class<? extends ConfiguredObject> rootCategory)
+ {
+ _rootCategory = rootCategory;
+ }
+
+ private void addRelationship(Class<? extends ConfiguredObject> parent, Class<? extends ConfiguredObject> child)
+ {
+ Collection<Class<? extends ConfiguredObject>> parents = _parents.get(child);
+ if (parents == null)
+ {
+ parents = new ArrayList<Class<? extends ConfiguredObject>>();
+ _parents.put(child, parents);
+ }
+ parents.add(parent);
+
+ Collection<Class<? extends ConfiguredObject>> children = _children.get(parent);
+ if (children == null)
+ {
+ children = new ArrayList<Class<? extends ConfiguredObject>>();
+ _children.put(parent, children);
+ }
+ children.add(child);
+
+ _supportedTypes.add(parent);
+ _supportedTypes.add(child);
+
+ }
+
+}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
index 1404f5e7b6..d1d5f91b06 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObject.java
@@ -25,6 +25,7 @@ import java.util.Collection;
import java.util.Map;
import java.util.UUID;
+import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
@ManagedObject( creatable = false, category = false )
@@ -254,4 +255,10 @@ public interface ConfiguredObject<X extends ConfiguredObject<X>>
void open();
void validate();
+
+ TaskExecutor getTaskExecutor();
+
+ ConfiguredObjectFactory getObjectFactory();
+
+ Model getModel();
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactory.java
index 35d7df4385..7d4023862b 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactory.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactory.java
@@ -32,6 +32,10 @@ public interface ConfiguredObjectFactory
<X extends ConfiguredObject<X>> UnresolvedConfiguredObject<X> recover(ConfiguredObjectRecord record,
ConfiguredObject<?>... parents);
+ <X extends ConfiguredObject<X>> X create(Class<X> clazz, Map<String, Object> attributes, ConfiguredObject<?>... parents);
+
+
+
<X extends ConfiguredObject<X>> ConfiguredObjectTypeFactory<X> getConfiguredObjectTypeFactory(Class<X> categoryClass,
Map<String, Object> attributes);
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactoryImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactoryImpl.java
index 54a23a0389..dd5be11301 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactoryImpl.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectFactoryImpl.java
@@ -97,7 +97,20 @@ public class ConfiguredObjectFactoryImpl implements ConfiguredObjectFactory
throw new ServerScopedRuntimeException("No factory defined for ConfiguredObject of category " + category + " and type " + type);
}
- return factory.recover(record, parents);
+ return factory.recover(this, record, parents);
+ }
+
+ @Override
+ public <X extends ConfiguredObject<X>> X create(Class<X> clazz,
+ final Map<String, Object> attributes,
+ final ConfiguredObject<?>... parents)
+ {
+ ConfiguredObjectTypeFactory<X> factory = getConfiguredObjectTypeFactory(clazz, attributes);
+ if(factory == null)
+ {
+ throw new ServerScopedRuntimeException("No factory defined for ConfiguredObject of category " + clazz.getSimpleName() + " and attributes " + attributes);
+ }
+ return factory.create(this, attributes, parents);
}
@Override
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Model.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Model.java
index 39f26887a6..f1201e3cb9 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Model.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/Model.java
@@ -21,34 +21,10 @@
package org.apache.qpid.server.model;
-import java.util.ArrayList;
import java.util.Collection;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.Map;
-import java.util.Set;
public abstract class Model
{
- /*
- * API version for the broker model
- *
- * 1.0 Initial version
- * 1.1 Addition of mandatory virtual host type / different types of virtual host
- * 1.3 Truststore/Keystore type => trustStoreType / type => keyStoreType
- * 1.4 Separate messageStoreSettings from virtualhost
- */
- public static final int MODEL_MAJOR_VERSION = 1;
- public static final int MODEL_MINOR_VERSION = 4;
- public static final String MODEL_VERSION = MODEL_MAJOR_VERSION + "." + MODEL_MINOR_VERSION;
-
- private static final Model MODEL_INSTANCE = new ModelImpl();
-
- public static Model getInstance()
- {
- return MODEL_INSTANCE;
- }
public static Class<? extends ConfiguredObject> getCategory(final Class<?> clazz)
{
@@ -144,127 +120,4 @@ public abstract class Model
public abstract int getMajorVersion();
public abstract int getMinorVersion();
- private static class ModelImpl extends Model
- {
-
- private final Map<Class<? extends ConfiguredObject>, Collection<Class<? extends ConfiguredObject>>> _parents =
- new HashMap<Class<? extends ConfiguredObject>, Collection<Class<? extends ConfiguredObject>>>();
-
- private final Map<Class<? extends ConfiguredObject>, Collection<Class<? extends ConfiguredObject>>> _children =
- new HashMap<Class<? extends ConfiguredObject>, Collection<Class<? extends ConfiguredObject>>>();
-
- private final Set<Class<? extends ConfiguredObject>> _supportedTypes =
- new HashSet<Class<? extends ConfiguredObject>>();
-
- private Class<? extends ConfiguredObject> _rootCategory;
-
- private ModelImpl()
- {
- setRootCategory(SystemContext.class);
-
- addRelationship(SystemContext.class, Broker.class);
-
- addRelationship(Broker.class, VirtualHost.class);
- addRelationship(Broker.class, Port.class);
- addRelationship(Broker.class, AccessControlProvider.class);
- addRelationship(Broker.class, AuthenticationProvider.class);
- addRelationship(Broker.class, GroupProvider.class);
- addRelationship(Broker.class, TrustStore.class);
- addRelationship(Broker.class, KeyStore.class);
- addRelationship(Broker.class, Plugin.class);
-
- addRelationship(VirtualHost.class, Exchange.class);
- addRelationship(VirtualHost.class, Queue.class);
- addRelationship(VirtualHost.class, Connection.class);
- addRelationship(VirtualHost.class, VirtualHostAlias.class);
-
- addRelationship(Port.class, VirtualHostAlias.class);
-
-
- addRelationship(AuthenticationProvider.class, User.class);
- addRelationship(AuthenticationProvider.class, PreferencesProvider.class);
- addRelationship(User.class, GroupMember.class);
-
- addRelationship(GroupProvider.class, Group.class);
- addRelationship(Group.class, GroupMember.class);
-
- addRelationship(Connection.class, Session.class);
-
- addRelationship(Queue.class, Binding.class);
- addRelationship(Queue.class, Consumer.class);
-
- addRelationship(Exchange.class, Binding.class);
- addRelationship(Exchange.class, Publisher.class);
-
- addRelationship(Session.class, Consumer.class);
- addRelationship(Session.class, Publisher.class);
- }
-
- @Override
- public Class<? extends ConfiguredObject> getRootCategory()
- {
- return _rootCategory;
- }
-
- public Collection<Class<? extends ConfiguredObject>> getParentTypes(Class<? extends ConfiguredObject> child)
- {
- Collection<Class<? extends ConfiguredObject>> parentTypes = _parents.get(child);
- return parentTypes == null ? Collections.<Class<? extends ConfiguredObject>>emptyList()
- : Collections.unmodifiableCollection(parentTypes);
- }
-
- @Override
- public int getMajorVersion()
- {
- return MODEL_MAJOR_VERSION;
- }
-
- @Override
- public int getMinorVersion()
- {
- return MODEL_MINOR_VERSION;
- }
-
- public Collection<Class<? extends ConfiguredObject>> getChildTypes(Class<? extends ConfiguredObject> parent)
- {
- Collection<Class<? extends ConfiguredObject>> childTypes = _children.get(parent);
- return childTypes == null ? Collections.<Class<? extends ConfiguredObject>>emptyList()
- : Collections.unmodifiableCollection(childTypes);
- }
-
- @Override
- public Collection<Class<? extends ConfiguredObject>> getSupportedCategories()
- {
- return Collections.unmodifiableSet(_supportedTypes);
- }
-
- public void setRootCategory(final Class<? extends ConfiguredObject> rootCategory)
- {
- _rootCategory = rootCategory;
- }
-
- private void addRelationship(Class<? extends ConfiguredObject> parent, Class<? extends ConfiguredObject> child)
- {
- Collection<Class<? extends ConfiguredObject>> parents = _parents.get(child);
- if (parents == null)
- {
- parents = new ArrayList<Class<? extends ConfiguredObject>>();
- _parents.put(child, parents);
- }
- parents.add(parent);
-
- Collection<Class<? extends ConfiguredObject>> children = _children.get(parent);
- if (children == null)
- {
- children = new ArrayList<Class<? extends ConfiguredObject>>();
- _children.put(parent, children);
- }
- children.add(child);
-
- _supportedTypes.add(parent);
- _supportedTypes.add(child);
-
- }
-
- }
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContext.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContext.java
index 6e0f331d5e..03032ad1ed 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContext.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContext.java
@@ -21,7 +21,6 @@
package org.apache.qpid.server.model;
import org.apache.qpid.server.BrokerOptions;
-import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
@@ -31,8 +30,6 @@ public interface SystemContext<X extends SystemContext<X>> extends ConfiguredObj
{
void resolveObjects(ConfiguredObjectRecord... records);
- ConfiguredObjectFactory getObjectFactory();
-
EventLogger getEventLogger();
BrokerOptions getBrokerOptions();
@@ -47,7 +44,5 @@ public interface SystemContext<X extends SystemContext<X>> extends ConfiguredObj
Broker getBroker();
- TaskExecutor getTaskExecutor();
-
LogRecorder getLogRecorder();
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContextImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContextImpl.java
index 3ead1699b1..f0f5e96081 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContextImpl.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/SystemContextImpl.java
@@ -63,7 +63,7 @@ public class SystemContextImpl extends AbstractConfiguredObject<SystemContextImp
{
super(parentsMap(),
createAttributes(brokerOptions),
- taskExecutor);
+ taskExecutor, configuredObjectFactory);
_eventLogger = eventLogger;
getTaskExecutor().start();
_objectFactory = configuredObjectFactory;
@@ -231,12 +231,6 @@ public class SystemContextImpl extends AbstractConfiguredObject<SystemContextImp
}
@Override
- public ConfiguredObjectFactory getObjectFactory()
- {
- return _objectFactory;
- }
-
- @Override
public EventLogger getEventLogger()
{
return _eventLogger;
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
index 28553412f7..3dd261e9a9 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
@@ -48,7 +48,6 @@ import org.apache.qpid.server.logging.messages.VirtualHostMessages;
import org.apache.qpid.server.model.*;
import org.apache.qpid.server.model.port.AbstractPortWithAuthProvider;
import org.apache.qpid.server.model.port.AmqpPort;
-import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
import org.apache.qpid.server.plugin.MessageStoreFactory;
import org.apache.qpid.server.security.SecurityManager;
import org.apache.qpid.server.security.SubjectCreator;
@@ -67,7 +66,6 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
public static final String MANAGEMENT_MODE_AUTHENTICATION = "MANAGEMENT_MODE_AUTHENTICATION";
- private final ConfiguredObjectFactory _objectFactory;
private String[] POSITIVE_NUMERIC_ATTRIBUTES = { CONNECTION_SESSION_COUNT_LIMIT,
CONNECTION_HEART_BEAT_DELAY, STATISTICS_REPORTING_PERIOD };
@@ -110,7 +108,6 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
attributes,
parent.getTaskExecutor());
- _objectFactory = parent.getObjectFactory();
//_virtualHostRegistry = new VirtualHostRegistry(parent.getEventLogger());
_logRecorder = parent.getLogRecorder();
@@ -152,11 +149,11 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
int majorModelVersion = Integer.parseInt(majorVersionPart);
int minorModelVersion = Integer.parseInt(modelVersion.substring(versionSeparatorPosition + 1));
- if (majorModelVersion != Model.MODEL_MAJOR_VERSION || minorModelVersion > Model.MODEL_MINOR_VERSION)
+ if (majorModelVersion != BrokerModel.MODEL_MAJOR_VERSION || minorModelVersion > BrokerModel.MODEL_MINOR_VERSION)
{
deleted();
throw new IllegalConfigurationException("The model version '" + modelVersion
- + "' in configuration is incompatible with the broker model version '" + Model.MODEL_VERSION + "'");
+ + "' in configuration is incompatible with the broker model version '" + BrokerModel.MODEL_VERSION + "'");
}
if(!isDurable())
@@ -175,7 +172,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
throw new IllegalArgumentException(getClass().getSimpleName() + " must be durable");
}
Broker updated = (Broker) proxyForValidation;
- if (changedAttributes.contains(MODEL_VERSION) && !Model.MODEL_VERSION.equals(updated.getModelVersion()))
+ if (changedAttributes.contains(MODEL_VERSION) && !BrokerModel.MODEL_VERSION.equals(updated.getModelVersion()))
{
throw new IllegalConfigurationException("Cannot change the model version");
}
@@ -304,19 +301,19 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
@Override
public Collection<String> getSupportedVirtualHostTypes()
{
- return _objectFactory.getSupportedTypes(VirtualHost.class);
+ return getObjectFactory().getSupportedTypes(VirtualHost.class);
}
@Override
public Collection<String> getSupportedAuthenticationProviders()
{
- return _objectFactory.getSupportedTypes(AuthenticationProvider.class);
+ return getObjectFactory().getSupportedTypes(AuthenticationProvider.class);
}
@Override
public Collection<String> getSupportedPreferencesProviderTypes()
{
- return _objectFactory.getSupportedTypes(PreferencesProvider.class);
+ return getObjectFactory().getSupportedTypes(PreferencesProvider.class);
}
@Override
@@ -358,7 +355,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
@Override
public String getModelVersion()
{
- return Model.MODEL_VERSION;
+ return BrokerModel.MODEL_VERSION;
}
public Collection<VirtualHost<?,?,?>> getVirtualHosts()
@@ -408,9 +405,8 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
private VirtualHost createVirtualHost(final Map<String, Object> attributes)
throws AccessControlException, IllegalArgumentException
{
- ConfiguredObjectTypeFactory virtualHostFactory =
- _objectFactory.getConfiguredObjectTypeFactory(VirtualHost.class, attributes);
- final VirtualHost virtualHost = (VirtualHost) virtualHostFactory.create(attributes,this);
+
+ final VirtualHost virtualHost = getObjectFactory().create(VirtualHost.class,attributes,this);
// permission has already been granted to create the virtual host
// disable further access check on other operations, e.g. create exchange
@@ -602,14 +598,12 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
private <X extends ConfiguredObject> X createChild(Class<X> clazz, Map<String, Object> attributes)
{
- ConfiguredObjectTypeFactory factory =
- _objectFactory.getConfiguredObjectTypeFactory(clazz, attributes);
if(!attributes.containsKey(ConfiguredObject.ID))
{
attributes = new HashMap<String, Object>(attributes);
attributes.put(ConfiguredObject.ID, UUID.randomUUID());
}
- final X instance = (X) factory.create(attributes, this);
+ final X instance = (X) getObjectFactory().create(clazz,attributes, this);
return instance;
}
@@ -769,7 +763,7 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
@Override
public void execute()
{
- for (Class<? extends ConfiguredObject> clazz : Model.getInstance().getChildTypes(getCategoryClass()))
+ for (Class<? extends ConfiguredObject> clazz : getModel().getChildTypes(getCategoryClass()))
{
for (ConfiguredObject configuredObject : getChildren(clazz))
{
@@ -998,12 +992,6 @@ public class BrokerAdapter extends AbstractConfiguredObject<BrokerAdapter> imple
}
@Override
- public ConfiguredObjectFactory getObjectFactory()
- {
- return _objectFactory;
- }
-
- @Override
public void setEventLogger(final EventLogger eventLogger)
{
_eventLogger = eventLogger;
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortFactory.java
index c8a9270f1e..122421347e 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortFactory.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/PortFactory.java
@@ -20,17 +20,12 @@
*/
package org.apache.qpid.server.model.port;
-import java.util.HashMap;
import java.util.Map;
import java.util.Set;
-import java.util.UUID;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
-import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
-import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.Protocol.ProtocolType;
@@ -49,20 +44,12 @@ public class PortFactory<X extends Port<X>> implements ConfiguredObjectTypeFacto
public static final boolean DEFAULT_AMQP_TCP_NO_DELAY = true;
public static final String DEFAULT_AMQP_BINDING = "*";
public static final Transport DEFAULT_TRANSPORT = Transport.TCP;
- private ConfiguredObjectFactory _configuredObjectFactory;
public PortFactory()
{
}
- public Port createPort(UUID id, Broker broker, Map<String, Object> attributes)
- {
- attributes = new HashMap<String, Object>(attributes);
- attributes.put(Port.ID, id);
- return create(attributes,broker);
- }
-
private ProtocolType getProtocolType(Map<String, Object> portAttributes)
{
@@ -105,19 +92,23 @@ public class PortFactory<X extends Port<X>> implements ConfiguredObjectTypeFacto
}
@Override
- public X create(final Map<String, Object> attributes, final ConfiguredObject<?>... parents)
+ public X create(final ConfiguredObjectFactory factory,
+ final Map<String, Object> attributes,
+ final ConfiguredObject<?>... parents)
{
- return getPortFactory(attributes).create(attributes,parents);
+ return getPortFactory(factory, attributes).create(factory, attributes,parents);
}
@Override
- public UnresolvedConfiguredObject<X> recover(final ConfiguredObjectRecord record,
+ public UnresolvedConfiguredObject<X> recover(final ConfiguredObjectFactory factory,
+ final ConfiguredObjectRecord record,
final ConfiguredObject<?>... parents)
{
- return getPortFactory(record.getAttributes()).recover(record, parents);
+ return getPortFactory(factory, record.getAttributes()).recover(factory, record, parents);
}
- public ConfiguredObjectTypeFactory<X> getPortFactory(Map<String,Object> attributes)
+ public ConfiguredObjectTypeFactory<X> getPortFactory(final ConfiguredObjectFactory factory,
+ Map<String, Object> attributes)
{
String type;
@@ -130,14 +121,7 @@ public class PortFactory<X extends Port<X>> implements ConfiguredObjectTypeFacto
type = getProtocolType(attributes).name();
}
- synchronized (this)
- {
- if(_configuredObjectFactory == null)
- {
- _configuredObjectFactory = new ConfiguredObjectFactoryImpl(Model.getInstance());
- }
- }
- return _configuredObjectFactory.getConfiguredObjectTypeFactory(Port.class.getSimpleName(), type);
+ return factory.getConfiguredObjectTypeFactory(Port.class.getSimpleName(), type);
}
@Override
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfiguredObjectTypeFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfiguredObjectTypeFactory.java
index 9e4c760acf..0d16b4ffc7 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfiguredObjectTypeFactory.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/plugin/ConfiguredObjectTypeFactory.java
@@ -21,6 +21,7 @@
package org.apache.qpid.server.plugin;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
import org.apache.qpid.server.store.UnresolvedConfiguredObject;
@@ -30,7 +31,9 @@ public interface ConfiguredObjectTypeFactory<X extends ConfiguredObject<X>> exte
{
Class<? super X> getCategoryClass();
- X create(Map<String, Object> attributes, ConfiguredObject<?>... parents);
+ X create(final ConfiguredObjectFactory factory, Map<String, Object> attributes, ConfiguredObject<?>... parents);
- UnresolvedConfiguredObject<X> recover(ConfiguredObjectRecord record, ConfiguredObject<?>... parents);
+ UnresolvedConfiguredObject<X> recover(final ConfiguredObjectFactory factory,
+ ConfiguredObjectRecord record,
+ ConfiguredObject<?>... parents);
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueFactory.java
index e56ff20c67..d8575b17c0 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueFactory.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/queue/QueueFactory.java
@@ -24,8 +24,6 @@ import java.util.Map;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
-import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
@@ -34,8 +32,6 @@ import org.apache.qpid.server.store.UnresolvedConfiguredObject;
public class QueueFactory<X extends Queue<X>> implements ConfiguredObjectTypeFactory<X>
{
- private ConfiguredObjectFactory _configuredObjectFactory;
-
@Override
public Class<? super X> getCategoryClass()
{
@@ -43,19 +39,23 @@ public class QueueFactory<X extends Queue<X>> implements ConfiguredObjectTypeFa
}
@Override
- public X create(final Map<String, Object> attributes, final ConfiguredObject<?>... parents)
+ public X create(final ConfiguredObjectFactory factory,
+ final Map<String, Object> attributes,
+ final ConfiguredObject<?>... parents)
{
- return getQueueFactory(attributes).create(attributes, parents);
+ return getQueueFactory(factory, attributes).create(factory, attributes, parents);
}
@Override
- public UnresolvedConfiguredObject<X> recover(final ConfiguredObjectRecord record,
+ public UnresolvedConfiguredObject<X> recover(final ConfiguredObjectFactory factory,
+ final ConfiguredObjectRecord record,
final ConfiguredObject<?>... parents)
{
- return getQueueFactory(record.getAttributes()).recover(record, parents);
+ return getQueueFactory(factory, record.getAttributes()).recover(factory, record, parents);
}
- private ConfiguredObjectTypeFactory<X> getQueueFactory(Map<String, Object> attributes)
+ private ConfiguredObjectTypeFactory<X> getQueueFactory(final ConfiguredObjectFactory factory,
+ Map<String, Object> attributes)
{
String type;
@@ -84,14 +84,7 @@ public class QueueFactory<X extends Queue<X>> implements ConfiguredObjectTypeFa
}
}
- synchronized (this)
- {
- if(_configuredObjectFactory == null)
- {
- _configuredObjectFactory = new ConfiguredObjectFactoryImpl(Model.getInstance());
- }
- }
- return _configuredObjectFactory.getConfiguredObjectTypeFactory(Queue.class.getSimpleName(), type);
+ return factory.getConfiguredObjectTypeFactory(Queue.class.getSimpleName(), type);
}
@Override
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
index 25bf172614..6312415c77 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/AbstractAuthenticationManager.java
@@ -36,18 +36,14 @@ import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.ConfiguredObjectFactory;
-import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.IllegalStateTransitionException;
import org.apache.qpid.server.model.IntegrityViolationException;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.PreferencesProvider;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.User;
import org.apache.qpid.server.model.VirtualHostAlias;
import org.apache.qpid.server.model.port.AbstractPortWithAuthProvider;
-import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
import org.apache.qpid.server.security.SubjectCreator;
import org.apache.qpid.server.security.access.Operation;
@@ -157,13 +153,10 @@ public abstract class AbstractAuthenticationManager<T extends AbstractAuthentica
{
if(childClass == PreferencesProvider.class)
{
- // TODO RG - get the configured object factory from parents
- ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(Model.getInstance());
attributes = new HashMap<String, Object>(attributes);
attributes.put(ConfiguredObject.ID, UUID.randomUUID());
- final ConfiguredObjectTypeFactory preferencesFactory =
- factory.getConfiguredObjectTypeFactory(PreferencesProvider.class, attributes);
- PreferencesProvider pp = (PreferencesProvider) preferencesFactory.create(attributes, this);
+
+ PreferencesProvider pp = getObjectFactory().create(PreferencesProvider.class, attributes, this);
pp.setDesiredState(State.INITIALISING, State.ACTIVE);
_preferencesProvider = pp;
return (C)pp;
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordFileAuthenticationManagerFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordFileAuthenticationManagerFactory.java
index 10ecc68500..a8063a5bed 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordFileAuthenticationManagerFactory.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/Base64MD5PasswordFileAuthenticationManagerFactory.java
@@ -23,6 +23,7 @@ package org.apache.qpid.server.security.auth.manager;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
import org.apache.qpid.server.store.ResolvedObject;
import org.apache.qpid.server.store.UnresolvedConfiguredObject;
@@ -70,7 +71,8 @@ public class Base64MD5PasswordFileAuthenticationManagerFactory extends AbstractA
}
@Override
- public UnresolvedConfiguredObject<Base64MD5PasswordDatabaseAuthenticationManager> recover(final ConfiguredObjectRecord record,
+ public UnresolvedConfiguredObject<Base64MD5PasswordDatabaseAuthenticationManager> recover(final ConfiguredObjectFactory factory,
+ final ConfiguredObjectRecord record,
final ConfiguredObject<?>... parents)
{
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactory.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactory.java
index 9667c1e124..81dde6db81 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactory.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactory.java
@@ -23,6 +23,7 @@ package org.apache.qpid.server.security.auth.manager;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
import org.apache.qpid.server.store.ResolvedObject;
import org.apache.qpid.server.store.UnresolvedConfiguredObject;
@@ -72,7 +73,8 @@ public class PlainPasswordFileAuthenticationManagerFactory extends AbstractAuthe
}
@Override
- public UnresolvedConfiguredObject<PlainPasswordDatabaseAuthenticationManager> recover(final ConfiguredObjectRecord record,
+ public UnresolvedConfiguredObject<PlainPasswordDatabaseAuthenticationManager> recover(final ConfiguredObjectFactory factory,
+ final ConfiguredObjectRecord record,
final ConfiguredObject<?>... parents)
{
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java
index 6ff959fad8..0e61ec9b47 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/AbstractJDBCMessageStore.java
@@ -47,8 +47,8 @@ import java.util.concurrent.atomic.AtomicLong;
import org.apache.log4j.Logger;
import org.apache.qpid.server.message.EnqueueableMessage;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.plugin.MessageMetaDataType;
import org.apache.qpid.server.store.handler.ConfiguredObjectRecordHandler;
@@ -465,7 +465,7 @@ abstract public class AbstractJDBCMessageStore implements MessageStore, DurableC
{
UUID virtualHostId = UUIDGenerator.generateVhostUUID(parent.getName());
- String stringifiedConfigVersion = Model.MODEL_VERSION;
+ String stringifiedConfigVersion = BrokerModel.MODEL_VERSION;
boolean tableExists = tableExists(CONFIGURATION_VERSION_TABLE_NAME, connection);
if(tableExists)
{
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationRecoverer.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationRecoverer.java
index 507e14f021..52d690df53 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationRecoverer.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/DurableConfigurationRecoverer.java
@@ -34,8 +34,8 @@ import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.messages.ConfigStoreMessages;
import org.apache.qpid.server.logging.subjects.MessageStoreLogSubject;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Model;
public class DurableConfigurationRecoverer implements ConfigurationRecoveryHandler
{
@@ -108,12 +108,12 @@ public class DurableConfigurationRecoverer implements ConfigurationRecoveryHandl
applyUpgrade();
_eventLogger.message(_logSubject, ConfigStoreMessages.RECOVERY_COMPLETE());
- return Model.MODEL_VERSION;
+ return BrokerModel.MODEL_VERSION;
}
private String getConfigVersionFromRecords()
{
- String configVersion = Model.MODEL_VERSION;
+ String configVersion = BrokerModel.MODEL_VERSION;
for (ConfiguredObjectRecord record : _records)
{
if ("VirtualHost".equals(record.getType()))
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
index 1cf1d1a36d..23ecc6f243 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/JsonFileConfigStore.java
@@ -26,12 +26,16 @@ import java.io.IOException;
import java.nio.channels.FileChannel;
import java.nio.channels.FileLock;
import java.nio.channels.OverlappingFileLockException;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Collection;
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Iterator;
+import java.util.LinkedHashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.UUID;
-import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Model;
-import org.apache.qpid.server.model.VirtualHost;
-import org.apache.qpid.server.store.handler.ConfiguredObjectRecordHandler;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.JsonParseException;
import org.codehaus.jackson.JsonProcessingException;
@@ -44,11 +48,16 @@ import org.codehaus.jackson.map.SerializationConfig;
import org.codehaus.jackson.map.SerializerProvider;
import org.codehaus.jackson.map.module.SimpleModule;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.Model;
+import org.apache.qpid.server.model.VirtualHost;
+import org.apache.qpid.server.store.handler.ConfiguredObjectRecordHandler;
+
public class JsonFileConfigStore implements DurableConfigurationStore
{
- private static final Model MODEL = Model.getInstance();
- private static final Map<String,Class<? extends ConfiguredObject>> CLASS_NAME_MAPPING = generateClassNameMap(VirtualHost.class);
+ private Map<String,Class<? extends ConfiguredObject>> _classNameMapping;
public static final String TYPE = "JSON";
private final Map<UUID, ConfiguredObjectRecord> _objectsById = new HashMap<UUID, ConfiguredObjectRecord>();
@@ -83,6 +92,8 @@ public class JsonFileConfigStore implements DurableConfigurationStore
_module = module;
}
+ private ConfiguredObject<?> _parent;
+
public JsonFileConfigStore()
{
_objectMapper.registerModule(_module);
@@ -92,7 +103,9 @@ public class JsonFileConfigStore implements DurableConfigurationStore
@Override
public void openConfigurationStore(ConfiguredObject<?> parent, Map<String, Object> storeSettings)
{
+ _parent = parent;
_name = parent.getName();
+ _classNameMapping = generateClassNameMap(_parent.getModel(), VirtualHost.class);
setup(storeSettings);
load();
}
@@ -250,7 +263,7 @@ public class JsonFileConfigStore implements DurableConfigurationStore
protected void loadFromMap(final Map data)
{
Collection<Class<? extends ConfiguredObject>> childClasses =
- MODEL.getChildTypes(VirtualHost.class);
+ _parent.getModel().getChildTypes(VirtualHost.class);
data.remove("modelVersion");
Object configVersion;
if((configVersion = data.remove("configVersion")) instanceof Integer)
@@ -284,7 +297,7 @@ public class JsonFileConfigStore implements DurableConfigurationStore
final UUID parentId)
{
Collection<Class<? extends ConfiguredObject>> childClasses =
- MODEL.getChildTypes(clazz);
+ _parent.getModel().getChildTypes(clazz);
String idStr = (String) data.remove("id");
final UUID id = UUID.fromString(idStr);
final String type = clazz.getSimpleName();
@@ -313,7 +326,7 @@ public class JsonFileConfigStore implements DurableConfigurationStore
if(parentId != null)
{
parentMap.put(parentClass.getSimpleName(),parentId);
- for(Class<? extends ConfiguredObject> otherParent : MODEL.getParentTypes(clazz))
+ for(Class<? extends ConfiguredObject> otherParent : _parent.getModel().getParentTypes(clazz))
{
if(otherParent != parentClass)
{
@@ -353,7 +366,7 @@ public class JsonFileConfigStore implements DurableConfigurationStore
{
throw new StoreException("Object with id " + record.getId() + " already exists");
}
- else if(!CLASS_NAME_MAPPING.containsKey(record.getType()))
+ else if(!_classNameMapping.containsKey(record.getType()))
{
throw new StoreException("Cannot create object of unknown type " + record.getType());
}
@@ -375,10 +388,10 @@ public class JsonFileConfigStore implements DurableConfigurationStore
private void save()
{
Collection<Class<? extends ConfiguredObject>> childClasses =
- MODEL.getChildTypes(VirtualHost.class);
+ _parent.getModel().getChildTypes(VirtualHost.class);
Map<String, Object> virtualHostMap = new LinkedHashMap<String, Object>();
- virtualHostMap.put("modelVersion", Model.MODEL_VERSION);
+ virtualHostMap.put("modelVersion", BrokerModel.MODEL_VERSION);
virtualHostMap.put("configVersion", _configVersion);
for(Class<? extends ConfiguredObject> childClass : childClasses)
@@ -423,7 +436,7 @@ public class JsonFileConfigStore implements DurableConfigurationStore
map.put("id", id);
map.putAll(record.getAttributes());
- Collection<Class<? extends ConfiguredObject>> parentTypes = MODEL.getParentTypes(type);
+ Collection<Class<? extends ConfiguredObject>> parentTypes = _parent.getModel().getParentTypes(type);
if(parentTypes.size() > 1)
{
Iterator<Class<? extends ConfiguredObject>> iter = parentTypes.iterator();
@@ -439,12 +452,12 @@ public class JsonFileConfigStore implements DurableConfigurationStore
}
Collection<Class<? extends ConfiguredObject>> childClasses =
- new ArrayList<Class<? extends ConfiguredObject>>(MODEL.getChildTypes(type));
+ new ArrayList<Class<? extends ConfiguredObject>>(_parent.getModel().getChildTypes(type));
for(Class<? extends ConfiguredObject> childClass : childClasses)
{
// only add if this is the "first" parent
- if(MODEL.getParentTypes(childClass).iterator().next() == type)
+ if(_parent.getModel().getParentTypes(childClass).iterator().next() == type)
{
String attrName = childClass.getSimpleName().toLowerCase() + "s";
List<UUID> childIds = _idsByType.get(childClass.getSimpleName());
@@ -514,7 +527,7 @@ public class JsonFileConfigStore implements DurableConfigurationStore
throw new StoreException("Cannot update record with id " + id
+ " of type " + type + " as it does not exist");
}
- else if(!CLASS_NAME_MAPPING.containsKey(type))
+ else if(!_classNameMapping.containsKey(type))
{
throw new StoreException("Cannot update record of unknown type " + type);
}
@@ -565,16 +578,17 @@ public class JsonFileConfigStore implements DurableConfigurationStore
}
- private static Map<String,Class<? extends ConfiguredObject>> generateClassNameMap(final Class<? extends ConfiguredObject> clazz)
+ private static Map<String,Class<? extends ConfiguredObject>> generateClassNameMap(final Model model,
+ final Class<? extends ConfiguredObject> clazz)
{
Map<String,Class<? extends ConfiguredObject>>map = new HashMap<String, Class<? extends ConfiguredObject>>();
map.put(clazz.getSimpleName().toString(), clazz);
- Collection<Class<? extends ConfiguredObject>> childClasses = MODEL.getChildTypes(clazz);
+ Collection<Class<? extends ConfiguredObject>> childClasses = model.getChildTypes(clazz);
if(childClasses != null)
{
for(Class<? extends ConfiguredObject> childClass : childClasses)
{
- map.putAll(generateClassNameMap(childClass));
+ map.putAll(generateClassNameMap(model, childClass));
}
}
return map;
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/ResolvedObject.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/ResolvedObject.java
index ee36663a7f..bbb8a08243 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/ResolvedObject.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/store/ResolvedObject.java
@@ -20,12 +20,11 @@
*/
package org.apache.qpid.server.store;
-import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Model;
-
import java.util.Collection;
import java.util.Collections;
+import org.apache.qpid.server.model.ConfiguredObject;
+
public class ResolvedObject<C extends ConfiguredObject<C>> implements UnresolvedConfiguredObject<C>
{
@@ -41,7 +40,7 @@ public class ResolvedObject<C extends ConfiguredObject<C>> implements Unresolved
public ConfiguredObject<?>[] getParents()
{
final Collection<Class<? extends ConfiguredObject>> parentTypes =
- Model.getInstance().getParentTypes(_resolved.getCategoryClass());
+ _resolved.getModel().getParentTypes(_resolved.getCategoryClass());
ConfiguredObject<?>[] parents = new ConfiguredObject[parentTypes.size()];
int i = 0;
for(Class<? extends ConfiguredObject> parentType : parentTypes)
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
index 510c071dd3..645c6061bd 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
@@ -63,7 +63,6 @@ import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.model.*;
import org.apache.qpid.server.model.adapter.ConnectionAdapter;
import org.apache.qpid.server.model.adapter.VirtualHostAliasAdapter;
-import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
import org.apache.qpid.server.plugin.QpidServiceLoader;
import org.apache.qpid.server.plugin.SystemNodeCreator;
import org.apache.qpid.server.protocol.AMQConnectionModel;
@@ -621,14 +620,11 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
private AMQQueue<?> addQueueWithoutDLQ(Map<String, Object> attributes) throws QueueExistsException
{
- Broker<?> broker = getParent(Broker.class);
- ConfiguredObjectTypeFactory<? extends Queue> factory =
- broker.getObjectFactory().getConfiguredObjectTypeFactory(Queue.class, attributes);
try
{
- return (AMQQueue) factory.create(attributes, this);
+ return (AMQQueue) getObjectFactory().create(Queue.class, attributes, this);
}
catch (DuplicateNameException e)
{
@@ -783,14 +779,11 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
throws ExchangeExistsException, ReservedExchangeNameException,
UnknownExchangeException, AMQUnknownExchangeType
{
- Broker<?> broker = getParent(Broker.class);
- ConfiguredObjectTypeFactory<? extends Exchange> factory =
- broker.getObjectFactory().getConfiguredObjectTypeFactory(Exchange.class, attributes);
try
{
- return (ExchangeImpl) factory.create(attributes, this);
+ return (ExchangeImpl) getObjectFactory().create(Exchange.class, attributes, this);
}
catch (DuplicateNameException e)
{
@@ -811,12 +804,6 @@ public abstract class AbstractVirtualHost<X extends AbstractVirtualHost<X>> exte
return _broker.getSecurityManager();
}
- @Override
- public ConfiguredObjectFactory getObjectFactory()
- {
- return _broker.getObjectFactory();
- }
-
public void close()
{
//Stop Connections
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/BindingRecoverer.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/BindingRecoverer.java
index a75696e9b8..8aeff7f847 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/BindingRecoverer.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/BindingRecoverer.java
@@ -35,7 +35,6 @@ import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.Queue;
-import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.store.AbstractDurableConfiguredObjectRecoverer;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
@@ -125,10 +124,8 @@ public class BindingRecoverer extends AbstractDurableConfiguredObjectRecoverer<B
attributesWithId.put(org.apache.qpid.server.model.Exchange.ID,_record.getId());
attributesWithId.put(org.apache.qpid.server.model.Exchange.DURABLE,true);
- ConfiguredObjectTypeFactory<? extends Binding> configuredObjectTypeFactory =
- _objectFactory.getConfiguredObjectTypeFactory(Binding.class, attributesWithId);
UnresolvedConfiguredObject<? extends Binding> unresolvedConfiguredObject =
- configuredObjectTypeFactory.recover(_record, _exchange, _queue);
+ _objectFactory.recover(_record, _exchange, _queue);
Binding binding = (Binding<?>) unresolvedConfiguredObject.resolve();
binding.open();
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/DefaultUpgraderProvider.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/DefaultUpgraderProvider.java
index fe2f867e41..956d44a27e 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/DefaultUpgraderProvider.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/DefaultUpgraderProvider.java
@@ -31,8 +31,8 @@ import org.apache.log4j.Logger;
import org.apache.qpid.server.exchange.TopicExchange;
import org.apache.qpid.server.filter.FilterSupport;
import org.apache.qpid.server.model.Binding;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.Exchange;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.queue.QueueArgumentsConverter;
@@ -96,7 +96,7 @@ public class DefaultUpgraderProvider implements UpgraderProvider
currentUpgrader = addUpgrader(currentUpgrader, new Version3Upgrader());
case 4:
currentUpgrader = addUpgrader(currentUpgrader, new Version4Upgrader());
- case (Model.MODEL_MAJOR_VERSION * 10) + Model.MODEL_MINOR_VERSION:
+ case (BrokerModel.MODEL_MAJOR_VERSION * 10) + BrokerModel.MODEL_MINOR_VERSION:
currentUpgrader = addUpgrader(currentUpgrader, new NullUpgrader(recoverer));
break;
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ExchangeRecoverer.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ExchangeRecoverer.java
index 9347b97606..920f9f0675 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ExchangeRecoverer.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/ExchangeRecoverer.java
@@ -28,7 +28,6 @@ import org.apache.qpid.server.exchange.ExchangeImpl;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.Exchange;
-import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
import org.apache.qpid.server.store.AbstractDurableConfiguredObjectRecoverer;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
import org.apache.qpid.server.store.UnresolvedConfiguredObject;
@@ -81,10 +80,8 @@ public class ExchangeRecoverer extends AbstractDurableConfiguredObjectRecoverer<
attributesWithId.put(org.apache.qpid.server.model.Exchange.ID,record.getId());
attributesWithId.put(org.apache.qpid.server.model.Exchange.DURABLE,true);
- ConfiguredObjectTypeFactory<? extends Exchange> configuredObjectTypeFactory =
- _objectFactory.getConfiguredObjectTypeFactory(Exchange.class, attributesWithId);
UnresolvedConfiguredObject<? extends Exchange> unresolvedConfiguredObject =
- configuredObjectTypeFactory.recover(record, _vhost);
+ _objectFactory.recover(record, _vhost);
_exchange = (ExchangeImpl<?>) unresolvedConfiguredObject.resolve();
}
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/QueueRecoverer.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/QueueRecoverer.java
index 9606a44acb..221727ab6b 100644
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/QueueRecoverer.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/QueueRecoverer.java
@@ -32,7 +32,6 @@ import org.apache.qpid.server.exchange.ExchangeImpl;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.Queue;
-import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.store.AbstractDurableConfiguredObjectRecoverer;
import org.apache.qpid.server.store.ConfiguredObjectRecord;
@@ -123,10 +122,8 @@ public class QueueRecoverer extends AbstractDurableConfiguredObjectRecoverer<AMQ
attributesWithId.put(Queue.ID,_record.getId());
attributesWithId.put(Queue.DURABLE,true);
- ConfiguredObjectTypeFactory<? extends Queue> configuredObjectTypeFactory =
- _objectFactory.getConfiguredObjectTypeFactory(Queue.class, attributesWithId);
UnresolvedConfiguredObject<? extends Queue> unresolvedConfiguredObject =
- configuredObjectTypeFactory.recover(_record, _virtualHost);
+ _objectFactory.recover(_record, _virtualHost);
_queue = (AMQQueue<?>) unresolvedConfiguredObject.resolve();
}
_queue.open();
diff --git a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
index 68469118f6..1408034e97 100755
--- a/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
+++ b/qpid/java/broker-core/src/main/java/org/apache/qpid/server/virtualhost/VirtualHostImpl.java
@@ -26,7 +26,6 @@ import java.util.UUID;
import java.util.concurrent.ScheduledFuture;
import org.apache.qpid.common.Closeable;
-import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.connection.IConnectionRegistry;
import org.apache.qpid.server.exchange.AMQUnknownExchangeType;
import org.apache.qpid.server.exchange.ExchangeImpl;
@@ -34,7 +33,6 @@ import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.EventLoggerProvider;
import org.apache.qpid.server.message.MessageDestination;
import org.apache.qpid.server.message.MessageSource;
-import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.protocol.LinkRegistry;
import org.apache.qpid.server.queue.AMQQueue;
@@ -90,8 +88,6 @@ public interface VirtualHostImpl< X extends VirtualHostImpl<X,Q,E>, Q extends AM
SecurityManager getSecurityManager();
- ConfiguredObjectFactory getObjectFactory();
-
void close();
UUID getId();
@@ -122,8 +118,6 @@ public interface VirtualHostImpl< X extends VirtualHostImpl<X,Q,E>, Q extends AM
boolean getDefaultDeadLetterQueueEnabled();
- TaskExecutor getTaskExecutor();
-
EventLogger getEventLogger();
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/BrokerConfigurationStoreCreatorTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/BrokerConfigurationStoreCreatorTest.java
index 43b1ed508a..0068cab824 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/BrokerConfigurationStoreCreatorTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/BrokerConfigurationStoreCreatorTest.java
@@ -40,8 +40,8 @@ import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.SystemContext;
import org.apache.qpid.server.model.SystemContextImpl;
import org.apache.qpid.test.utils.QpidTestCase;
@@ -73,7 +73,7 @@ public class BrokerConfigurationStoreCreatorTest extends QpidTestCase
_taskExecutor = new TaskExecutor();
_taskExecutor.start();
_systemContext = new SystemContextImpl(_taskExecutor,
- new ConfiguredObjectFactoryImpl(Model.getInstance()),
+ new ConfiguredObjectFactoryImpl(BrokerModel.getInstance()),
mock(EventLogger.class),
mock(LogRecorder.class),
brokerOptions);
@@ -130,7 +130,7 @@ public class BrokerConfigurationStoreCreatorTest extends QpidTestCase
UUID testBrokerId = UUID.randomUUID();
brokerObjectMap.put(Broker.ID, testBrokerId);
brokerObjectMap.put(Broker.NAME, testBrokerName);
- brokerObjectMap.put(Broker.MODEL_VERSION, Model.MODEL_VERSION);
+ brokerObjectMap.put(Broker.MODEL_VERSION, BrokerModel.MODEL_VERSION);
brokerObjectMap.put(Broker.STORE_VERSION, 1);
StringWriter sw = new StringWriter();
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java
index 2a718b5c15..9eca7458f2 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java
@@ -41,11 +41,11 @@ import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.GroupProvider;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.SystemContext;
import org.apache.qpid.server.model.SystemContextImpl;
@@ -74,7 +74,7 @@ public class BrokerRecovererTest extends TestCase
{
super.setUp();
- _configuredObjectFactory = new ConfiguredObjectFactoryImpl(Model.getInstance());
+ _configuredObjectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
_taskExecutor = new TaskExecutor();
_taskExecutor.start();
_systemContext = new SystemContextImpl(_taskExecutor,
@@ -83,7 +83,7 @@ public class BrokerRecovererTest extends TestCase
when(_brokerEntry.getId()).thenReturn(_brokerId);
when(_brokerEntry.getType()).thenReturn(Broker.class.getSimpleName());
Map<String, Object> attributesMap = new HashMap<String, Object>();
- attributesMap.put(Broker.MODEL_VERSION, Model.MODEL_VERSION);
+ attributesMap.put(Broker.MODEL_VERSION, BrokerModel.MODEL_VERSION);
attributesMap.put(Broker.NAME, getName());
when(_brokerEntry.getAttributes()).thenReturn(attributesMap);
@@ -113,7 +113,7 @@ public class BrokerRecovererTest extends TestCase
attributes.put(Broker.CONNECTION_HEART_BEAT_DELAY, 2000);
attributes.put(Broker.STATISTICS_REPORTING_PERIOD, 4000);
attributes.put(Broker.STATISTICS_REPORTING_RESET_ENABLED, true);
- attributes.put(Broker.MODEL_VERSION, Model.MODEL_VERSION);
+ attributes.put(Broker.MODEL_VERSION, BrokerModel.MODEL_VERSION);
Map<String, Object> entryAttributes = new HashMap<String, Object>();
for (Map.Entry<String, Object> attribute : attributes.entrySet())
@@ -301,7 +301,7 @@ public class BrokerRecovererTest extends TestCase
catch (IllegalConfigurationException e)
{
assertEquals("The model version '" + incompatibleVersion
- + "' in configuration is incompatible with the broker model version '" + Model.MODEL_VERSION + "'", e.getMessage());
+ + "' in configuration is incompatible with the broker model version '" + BrokerModel.MODEL_VERSION + "'", e.getMessage());
}
}
}
@@ -310,7 +310,7 @@ public class BrokerRecovererTest extends TestCase
public void testModelVersionValidationForIncompatibleMinorVersion() throws Exception
{
Map<String, Object> brokerAttributes = new HashMap<String, Object>();
- String incompatibleVersion = Model.MODEL_MAJOR_VERSION + "." + Integer.MAX_VALUE;
+ String incompatibleVersion = BrokerModel.MODEL_MAJOR_VERSION + "." + Integer.MAX_VALUE;
brokerAttributes.put(Broker.MODEL_VERSION, incompatibleVersion);
brokerAttributes.put(Broker.NAME, getName());
@@ -328,7 +328,7 @@ public class BrokerRecovererTest extends TestCase
catch (IllegalConfigurationException e)
{
assertEquals("The model version '" + incompatibleVersion
- + "' in configuration is incompatible with the broker model version '" + Model.MODEL_VERSION + "'", e.getMessage());
+ + "' in configuration is incompatible with the broker model version '" + BrokerModel.MODEL_VERSION + "'", e.getMessage());
}
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileKeyStoreCreationTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileKeyStoreCreationTest.java
index 07e9cecb8b..f84ee8914a 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileKeyStoreCreationTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileKeyStoreCreationTest.java
@@ -21,6 +21,7 @@
package org.apache.qpid.server.configuration.startup;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import java.security.PrivilegedAction;
import java.util.HashMap;
@@ -34,12 +35,11 @@ import junit.framework.TestCase;
import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.KeyStore;
-import org.apache.qpid.server.model.Model;
-import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
import org.apache.qpid.server.security.FileKeyStore;
import org.apache.qpid.server.security.SecurityManager;
import org.apache.qpid.test.utils.TestSSLConstants;
@@ -52,7 +52,7 @@ public class FileKeyStoreCreationTest extends TestCase
public void setUp() throws Exception
{
super.setUp();
- _factory = new ConfiguredObjectFactoryImpl(Model.getInstance());
+ _factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
}
public void testCreateWithAllAttributesProvided()
@@ -61,6 +61,8 @@ public class FileKeyStoreCreationTest extends TestCase
Map<String, Object> attributesCopy = new HashMap<String, Object>(attributes);
Broker broker = mock(Broker.class);
+ when(broker.getObjectFactory()).thenReturn(_factory);
+ when(broker.getModel()).thenReturn(_factory.getModel());
final FileKeyStore keyStore =
createKeyStore(attributes, broker);
@@ -96,17 +98,16 @@ public class FileKeyStoreCreationTest extends TestCase
protected FileKeyStore createKeyStore(final Map<String, Object> attributes, final Broker broker)
{
- ConfiguredObjectTypeFactory configuredObjectTypeFactory =
- _factory.getConfiguredObjectTypeFactory(KeyStore.class, attributes);
- return (FileKeyStore) configuredObjectTypeFactory.create(attributes, broker);
+ return (FileKeyStore) _factory.create(KeyStore.class,attributes, broker);
}
public void testCreateWithMissedRequiredAttributes()
{
Map<String, Object> attributes = getKeyStoreAttributes();
- UUID id = UUID.randomUUID();
Broker broker = mock(Broker.class);
+ when(broker.getObjectFactory()).thenReturn(_factory);
+ when(broker.getModel()).thenReturn(_factory.getModel());
String[] mandatoryProperties = {KeyStore.NAME, FileKeyStore.PATH, FileKeyStore.PASSWORD};
for (int i = 0; i < mandatoryProperties.length; i++)
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileTrustStoreCreationTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileTrustStoreCreationTest.java
index c6d3430a44..82eb924721 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileTrustStoreCreationTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/FileTrustStoreCreationTest.java
@@ -21,6 +21,7 @@
package org.apache.qpid.server.configuration.startup;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import java.security.PrivilegedAction;
import java.util.HashMap;
@@ -32,6 +33,8 @@ import javax.security.auth.Subject;
import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.TrustStore;
import org.apache.qpid.server.security.FileTrustStore;
import org.apache.qpid.server.security.FileTrustStoreImpl;
@@ -47,7 +50,11 @@ public class FileTrustStoreCreationTest extends QpidTestCase
Map<String, Object> attributes = getTrustStoreAttributes(id);
Map<String, Object> attributesCopy = new HashMap<String, Object>(attributes);
+ ConfiguredObjectFactoryImpl factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+
Broker broker = mock(Broker.class);
+ when(broker.getObjectFactory()).thenReturn(factory);
+ when(broker.getModel()).thenReturn(factory.getModel());
final FileTrustStore trustStore = new FileTrustStoreImpl(attributes, broker);
trustStore.open();
@@ -84,7 +91,10 @@ public class FileTrustStoreCreationTest extends QpidTestCase
UUID id = UUID.randomUUID();
Map<String, Object> attributes = getTrustStoreAttributes(id);
+ ConfiguredObjectFactoryImpl factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
Broker broker = mock(Broker.class);
+ when(broker.getObjectFactory()).thenReturn(factory);
+ when(broker.getModel()).thenReturn(factory.getModel());
String[] mandatoryProperties = {TrustStore.NAME, FileTrustStore.PATH, FileTrustStore.PASSWORD};
for (int i = 0; i < mandatoryProperties.length; i++)
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/PreferencesProviderCreationTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/PreferencesProviderCreationTest.java
index af56cf049f..69c4ab37cd 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/PreferencesProviderCreationTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/PreferencesProviderCreationTest.java
@@ -31,6 +31,7 @@ import java.util.UUID;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.PreferencesProvider;
import org.apache.qpid.server.model.adapter.FileSystemPreferencesProvider;
import org.apache.qpid.server.model.adapter.FileSystemPreferencesProviderImpl;
@@ -69,7 +70,10 @@ public class PreferencesProviderCreationTest extends QpidTestCase
BrokerTestHelper.setUp();
_authenticationProvider = mock(AuthenticationProvider.class);
_broker = BrokerTestHelper.createBrokerMock();
+ ConfiguredObjectFactory factory = _broker.getObjectFactory();
when(_authenticationProvider.getParent(Broker.class)).thenReturn(_broker);
+ when(_authenticationProvider.getObjectFactory()).thenReturn(factory);
+ when(_authenticationProvider.getModel()).thenReturn(factory.getModel());
}
public void tearDown() throws Exception
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostCreationTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostCreationTest.java
index 5831fe3caa..9a56d30ac6 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostCreationTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostCreationTest.java
@@ -35,10 +35,10 @@ import org.apache.qpid.server.configuration.ConfigurationEntry;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.SystemContext;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.security.SecurityManager;
@@ -53,11 +53,14 @@ public class VirtualHostCreationTest extends TestCase
{
SecurityManager securityManager = mock(SecurityManager.class);
ConfigurationEntry entry = mock(ConfigurationEntry.class);
- ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(Model.getInstance());
SystemContext systemContext = mock(SystemContext.class);
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(systemContext.getObjectFactory()).thenReturn(objectFactory);
+ when(systemContext.getModel()).thenReturn(objectFactory.getModel());
Broker parent = mock(Broker.class);
when(parent.getObjectFactory()).thenReturn(objectFactory);
+ when(parent.getModel()).thenReturn(objectFactory.getModel());
when(parent.getSecurityManager()).thenReturn(securityManager);
when(parent.getCategoryClass()).thenReturn(Broker.class);
when(systemContext.getEventLogger()).thenReturn(mock(EventLogger.class));
@@ -93,10 +96,16 @@ public class VirtualHostCreationTest extends TestCase
{
SecurityManager securityManager = mock(SecurityManager.class);
SystemContext systemContext = mock(SystemContext.class);
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(systemContext.getObjectFactory()).thenReturn(objectFactory);
+ when(systemContext.getModel()).thenReturn(objectFactory.getModel());
+
Broker parent = mock(Broker.class);
when(parent.getSecurityManager()).thenReturn(securityManager);
when(parent.getParent(eq(SystemContext.class))).thenReturn(systemContext);
when(systemContext.getEventLogger()).thenReturn(mock(EventLogger.class));
+ when(parent.getObjectFactory()).thenReturn(objectFactory);
+ when(parent.getModel()).thenReturn(objectFactory.getModel());
for (String name : mandatoryAttributes)
{
@@ -117,11 +126,7 @@ public class VirtualHostCreationTest extends TestCase
{
// pass
}
- catch(NullPointerException e)
- {
- System.err.println(name);
- e.printStackTrace();
- }
+
}
}
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ConfigurationEntryStoreTestCase.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ConfigurationEntryStoreTestCase.java
index 82ced3c274..bc44d00879 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ConfigurationEntryStoreTestCase.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ConfigurationEntryStoreTestCase.java
@@ -20,22 +20,30 @@
*/
package org.apache.qpid.server.configuration.store;
+import static org.mockito.Mockito.mock;
+
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
import java.util.UUID;
+import org.apache.qpid.server.BrokerOptions;
import org.apache.qpid.server.configuration.ConfigurationEntry;
import org.apache.qpid.server.configuration.ConfigurationEntryImpl;
import org.apache.qpid.server.configuration.updater.TaskExecutor;
+import org.apache.qpid.server.logging.EventLogger;
+import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.GroupProvider;
import org.apache.qpid.server.model.KeyStore;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.PreferencesProvider;
+import org.apache.qpid.server.model.SystemContextImpl;
import org.apache.qpid.server.model.Transport;
import org.apache.qpid.server.model.TrustStore;
import org.apache.qpid.server.model.VirtualHost;
@@ -60,14 +68,20 @@ public abstract class ConfigurationEntryStoreTestCase extends QpidTestCase
private Map<String, Object> _authenticationProviderAttributes;
private TaskExecutor _taskExecutor;
+ private SystemContextImpl _systemContext;
public void setUp() throws Exception
{
super.setUp();
+
_taskExecutor = new TaskExecutor();
_taskExecutor.start();
+ _systemContext = new SystemContextImpl(_taskExecutor, new ConfiguredObjectFactoryImpl(BrokerModel.getInstance()),
+ mock(EventLogger.class), mock(LogRecorder.class),
+ new BrokerOptions());
+
_brokerId = UUID.randomUUID();
_brokerAttributes = new HashMap<String, Object>();
_brokerAttributes.put(Broker.DEFAULT_VIRTUAL_HOST, "test");
@@ -91,6 +105,11 @@ public abstract class ConfigurationEntryStoreTestCase extends QpidTestCase
addConfiguration(_authenticationProviderId, AuthenticationProvider.class.getSimpleName(), _authenticationProviderAttributes);
}
+ SystemContextImpl getSystemContext()
+ {
+ return _systemContext;
+ }
+
@Override
public void tearDown() throws Exception
{
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStoreTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStoreTest.java
index d3dc996d3e..62697548d5 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStoreTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/JsonConfigurationEntryStoreTest.java
@@ -45,8 +45,8 @@ import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.PreferencesProvider;
import org.apache.qpid.server.model.SystemContext;
import org.apache.qpid.server.model.SystemContextImpl;
@@ -100,7 +100,7 @@ public class JsonConfigurationEntryStoreTest extends ConfigurationEntryStoreTest
final BrokerOptions brokerOptions = mock(BrokerOptions.class);
when(brokerOptions.getConfigurationStoreLocation()).thenReturn(absolutePath);
SystemContext context = new SystemContextImpl(getTaskExecutor(),
- new ConfiguredObjectFactoryImpl(Model.getInstance()),
+ new ConfiguredObjectFactoryImpl(BrokerModel.getInstance()),
mock(EventLogger.class),
mock(LogRecorder.class),
brokerOptions);
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
index 50169d9f4f..b569825b46 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/ManagementModeStoreHandlerTest.java
@@ -44,8 +44,8 @@ import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.State;
@@ -78,7 +78,7 @@ public class ManagementModeStoreHandlerTest extends QpidTestCase
_taskExecutor = new TaskExecutor();
_taskExecutor.start();
- _systemContext = new SystemContextImpl(_taskExecutor, new ConfiguredObjectFactoryImpl(Model.getInstance()), mock(
+ _systemContext = new SystemContextImpl(_taskExecutor, new ConfiguredObjectFactoryImpl(BrokerModel.getInstance()), mock(
EventLogger.class), mock(LogRecorder.class), new BrokerOptions());
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStoreTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStoreTest.java
index 92d42d779f..40090efb17 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStoreTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/configuration/store/MemoryConfigurationEntryStoreTest.java
@@ -20,8 +20,6 @@
*/
package org.apache.qpid.server.configuration.store;
-import static org.mockito.Mockito.mock;
-
import java.io.File;
import java.util.Collections;
import java.util.HashMap;
@@ -36,25 +34,15 @@ import org.apache.qpid.server.BrokerOptions;
import org.apache.qpid.server.configuration.ConfigurationEntry;
import org.apache.qpid.server.configuration.ConfigurationEntryImpl;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
-import org.apache.qpid.server.logging.EventLogger;
-import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
-import org.apache.qpid.server.model.Model;
-import org.apache.qpid.server.model.SystemContext;
-import org.apache.qpid.server.model.SystemContextImpl;
public class MemoryConfigurationEntryStoreTest extends ConfigurationEntryStoreTestCase
{
- private SystemContext _systemContext;
@Override
public void setUp() throws Exception
{
super.setUp();
- _systemContext = new SystemContextImpl(getTaskExecutor(), new ConfiguredObjectFactoryImpl(Model.getInstance()),
- mock(EventLogger.class), mock(LogRecorder.class),
- new BrokerOptions());
}
@@ -66,7 +54,7 @@ public class MemoryConfigurationEntryStoreTest extends ConfigurationEntryStoreTe
broker.putAll(brokerAttributes);
ObjectMapper mapper = new ObjectMapper();
- return new MemoryConfigurationEntryStore(mapper.writeValueAsString(broker), Collections.<String,String>emptyMap());
+ return new MemoryConfigurationEntryStore(getSystemContext(),mapper.writeValueAsString(broker), Collections.<String,String>emptyMap());
}
@Override
@@ -84,7 +72,7 @@ public class MemoryConfigurationEntryStoreTest extends ConfigurationEntryStoreTe
{
try
{
- new MemoryConfigurationEntryStore(null, null, null, Collections.<String,String>emptyMap());
+ new MemoryConfigurationEntryStore(getSystemContext(), null, null, Collections.<String,String>emptyMap());
fail("Cannot create a memory store without either initial store or path to an initial store file");
}
catch(IllegalConfigurationException e)
@@ -95,7 +83,7 @@ public class MemoryConfigurationEntryStoreTest extends ConfigurationEntryStoreTe
public void testCreateWithNullJson()
{
- MemoryConfigurationEntryStore store = new MemoryConfigurationEntryStore(null, Collections.<String,String>emptyMap());
+ MemoryConfigurationEntryStore store = new MemoryConfigurationEntryStore(getSystemContext(),null, Collections.<String,String>emptyMap());
ConfigurationEntry root = store.getRootEntry();
assertNotNull("Root entry is not found", root);
@@ -107,7 +95,7 @@ public class MemoryConfigurationEntryStoreTest extends ConfigurationEntryStoreTe
Map<String, Object> brokerAttributes = new HashMap<String, Object>();
brokerAttributes.put(Broker.NAME, getTestName());
MemoryConfigurationEntryStore initialStoreFile = createStore(brokerId, brokerAttributes);
- MemoryConfigurationEntryStore store = new MemoryConfigurationEntryStore(_systemContext, null, initialStoreFile, Collections.<String,String>emptyMap());
+ MemoryConfigurationEntryStore store = new MemoryConfigurationEntryStore(getSystemContext(), null, initialStoreFile, Collections.<String,String>emptyMap());
ConfigurationEntry root = store.getRootEntry();
assertNotNull("Root entry is not found", root);
@@ -128,11 +116,11 @@ public class MemoryConfigurationEntryStoreTest extends ConfigurationEntryStoreTe
setTestSystemProperty("QPID_HOME", TMP_FOLDER);
setTestSystemProperty("QPID_WORK", TMP_FOLDER + File.separator + "work");
}
- MemoryConfigurationEntryStore initialStore = new MemoryConfigurationEntryStore(_systemContext,BrokerOptions.DEFAULT_INITIAL_CONFIG_LOCATION, null, new BrokerOptions().getConfigProperties());
+ MemoryConfigurationEntryStore initialStore = new MemoryConfigurationEntryStore(getSystemContext(),BrokerOptions.DEFAULT_INITIAL_CONFIG_LOCATION, null, new BrokerOptions().getConfigProperties());
ConfigurationEntry initialStoreRoot = initialStore.getRootEntry();
assertNotNull("Initial store root entry is not found", initialStoreRoot);
- MemoryConfigurationEntryStore store = new MemoryConfigurationEntryStore(_systemContext, null, initialStore, Collections.<String,String>emptyMap());
+ MemoryConfigurationEntryStore store = new MemoryConfigurationEntryStore(getSystemContext(), null, initialStore, Collections.<String,String>emptyMap());
ConfigurationEntry root = store.getRootEntry();
assertNotNull("Root entry is not found", root);
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java
index 269d36e5c1..7fd6dcead2 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/consumer/MockConsumer.java
@@ -41,6 +41,9 @@ import org.apache.qpid.server.filter.SimpleFilterManager;
import org.apache.qpid.server.logging.LogSubject;
import org.apache.qpid.server.message.MessageInstance;
import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.Consumer;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Session;
@@ -239,6 +242,9 @@ public class MockConsumer implements ConsumerTarget
{
_modelObject = mock(Session.class);
when(_modelObject.getCategoryClass()).thenReturn(Session.class);
+ ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(_modelObject.getObjectFactory()).thenReturn(factory);
+ when(_modelObject.getModel()).thenReturn(factory.getModel());
}
@Override
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java
index 6217f3ecfa..77f594f7a1 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java
@@ -41,6 +41,8 @@ import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.message.AMQMessageHeader;
import org.apache.qpid.server.message.InstanceProperties;
import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.queue.AMQQueue;
@@ -54,6 +56,7 @@ public class FanoutExchangeTest extends TestCase
private FanoutExchange _exchange;
private VirtualHostImpl _virtualHost;
private TaskExecutor _taskExecutor;
+ private ConfiguredObjectFactoryImpl _objectFactory;
public void setUp() throws UnknownExchangeException
{
@@ -69,6 +72,8 @@ public class FanoutExchangeTest extends TestCase
when(_virtualHost.getSecurityManager()).thenReturn(securityManager);
when(_virtualHost.getEventLogger()).thenReturn(new EventLogger());
when(_virtualHost.getTaskExecutor()).thenReturn(_taskExecutor);
+ _objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(_virtualHost.getObjectFactory()).thenReturn(_objectFactory);
_exchange = new FanoutExchange(attributes, _virtualHost);
_exchange.open();
}
@@ -120,6 +125,7 @@ public class FanoutExchangeTest extends TestCase
private AMQQueue bindQueue()
{
AMQQueue queue = mockQueue();
+
_exchange.addBinding("matters", queue, null);
return queue;
}
@@ -129,6 +135,8 @@ public class FanoutExchangeTest extends TestCase
AMQQueue queue = mock(AMQQueue.class);
when(queue.getVirtualHost()).thenReturn(_virtualHost);
when(queue.getCategoryClass()).thenReturn(Queue.class);
+ when(queue.getObjectFactory()).thenReturn(_objectFactory);
+ when(queue.getModel()).thenReturn(_objectFactory.getModel());
return queue;
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java
index 9b1da6225b..ec901e5067 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java
@@ -35,6 +35,8 @@ import org.apache.qpid.server.binding.BindingImpl;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.message.AMQMessageHeader;
import org.apache.qpid.server.model.Binding;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.plugin.ExchangeType;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.virtualhost.VirtualHostImpl;
@@ -44,6 +46,8 @@ import org.apache.qpid.server.virtualhost.VirtualHostImpl;
public class HeadersBindingTest extends TestCase
{
+ private ConfiguredObjectFactoryImpl _objectFactory;
+
private class MockHeader implements AMQMessageHeader
{
@@ -146,14 +150,17 @@ public class HeadersBindingTest extends TestCase
{
_count++;
_queue = mock(AMQQueue.class);
+ _objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
VirtualHostImpl vhost = mock(VirtualHostImpl.class);
when(_queue.getVirtualHost()).thenReturn(vhost);
+ when(_queue.getObjectFactory()).thenReturn(_objectFactory);
when(vhost.getSecurityManager()).thenReturn(mock(org.apache.qpid.server.security.SecurityManager.class));
final EventLogger eventLogger = new EventLogger();
when(vhost.getEventLogger()).thenReturn(eventLogger);
_exchange = mock(ExchangeImpl.class);
when(_exchange.getExchangeType()).thenReturn(mock(ExchangeType.class));
when(_exchange.getEventLogger()).thenReturn(eventLogger);
+ when(_exchange.getObjectFactory()).thenReturn(_objectFactory);
}
protected String getQueueName()
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java
index 28cb59256d..86c5e23a0f 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java
@@ -44,6 +44,8 @@ import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.message.AMQMessageHeader;
import org.apache.qpid.server.message.InstanceProperties;
import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.VirtualHost;
@@ -57,6 +59,7 @@ public class HeadersExchangeTest extends TestCase
private HeadersExchange _exchange;
private VirtualHostImpl _virtualHost;
private TaskExecutor _taskExecutor;
+ private ConfiguredObjectFactoryImpl _factory;
@Override
public void setUp() throws Exception
@@ -71,6 +74,9 @@ public class HeadersExchangeTest extends TestCase
when(_virtualHost.getEventLogger()).thenReturn(new EventLogger());
when(_virtualHost.getCategoryClass()).thenReturn(VirtualHost.class);
when(_virtualHost.getTaskExecutor()).thenReturn(_taskExecutor);
+ _factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(_virtualHost.getObjectFactory()).thenReturn(_factory);
+ when(_virtualHost.getModel()).thenReturn(_factory.getModel());
Map<String,Object> attributes = new HashMap<String, Object>();
attributes.put(Exchange.ID, UUID.randomUUID());
attributes.put(Exchange.NAME, "test");
@@ -143,6 +149,8 @@ public class HeadersExchangeTest extends TestCase
when(q.toString()).thenReturn(name);
when(q.getVirtualHost()).thenReturn(_virtualHost);
when(q.getCategoryClass()).thenReturn(Queue.class);
+ when(q.getObjectFactory()).thenReturn(_factory);
+ when(q.getModel()).thenReturn(_factory.getModel());
return q;
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderFactoryTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderFactoryTest.java
index 9479447fe6..0e792a4929 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderFactoryTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderFactoryTest.java
@@ -33,6 +33,7 @@ import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.PreferencesProvider;
import org.apache.qpid.server.util.BrokerTestHelper;
import org.apache.qpid.test.utils.QpidTestCase;
@@ -51,6 +52,11 @@ public class FileSystemPreferencesProviderFactoryTest extends QpidTestCase
_authenticationProvider = mock(AuthenticationProvider.class);
_broker = BrokerTestHelper.createBrokerMock();
when(_authenticationProvider.getParent(Broker.class)).thenReturn(_broker);
+ ConfiguredObjectFactory objectFactory = _broker.getObjectFactory();
+ when(_authenticationProvider.getModel()).thenReturn(objectFactory.getModel());
+ when(_authenticationProvider.getObjectFactory()).thenReturn(objectFactory);
+ when(_authenticationProvider.getCategoryClass()).thenReturn(AuthenticationProvider.class);
+
_factory = new FileSystemPreferencesProviderFactory();
}
@@ -82,7 +88,7 @@ public class FileSystemPreferencesProviderFactoryTest extends QpidTestCase
{
attributes.put(FileSystemPreferencesProvider.PATH, file.getAbsolutePath());
attributes.put(ConfiguredObject.ID, id);
- PreferencesProvider provider = _factory.create(attributes, _authenticationProvider);
+ PreferencesProvider provider = _factory.create(null, attributes, _authenticationProvider);
assertNotNull("Preferences provider was not instantiated", provider);
assertEquals("Unexpected name", "test-provider", provider.getName());
assertEquals("Unexpected id", id, provider.getId());
@@ -107,7 +113,7 @@ public class FileSystemPreferencesProviderFactoryTest extends QpidTestCase
{
attributes.put(FileSystemPreferencesProvider.PATH, file.getAbsolutePath());
attributes.put(ConfiguredObject.ID, id);
- _factory.create(attributes, _authenticationProvider);
+ _factory.create(null, attributes, _authenticationProvider);
}
catch (IllegalConfigurationException e)
{
@@ -127,7 +133,7 @@ public class FileSystemPreferencesProviderFactoryTest extends QpidTestCase
{
attributes.put(FileSystemPreferencesProvider.PATH, file.getAbsolutePath());
attributes.put(ConfiguredObject.ID, id);
- PreferencesProvider provider = _factory.create(attributes, _authenticationProvider);
+ PreferencesProvider provider = _factory.create(null, attributes, _authenticationProvider);
assertNotNull("Preferences provider was not recovered", provider);
assertEquals("Unexpected name", "test-provider", provider.getName());
assertEquals("Unexpected id", id, provider.getId());
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderTest.java
index d8ee851813..fee31b3369 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/FileSystemPreferencesProviderTest.java
@@ -35,6 +35,7 @@ import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.util.BrokerTestHelper;
import org.apache.qpid.test.utils.QpidTestCase;
@@ -66,6 +67,10 @@ public class FileSystemPreferencesProviderTest extends QpidTestCase
when(_broker.getTaskExecutor()).thenReturn(_taskExecutor);
when(_authenticationProvider.getParent(Broker.class)).thenReturn(_broker);
+ ConfiguredObjectFactory objectFactory = _broker.getObjectFactory();
+ when(_authenticationProvider.getModel()).thenReturn(objectFactory.getModel());
+ when(_authenticationProvider.getObjectFactory()).thenReturn(objectFactory);
+ when(_authenticationProvider.getCategoryClass()).thenReturn(AuthenticationProvider.class);
}
protected void tearDown() throws Exception
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java
index 80b29ac6b2..73a655bfea 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/adapter/PortFactoryTest.java
@@ -38,6 +38,9 @@ import org.apache.qpid.server.configuration.BrokerProperties;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.KeyStore;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.Protocol;
@@ -63,7 +66,7 @@ public class PortFactoryTest extends QpidTestCase
private TrustStore _trustStore = mock(TrustStore.class);
private String _authProviderName = "authProvider";
private AuthenticationProvider _authProvider = mock(AuthenticationProvider.class);
- private PortFactory _portFactory;
+ private ConfiguredObjectFactoryImpl _factory;
@Override
@@ -73,9 +76,24 @@ public class PortFactoryTest extends QpidTestCase
when(_broker.getChildren(eq(AuthenticationProvider.class))).thenReturn(Collections.singleton(_authProvider));
when(_broker.getCategoryClass()).thenReturn(Broker.class);
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(_broker.getObjectFactory()).thenReturn(objectFactory);
+ when(_broker.getModel()).thenReturn(objectFactory.getModel());
+ when(_authProvider.getModel()).thenReturn(objectFactory.getModel());
+ when(_authProvider.getObjectFactory()).thenReturn(objectFactory);
+ when(_authProvider.getCategoryClass()).thenReturn(AuthenticationProvider.class);
+
+
+ when(_keyStore.getModel()).thenReturn(objectFactory.getModel());
+ when(_keyStore.getObjectFactory()).thenReturn(objectFactory);
+ when(_trustStore.getModel()).thenReturn(objectFactory.getModel());
+ when(_trustStore.getObjectFactory()).thenReturn(objectFactory);
+
+
setTestSystemProperty(BrokerProperties.PROPERTY_BROKER_DEFAULT_AMQP_PROTOCOL_EXCLUDES, null);
setTestSystemProperty(BrokerProperties.PROPERTY_BROKER_DEFAULT_AMQP_PROTOCOL_INCLUDES, null);
- _portFactory = new PortFactory();
+ _factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ _attributes.put(Port.ID, _portId);
_attributes.put(Port.NAME, getName());
_attributes.put(Port.PORT, _portNumber);
_attributes.put(Port.TRANSPORTS, _tcpStringSet);
@@ -93,7 +111,7 @@ public class PortFactoryTest extends QpidTestCase
attributes.put(Port.NAME, getName());
attributes.put(Port.AUTHENTICATION_PROVIDER, _authProviderName);
- Port<?> port = _portFactory.createPort(_portId, _broker, attributes);
+ Port<?> port = _factory.create(Port.class, attributes, _broker);
Collection<Protocol> protocols = port.getAvailableProtocols();
@@ -111,7 +129,8 @@ public class PortFactoryTest extends QpidTestCase
attributes.put(Port.PORT, 1);
attributes.put(Port.NAME, getName());
attributes.put(Port.AUTHENTICATION_PROVIDER, _authProviderName);
- Port<?> port = _portFactory.createPort(_portId, _broker, attributes);
+ Port<?> port = _factory.create(Port.class, attributes, _broker);
+
Collection<Protocol> protocols = port.getAvailableProtocols();
@@ -130,7 +149,7 @@ public class PortFactoryTest extends QpidTestCase
attributes.put(Port.PORT, 1);
attributes.put(Port.NAME, getName());
attributes.put(Port.AUTHENTICATION_PROVIDER, _authProviderName);
- Port<?> port = _portFactory.createPort(_portId, _broker, attributes);
+ Port<?> port = _factory.create(Port.class, attributes, _broker);
Collection<Protocol> protocols = port.getAvailableProtocols();
@@ -144,7 +163,7 @@ public class PortFactoryTest extends QpidTestCase
attributes.put(Port.PORT, 1);
attributes.put(Port.NAME, getName());
attributes.put(Port.AUTHENTICATION_PROVIDER, _authProviderName);
- Port port = _portFactory.createPort(_portId, _broker, attributes);
+ Port<?> port = _factory.create(Port.class, attributes, _broker);
assertNotNull(port);
assertTrue(port instanceof AmqpPort);
@@ -283,7 +302,7 @@ public class PortFactoryTest extends QpidTestCase
_attributes.put(Port.TRUST_STORES, Arrays.asList(trustStoreNames));
}
- Port port = _portFactory.createPort(_portId, _broker, _attributes);
+ Port<?> port = _factory.create(Port.class, _attributes, _broker);
assertNotNull(port);
assertTrue(port instanceof AmqpPort);
@@ -316,8 +335,9 @@ public class PortFactoryTest extends QpidTestCase
_attributes.put(Port.PORT, _portNumber);
_attributes.put(Port.TRANSPORTS, _tcpStringSet);
_attributes.put(Port.NAME, getName());
+ _attributes.put(Port.ID, _portId);
- Port port = _portFactory.createPort(_portId, _broker, _attributes);
+ Port<?> port = _factory.create(Port.class, _attributes, _broker);
assertNotNull(port);
assertFalse("Port should not be an AMQP-specific subclass", port instanceof AmqpPort);
@@ -341,8 +361,9 @@ public class PortFactoryTest extends QpidTestCase
_attributes.put(Port.AUTHENTICATION_PROVIDER, _authProviderName);
_attributes.put(Port.PORT, _portNumber);
_attributes.put(Port.NAME, getName());
+ _attributes.put(Port.ID, _portId);
- Port port = _portFactory.createPort(_portId, _broker, _attributes);
+ Port<?> port = _factory.create(Port.class, _attributes, _broker);
assertNotNull(port);
assertFalse("Port not be an AMQP-specific port subclass", port instanceof AmqpPort);
@@ -364,7 +385,7 @@ public class PortFactoryTest extends QpidTestCase
try
{
- _portFactory.createPort(_portId, _broker, _attributes);
+ Port<?> port = _factory.create(Port.class, _attributes, _broker);
fail("Exception not thrown");
}
catch (IllegalConfigurationException e)
@@ -387,7 +408,7 @@ public class PortFactoryTest extends QpidTestCase
try
{
- _portFactory.createPort(_portId, _broker, attributes);
+ Port<?> port = _factory.create(Port.class, attributes, _broker);
fail("RMI port creation should fail as another one already exist");
}
catch(IllegalConfigurationException e)
@@ -411,7 +432,7 @@ public class PortFactoryTest extends QpidTestCase
try
{
- _portFactory.createPort(_portId, _broker, attributes);
+ Port<?> port = _factory.create(Port.class, attributes, _broker);
fail("RMI port creation should fail due to requesting SSL");
}
catch(IllegalConfigurationException e)
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java
index d4914e7ecf..bd65566215 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/LastValueQueueListTest.java
@@ -32,6 +32,9 @@ import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.message.AMQMessageHeader;
import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.security.SecurityManager;
import org.apache.qpid.server.virtualhost.VirtualHostImpl;
@@ -58,6 +61,9 @@ public class LastValueQueueListTest extends TestCase
final VirtualHostImpl virtualHost = mock(VirtualHostImpl.class);
when(virtualHost.getSecurityManager()).thenReturn(mock(SecurityManager.class));
when(virtualHost.getEventLogger()).thenReturn(new EventLogger());
+ ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(virtualHost.getObjectFactory()).thenReturn(factory);
+ when(virtualHost.getModel()).thenReturn(factory.getModel());
_queue = new LastValueQueueImpl(queueAttributes, virtualHost);
_queue.open();
_list = _queue.getEntries();
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/PriorityQueueListTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/PriorityQueueListTest.java
index d619d62b10..0104597fa3 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/PriorityQueueListTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/PriorityQueueListTest.java
@@ -31,6 +31,9 @@ import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.message.AMQMessageHeader;
import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.security.SecurityManager;
import org.apache.qpid.server.util.BrokerTestHelper;
@@ -58,6 +61,9 @@ public class PriorityQueueListTest extends QpidTestCase
final VirtualHostImpl virtualHost = mock(VirtualHostImpl.class);
when(virtualHost.getSecurityManager()).thenReturn(mock(SecurityManager.class));
when(virtualHost.getEventLogger()).thenReturn(new EventLogger());
+ ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(virtualHost.getObjectFactory()).thenReturn(factory);
+ when(virtualHost.getModel()).thenReturn(factory.getModel());
PriorityQueueImpl queue = new PriorityQueueImpl(queueAttributes, virtualHost);
queue.open();
_list = queue.getEntries();
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
index b6f8f69843..3eb002d66f 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/QueueEntryImplTestBase.java
@@ -33,6 +33,9 @@ import org.apache.qpid.server.message.MessageInstance;
import org.apache.qpid.server.message.MessageInstance.EntryState;
import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.virtualhost.VirtualHostImpl;
@@ -199,6 +202,10 @@ public abstract class QueueEntryImplTestBase extends TestCase
when(virtualHost.getSecurityManager()).thenReturn(mock(org.apache.qpid.server.security.SecurityManager.class));
when(virtualHost.getEventLogger()).thenReturn(new EventLogger());
+ ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(virtualHost.getObjectFactory()).thenReturn(factory);
+ when(virtualHost.getModel()).thenReturn(factory.getModel());
+
StandardQueueImpl queue = new StandardQueueImpl(queueAttributes, virtualHost);
queue.open();
OrderedQueueEntryList queueEntryList = queue.getEntries();
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java
index b71d752fe7..870dcde1b8 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SimpleQueueEntryImplTest.java
@@ -30,6 +30,9 @@ import java.util.UUID;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.virtualhost.VirtualHostImpl;
@@ -47,6 +50,9 @@ public class SimpleQueueEntryImplTest extends QueueEntryImplTestBase
final VirtualHostImpl virtualHost = mock(VirtualHostImpl.class);
when(virtualHost.getSecurityManager()).thenReturn(mock(org.apache.qpid.server.security.SecurityManager.class));
when(virtualHost.getEventLogger()).thenReturn(new EventLogger());
+ ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(virtualHost.getObjectFactory()).thenReturn(factory);
+ when(virtualHost.getModel()).thenReturn(factory.getModel());
StandardQueueImpl queue = new StandardQueueImpl(queueAttributes, virtualHost);
queue.open();
queueEntryList = queue.getEntries();
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryListTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryListTest.java
index 0f41b32696..c8943ad597 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryListTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryListTest.java
@@ -33,6 +33,9 @@ import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.message.AMQMessageHeader;
import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.security.SecurityManager;
@@ -86,6 +89,9 @@ public class SortedQueueEntryListTest extends QueueEntryListTestBase
final VirtualHostImpl virtualHost = mock(VirtualHostImpl.class);
when(virtualHost.getSecurityManager()).thenReturn(mock(SecurityManager.class));
when(virtualHost.getEventLogger()).thenReturn(new EventLogger());
+ ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(virtualHost.getObjectFactory()).thenReturn(factory);
+ when(virtualHost.getModel()).thenReturn(factory.getModel());
_testQueue = new SortedQueueImpl(attributes, virtualHost)
{
SelfValidatingSortedQueueEntryList _entries;
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java
index a116af2733..64c0b10df7 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/SortedQueueEntryTest.java
@@ -32,6 +32,9 @@ import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.message.AMQMessageHeader;
import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.virtualhost.VirtualHostImpl;
@@ -56,6 +59,9 @@ public class SortedQueueEntryTest extends QueueEntryImplTestBase
final VirtualHostImpl virtualHost = mock(VirtualHostImpl.class);
when(virtualHost.getSecurityManager()).thenReturn(mock(org.apache.qpid.server.security.SecurityManager.class));
when(virtualHost.getEventLogger()).thenReturn(new EventLogger());
+ ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(virtualHost.getObjectFactory()).thenReturn(factory);
+ when(virtualHost.getModel()).thenReturn(factory.getModel());
SortedQueueImpl queue = new SortedQueueImpl(attributes, virtualHost)
{
SelfValidatingSortedQueueEntryList _entries;
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java
index ef3bc0b824..5f05ddff1e 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/queue/StandardQueueEntryListTest.java
@@ -31,6 +31,8 @@ import java.util.concurrent.ConcurrentHashMap;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.ServerMessage;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.security.SecurityManager;
import org.apache.qpid.server.virtualhost.VirtualHostImpl;
@@ -43,6 +45,7 @@ public class StandardQueueEntryListTest extends QueueEntryListTestBase
private static final String SCAVENGE_PROP = "qpid.queue.scavenge_count";
private String oldScavengeValue = null;
+ private ConfiguredObjectFactoryImpl _factory;
@Override
protected void setUp()
@@ -55,6 +58,9 @@ public class StandardQueueEntryListTest extends QueueEntryListTestBase
final VirtualHostImpl virtualHost = mock(VirtualHostImpl.class);
when(virtualHost.getSecurityManager()).thenReturn(mock(SecurityManager.class));
when(virtualHost.getEventLogger()).thenReturn(new EventLogger());
+ _factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(virtualHost.getObjectFactory()).thenReturn(_factory);
+ when(virtualHost.getModel()).thenReturn(_factory.getModel());
_testQueue = new StandardQueueImpl(queueAttributes, virtualHost);
_testQueue.open();
_sqel = _testQueue.getEntries();
@@ -101,6 +107,9 @@ public class StandardQueueEntryListTest extends QueueEntryListTestBase
final VirtualHostImpl virtualHost = mock(VirtualHostImpl.class);
when(virtualHost.getSecurityManager()).thenReturn(mock(SecurityManager.class));
when(virtualHost.getEventLogger()).thenReturn(new EventLogger());
+ when(virtualHost.getObjectFactory()).thenReturn(_factory);
+ when(virtualHost.getModel()).thenReturn(_factory.getModel());
+
StandardQueueImpl queue = new StandardQueueImpl(queueAttributes, virtualHost);
queue.open();
return queue.getEntries();
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerTest.java
index d57c79fc93..9a6c641314 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/AnonymousAuthenticationManagerTest.java
@@ -21,20 +21,19 @@
package org.apache.qpid.server.security.auth.manager;
import static org.apache.qpid.server.security.auth.AuthenticatedPrincipalTestHelper.assertOnlyContainsWrapped;
-import static org.mockito.Mockito.mock;
+
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
import javax.security.sasl.SaslException;
import javax.security.sasl.SaslServer;
import org.apache.qpid.server.model.AuthenticationProvider;
-import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.security.auth.AuthenticationResult;
+import org.apache.qpid.server.util.BrokerTestHelper;
import org.apache.qpid.test.utils.QpidTestCase;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
public class AnonymousAuthenticationManagerTest extends QpidTestCase
{
private AuthenticationManager _manager;
@@ -46,7 +45,7 @@ public class AnonymousAuthenticationManagerTest extends QpidTestCase
Map<String,Object> attrs = new HashMap<String, Object>();
attrs.put(AuthenticationProvider.ID, UUID.randomUUID());
attrs.put(AuthenticationProvider.NAME, getTestName());
- _manager = new AnonymousAuthenticationManager(attrs, mock(Broker.class));
+ _manager = new AnonymousAuthenticationManager(attrs, BrokerTestHelper.createBrokerMock());
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerTest.java
index 3a8a3cc190..7f212680ef 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ExternalAuthenticationManagerTest.java
@@ -19,7 +19,6 @@
package org.apache.qpid.server.security.auth.manager;
import static org.apache.qpid.server.security.auth.AuthenticatedPrincipalTestHelper.assertOnlyContainsWrapped;
-import static org.mockito.Mockito.mock;
import java.util.HashMap;
import java.util.Map;
@@ -30,9 +29,9 @@ import javax.security.sasl.SaslException;
import javax.security.sasl.SaslServer;
import org.apache.qpid.server.model.AuthenticationProvider;
-import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.security.auth.AuthenticationResult;
import org.apache.qpid.server.security.auth.UsernamePrincipal;
+import org.apache.qpid.server.util.BrokerTestHelper;
import org.apache.qpid.test.utils.QpidTestCase;
public class ExternalAuthenticationManagerTest extends QpidTestCase
@@ -48,13 +47,13 @@ public class ExternalAuthenticationManagerTest extends QpidTestCase
attrs.put(AuthenticationProvider.ID, UUID.randomUUID());
attrs.put(AuthenticationProvider.NAME, getTestName());
attrs.put("useFullDN",false);
- _manager = new ExternalAuthenticationManagerImpl(attrs, mock(Broker.class));
+ _manager = new ExternalAuthenticationManagerImpl(attrs, BrokerTestHelper.createBrokerMock());
_manager.open();
HashMap<String, Object> attrsFullDN = new HashMap<String, Object>();
attrsFullDN.put(AuthenticationProvider.ID, UUID.randomUUID());
attrsFullDN.put(AuthenticationProvider.NAME, getTestName()+"FullDN");
attrsFullDN.put("useFullDN",true);
- _managerUsingFullDN = new ExternalAuthenticationManagerImpl(attrsFullDN, mock(Broker.class));
+ _managerUsingFullDN = new ExternalAuthenticationManagerImpl(attrsFullDN, BrokerTestHelper.createBrokerMock());
_managerUsingFullDN.open();
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactoryTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactoryTest.java
index 21d35815f9..7be60d1049 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactoryTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PlainPasswordFileAuthenticationManagerFactoryTest.java
@@ -19,8 +19,6 @@
*/
package org.apache.qpid.server.security.auth.manager;
-import static org.mockito.Mockito.mock;
-
import java.io.File;
import java.util.HashMap;
import java.util.Map;
@@ -30,8 +28,8 @@ import junit.framework.TestCase;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.plugin.AuthenticationManagerFactory;
import org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase;
+import org.apache.qpid.server.util.BrokerTestHelper;
public class PlainPasswordFileAuthenticationManagerFactoryTest extends TestCase
{
@@ -39,7 +37,7 @@ public class PlainPasswordFileAuthenticationManagerFactoryTest extends TestCase
PlainPasswordFileAuthenticationManagerFactory _factory = new PlainPasswordFileAuthenticationManagerFactory();
private Map<String, Object> _configuration = new HashMap<String, Object>();
private File _emptyPasswordFile;
- private Broker _broker = mock(Broker.class);
+ private Broker _broker = BrokerTestHelper.createBrokerMock();
@Override
protected void setUp() throws Exception
@@ -56,7 +54,7 @@ public class PlainPasswordFileAuthenticationManagerFactoryTest extends TestCase
_configuration.put(AuthenticationProvider.TYPE, PlainPasswordFileAuthenticationManagerFactory.PROVIDER_TYPE);
_configuration.put("path", _emptyPasswordFile.getAbsolutePath());
- AuthenticationManager manager = _factory.create(_configuration, _broker);
+ AuthenticationManager manager = _factory.create(null, _configuration, _broker);
assertNotNull(manager);
assertTrue(manager instanceof PrincipalDatabaseAuthenticationManager);
assertTrue(((PrincipalDatabaseAuthenticationManager)manager).getPrincipalDatabase() instanceof PlainPasswordFilePrincipalDatabase);
@@ -71,7 +69,7 @@ public class PlainPasswordFileAuthenticationManagerFactoryTest extends TestCase
_configuration.put("path", _emptyPasswordFile.getAbsolutePath());
- AuthenticationManager manager = _factory.create(_configuration, _broker);
+ AuthenticationManager manager = _factory.create(null, _configuration, _broker);
assertNotNull(manager);
assertTrue(manager instanceof PrincipalDatabaseAuthenticationManager);
@@ -84,7 +82,7 @@ public class PlainPasswordFileAuthenticationManagerFactoryTest extends TestCase
try
{
- AuthenticationManager manager = _factory.create(_configuration, _broker);
+ AuthenticationManager manager = _factory.create(null, _configuration, _broker);
fail("No authentication manager should be created");
}
catch (IllegalArgumentException e)
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java
index c2cbe8c780..90a3785a3b 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/PrincipalDatabaseAuthenticationManagerTest.java
@@ -39,13 +39,13 @@ import javax.security.sasl.SaslServer;
import javax.security.sasl.SaslServerFactory;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
-import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.security.auth.AuthenticationResult;
import org.apache.qpid.server.security.auth.AuthenticationResult.AuthenticationStatus;
import org.apache.qpid.server.security.auth.UsernamePrincipal;
import org.apache.qpid.server.security.auth.database.PlainPasswordFilePrincipalDatabase;
import org.apache.qpid.server.security.auth.database.PrincipalDatabase;
+import org.apache.qpid.server.util.BrokerTestHelper;
import org.apache.qpid.test.utils.QpidTestCase;
/**
@@ -105,7 +105,7 @@ public class PrincipalDatabaseAuthenticationManagerTest extends QpidTestCase
attrs.put(ConfiguredObject.ID, UUID.randomUUID());
attrs.put(ConfiguredObject.NAME, getTestName());
attrs.put("path", _passwordFileLocation);
- _manager = new PrincipalDatabaseAuthenticationManager(attrs, mock(Broker.class))
+ _manager = new PrincipalDatabaseAuthenticationManager(attrs, BrokerTestHelper.createBrokerMock())
{
@Override
protected PrincipalDatabase createDatabase()
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerTest.java
index 2a42cbf02f..743e310414 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/ScramSHA1AuthenticationManagerTest.java
@@ -20,23 +20,25 @@
*/
package org.apache.qpid.server.security.auth.manager;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
+import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+import javax.security.auth.login.AccountNotFoundException;
+
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.User;
+import org.apache.qpid.server.security.SecurityManager;
import org.apache.qpid.server.security.auth.AuthenticationResult;
+import org.apache.qpid.server.util.BrokerTestHelper;
import org.apache.qpid.test.utils.QpidTestCase;
- import org.apache.qpid.server.security.SecurityManager;
-
-import javax.security.auth.login.AccountNotFoundException;
-import java.util.Collections;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
-
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.when;
public class ScramSHA1AuthenticationManagerTest extends QpidTestCase
{
@@ -51,7 +53,7 @@ public class ScramSHA1AuthenticationManagerTest extends QpidTestCase
super.setUp();
_executor = new TaskExecutor();
_executor.start();
- _broker = mock(Broker.class);
+ _broker = BrokerTestHelper.createBrokerMock();
_securityManager = mock(SecurityManager.class);
when(_broker.getTaskExecutor()).thenReturn(_executor);
when(_broker.getSecurityManager()).thenReturn(_securityManager);
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManagerTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManagerTest.java
index 27293b6651..85247af755 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManagerTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleAuthenticationManagerTest.java
@@ -30,15 +30,13 @@ import javax.security.sasl.SaslException;
import javax.security.sasl.SaslServer;
import org.apache.qpid.server.model.AuthenticationProvider;
-import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.security.auth.AuthenticationResult;
import org.apache.qpid.server.security.auth.AuthenticationResult.AuthenticationStatus;
import org.apache.qpid.server.security.auth.sasl.SaslUtil;
import org.apache.qpid.server.security.auth.sasl.plain.PlainSaslServer;
+import org.apache.qpid.server.util.BrokerTestHelper;
import org.apache.qpid.test.utils.QpidTestCase;
-import static org.mockito.Mockito.mock;
-
public class SimpleAuthenticationManagerTest extends QpidTestCase
{
private static final String TEST_USER = "testUser";
@@ -51,8 +49,8 @@ public class SimpleAuthenticationManagerTest extends QpidTestCase
Map<String,Object> authManagerAttrs = new HashMap<String, Object>();
authManagerAttrs.put(AuthenticationProvider.NAME,"MANAGEMENT_MODE_AUTHENTICATION");
authManagerAttrs.put(AuthenticationProvider.ID, UUID.randomUUID());
- final SimpleAuthenticationManager authManager = new SimpleAuthenticationManager(authManagerAttrs, mock(Broker.class)
- );
+ final SimpleAuthenticationManager authManager = new SimpleAuthenticationManager(authManagerAttrs,
+ BrokerTestHelper.createBrokerMock());
authManager.addUser(TEST_USER, TEST_PASSWORD);
_authenticationManager = authManager;
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactoryTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactoryTest.java
index 43a9307654..9aed584c41 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactoryTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/security/auth/manager/SimpleLDAPAuthenticationManagerFactoryTest.java
@@ -35,12 +35,13 @@ import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.SystemContext;
import org.apache.qpid.server.model.TrustStore;
+import org.apache.qpid.server.util.BrokerTestHelper;
public class SimpleLDAPAuthenticationManagerFactoryTest extends TestCase
{
private SimpleLDAPAuthenticationManagerFactory _factory = new SimpleLDAPAuthenticationManagerFactory();
private Map<String, Object> _configuration = new HashMap<String, Object>();
- private Broker _broker = mock(Broker.class);
+ private Broker _broker = BrokerTestHelper.createBrokerMock();
private SystemContext _systemContext = mock(SystemContext.class);
private TrustStore _trustStore = mock(TrustStore.class);
@@ -51,9 +52,6 @@ public class SimpleLDAPAuthenticationManagerFactoryTest extends TestCase
when(_trustStore.getName()).thenReturn("mytruststore");
when(_trustStore.getId()).thenReturn(UUID.randomUUID());
- when(_broker.getCategoryClass()).thenReturn(Broker.class);
- when(_broker.getParent(eq(SystemContext.class))).thenReturn(_systemContext);
- when(_systemContext.getChildren(eq(Broker.class))).thenReturn(Collections.singleton(_broker));
_configuration.put(AuthenticationProvider.ID, UUID.randomUUID());
_configuration.put(AuthenticationProvider.NAME, getName());
@@ -65,7 +63,7 @@ public class SimpleLDAPAuthenticationManagerFactoryTest extends TestCase
_configuration.put("providerUrl", "ldap://example.com:389/");
_configuration.put("searchContext", "dc=example");
- AuthenticationManager manager = _factory.create(_configuration, _broker);
+ AuthenticationManager manager = _factory.create(null, _configuration, _broker);
assertNotNull(manager);
}
@@ -76,7 +74,7 @@ public class SimpleLDAPAuthenticationManagerFactoryTest extends TestCase
_configuration.put("providerUrl", "ldaps://example.com:636/");
_configuration.put("searchContext", "dc=example");
- AuthenticationManager manager = _factory.create(_configuration, _broker);
+ AuthenticationManager manager = _factory.create(null, _configuration, _broker);
assertNotNull(manager);
}
@@ -91,7 +89,7 @@ public class SimpleLDAPAuthenticationManagerFactoryTest extends TestCase
_configuration.put("searchContext", "dc=example");
_configuration.put("trustStore", "mytruststore");
- AuthenticationManager manager = _factory.create(_configuration, _broker);
+ AuthenticationManager manager = _factory.create(null, _configuration, _broker);
assertNotNull(manager);
}
@@ -106,7 +104,7 @@ public class SimpleLDAPAuthenticationManagerFactoryTest extends TestCase
try
{
- _factory.create(_configuration, _broker);
+ _factory.create(null, _configuration, _broker);
fail("Exception not thrown");
}
catch(IllegalArgumentException e)
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
index 8be1f10445..4e3e6d3e8a 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
@@ -43,7 +43,9 @@ import org.apache.qpid.server.binding.BindingImpl;
import org.apache.qpid.server.exchange.ExchangeImpl;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.model.Binding;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.ExclusivityPolicy;
import org.apache.qpid.server.model.LifetimePolicy;
@@ -82,6 +84,7 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
private UUID _exchangeId;
private DurableConfigurationStore _configStore;
protected Map<String, Object> _configurationStoreSettings;
+ private ConfiguredObjectFactoryImpl _factory;
public void setUp() throws Exception
{
@@ -90,7 +93,7 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
_configurationStoreSettings = new HashMap<String, Object>();
_queueId = UUIDGenerator.generateRandomUUID();
_exchangeId = UUIDGenerator.generateRandomUUID();
-
+ _factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
_storeName = getName();
_storePath = TMP_FOLDER + File.separator + _storeName;
_configurationStoreSettings.put(MessageStore.STORE_PATH, _storePath);
@@ -452,6 +455,8 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
when(queue.getActualAttributes()).thenReturn(attributes);
+ when(queue.getObjectFactory()).thenReturn(_factory);
+ when(queue.getModel()).thenReturn(_factory.getModel());
ConfiguredObjectRecord objectRecord = mock(ConfiguredObjectRecord.class);
when(objectRecord.getId()).thenReturn(_queueId);
when(objectRecord.getType()).thenReturn(Queue.class.getSimpleName());
@@ -473,6 +478,8 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
when(exchange.getId()).thenReturn(_exchangeId);
when(exchange.getCategoryClass()).thenReturn(Exchange.class);
when(exchange.isDurable()).thenReturn(true);
+ when(exchange.getObjectFactory()).thenReturn(_factory);
+ when(exchange.getModel()).thenReturn(_factory.getModel());
ConfiguredObjectRecord exchangeRecord = mock(ConfiguredObjectRecord.class);
when(exchangeRecord.getId()).thenReturn(_exchangeId);
@@ -491,6 +498,9 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
ConfiguredObject<?> parent = mock(ConfiguredObject.class);
when(parent.getName()).thenReturn("testName");
+
+ when(parent.getObjectFactory()).thenReturn(_factory);
+ when(parent.getModel()).thenReturn(_factory.getModel());
_configStore.openConfigurationStore(parent, _configurationStoreSettings);
_configStore.visitConfiguredObjectRecords(_handler);
}
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java
index cdaab22fed..27c1b7db13 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java
@@ -20,31 +20,34 @@
*/
package org.apache.qpid.server.store;
+import static org.mockito.Matchers.any;
+import static org.mockito.Matchers.argThat;
+import static org.mockito.Mockito.inOrder;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.never;
+import static org.mockito.Mockito.times;
+import static org.mockito.Mockito.verify;
+import static org.mockito.Mockito.when;
+
import java.io.File;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
+import org.mockito.ArgumentMatcher;
+import org.mockito.InOrder;
+
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.store.handler.ConfiguredObjectRecordHandler;
import org.apache.qpid.server.util.ServerScopedRuntimeException;
import org.apache.qpid.test.utils.QpidTestCase;
import org.apache.qpid.test.utils.TestFileUtils;
import org.apache.qpid.util.FileUtils;
-import org.mockito.ArgumentMatcher;
-import org.mockito.InOrder;
-
-import static org.mockito.Matchers.any;
-import static org.mockito.Matchers.argThat;
-import static org.mockito.Matchers.eq;
-import static org.mockito.Mockito.inOrder;
-import static org.mockito.Mockito.mock;
-import static org.mockito.Mockito.never;
-import static org.mockito.Mockito.verify;
-import static org.mockito.Mockito.when;
-import static org.mockito.Mockito.times;
public class JsonFileConfigStoreTest extends QpidTestCase
{
@@ -65,6 +68,9 @@ public class JsonFileConfigStoreTest extends QpidTestCase
_virtualHost = mock(ConfiguredObject.class);
when(_virtualHost.getName()).thenReturn(getName());
+ ConfiguredObjectFactory factory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(_virtualHost.getObjectFactory()).thenReturn(factory);
+ when(_virtualHost.getModel()).thenReturn(factory.getModel());
_storeLocation = TestFileUtils.createTestDirectory("json", true);
_configurationStoreSettings = new HashMap<String, Object>();
_configurationStoreSettings.put(JsonFileConfigStore.STORE_TYPE, JsonFileConfigStore.TYPE);
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
index e350774772..0f2813f1d1 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/util/BrokerTestHelper.java
@@ -40,16 +40,16 @@ import org.apache.qpid.server.exchange.ExchangeImpl;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.Exchange;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.SystemContext;
import org.apache.qpid.server.model.SystemContextImpl;
import org.apache.qpid.server.model.UUIDGenerator;
-import org.apache.qpid.server.plugin.ConfiguredObjectTypeFactory;
+import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.protocol.AMQConnectionModel;
import org.apache.qpid.server.protocol.AMQSessionModel;
import org.apache.qpid.server.queue.AMQQueue;
@@ -77,7 +77,7 @@ public class BrokerTestHelper
public static Broker createBrokerMock()
{
- ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(Model.getInstance());
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
SubjectCreator subjectCreator = mock(SubjectCreator.class);
when(subjectCreator.getMechanisms()).thenReturn("");
@@ -88,10 +88,14 @@ public class BrokerTestHelper
when(broker.getSubjectCreator(any(SocketAddress.class))).thenReturn(subjectCreator);
when(broker.getSecurityManager()).thenReturn(new SecurityManager(mock(Broker.class), false));
when(broker.getObjectFactory()).thenReturn(objectFactory);
+ when(broker.getModel()).thenReturn(objectFactory.getModel());
when(broker.getEventLogger()).thenReturn(new EventLogger());
when(broker.getCategoryClass()).thenReturn(Broker.class);
SystemContext systemContext = mock(SystemContext.class);
+ when(systemContext.getObjectFactory()).thenReturn(objectFactory);
+ when(systemContext.getModel()).thenReturn(objectFactory.getModel());
+ when(systemContext.getCategoryClass()).thenReturn(SystemContext.class);
when(systemContext.getEventLogger()).thenReturn(new EventLogger());
when(broker.getParent(eq(SystemContext.class))).thenReturn(systemContext);
@@ -112,11 +116,11 @@ public class BrokerTestHelper
//VirtualHostFactory factory = new PluggableFactoryLoader<VirtualHostFactory>(VirtualHostFactory.class).get(hostType);
SystemContext systemContext = new SystemContextImpl(TASK_EXECUTOR,
- new ConfiguredObjectFactoryImpl(Model.getInstance()),
+ new ConfiguredObjectFactoryImpl(BrokerModel.getInstance()),
mock(EventLogger.class),
mock(LogRecorder.class),
new BrokerOptions());
- ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(Model.getInstance());
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
Broker broker = mock(Broker.class);
when(broker.getParent(eq(SystemContext.class))).thenReturn(systemContext);
when(broker.getTaskExecutor()).thenReturn(TASK_EXECUTOR);
@@ -124,10 +128,9 @@ public class BrokerTestHelper
when(broker.getSecurityManager()).thenReturn(securityManager);
when(broker.getCategoryClass()).thenReturn(Broker.class);
when(broker.getObjectFactory()).thenReturn(objectFactory);
- ConfiguredObjectTypeFactory factory = objectFactory.getConfiguredObjectTypeFactory(org.apache.qpid.server.model.VirtualHost.class,
- attributes);
+ when(broker.getModel()).thenReturn(objectFactory.getModel());
- AbstractVirtualHost host = (AbstractVirtualHost) factory.create(attributes, broker);
+ AbstractVirtualHost host = (AbstractVirtualHost) objectFactory.create(VirtualHost.class,attributes, broker);
host.setDesiredState(host.getState(), State.ACTIVE);
@@ -187,21 +190,21 @@ public class BrokerTestHelper
when(virtualHost.getSecurityManager()).thenReturn(securityManager);
when(virtualHost.getEventLogger()).thenReturn(eventLogger);
when(virtualHost.getDurableConfigurationStore()).thenReturn(mock(DurableConfigurationStore.class));
- ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(Model.getInstance());
+ final ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(virtualHost.getObjectFactory()).thenReturn(objectFactory);
+ when(virtualHost.getModel()).thenReturn(objectFactory.getModel());
final Map<String,Object> attributes = new HashMap<String, Object>();
attributes.put(org.apache.qpid.server.model.Exchange.ID, UUIDGenerator.generateExchangeUUID("amp.direct", virtualHost.getName()));
attributes.put(org.apache.qpid.server.model.Exchange.NAME, "amq.direct");
attributes.put(org.apache.qpid.server.model.Exchange.TYPE, "direct");
attributes.put(org.apache.qpid.server.model.Exchange.DURABLE, durable);
- final ConfiguredObjectTypeFactory<? extends Exchange> exchangeFactory =
- objectFactory.getConfiguredObjectTypeFactory(Exchange.class, attributes);
return Subject.doAs(SecurityManager.getSubjectWithAddedSystemRights(), new PrivilegedAction<ExchangeImpl>()
{
@Override
public ExchangeImpl run()
{
- return (ExchangeImpl) exchangeFactory.create(attributes, virtualHost);
+ return (ExchangeImpl) objectFactory.create(Exchange.class, attributes, virtualHost);
}
});
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java
index 49b2a61965..17c1958cec 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/DurableConfigurationRecovererTest.java
@@ -49,10 +49,10 @@ import org.apache.qpid.server.exchange.TopicExchange;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.model.Binding;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.Exchange;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.SystemContext;
import org.apache.qpid.server.model.UUIDGenerator;
@@ -113,7 +113,39 @@ public class DurableConfigurationRecovererTest extends QpidTestCase
when(_configuredObjectFactory.getConfiguredObjectTypeFactory(eq(Exchange.class), anyMap())).thenReturn(_exchangeFactory);
when(_configuredObjectFactory.getConfiguredObjectTypeFactory(eq(Queue.class), anyMap())).thenReturn(_queueFactory);
when(_configuredObjectFactory.getConfiguredObjectTypeFactory(eq(Binding.class), anyMap())).thenReturn(_bindingFactory);
+ final ArgumentCaptor<ConfiguredObjectRecord> recordArgumentCaptor = ArgumentCaptor.forClass(ConfiguredObjectRecord.class);
+ when(_configuredObjectFactory.recover(recordArgumentCaptor.capture(), any(ConfiguredObject.class))).thenAnswer(new Answer<Object>()
+ {
+ @Override
+ public Object answer(final InvocationOnMock invocation) throws Throwable
+ {
+ ConfiguredObjectRecord record = recordArgumentCaptor.getValue();
+ if(record.getType().equals("Queue"))
+ {
+ return _queueFactory.recover(mock(ConfiguredObjectFactory.class), record, _vhost);
+ }
+ else if(record.getType().equals("Exchange"))
+ {
+ return _exchangeFactory.recover(mock(ConfiguredObjectFactory.class), record, _vhost);
+ }
+ return null;
+ }
+ });
+ final ArgumentCaptor<ConfiguredObjectRecord> bindingRecordArgumentCaptor = ArgumentCaptor.forClass(ConfiguredObjectRecord.class);
+ when(_configuredObjectFactory.recover(bindingRecordArgumentCaptor.capture(), any(ConfiguredObject.class), any(ConfiguredObject.class))).thenAnswer(new Answer<Object>()
+ {
+ @Override
+ public Object answer(final InvocationOnMock invocation) throws Throwable
+ {
+ ConfiguredObjectRecord record = bindingRecordArgumentCaptor.getValue();
+ if(record.getType().equals("Binding"))
+ {
+ return _bindingFactory.recover(mock(ConfiguredObjectFactory.class), record, mock(ConfiguredObject.class),mock(ConfiguredObject.class));
+ }
+ return null;
+ }
+ });
final ArgumentCaptor<ConfiguredObjectRecord> recoveredExchange = ArgumentCaptor.forClass(ConfiguredObjectRecord.class);
@@ -136,7 +168,7 @@ public class DurableConfigurationRecovererTest extends QpidTestCase
when(unresolved.resolve()).thenReturn(exchange);
return unresolved;
}
- }).when(_exchangeFactory).recover(recoveredExchange.capture(), any(ConfiguredObject.class));
+ }).when(_exchangeFactory).recover(any(ConfiguredObjectFactory.class), recoveredExchange.capture(), any(ConfiguredObject.class));
@@ -171,7 +203,7 @@ public class DurableConfigurationRecovererTest extends QpidTestCase
return unresolved;
}
- }).when(_queueFactory).recover(recoveredQueue.capture(), any(ConfiguredObject.class));
+ }).when(_queueFactory).recover(any(ConfiguredObjectFactory.class), recoveredQueue.capture(), any(ConfiguredObject.class));
final ArgumentCaptor<ConfiguredObjectRecord> recoveredBinding = ArgumentCaptor.forClass(ConfiguredObjectRecord.class);
@@ -184,10 +216,10 @@ public class DurableConfigurationRecovererTest extends QpidTestCase
@Override
public Object answer(final InvocationOnMock invocation) throws Throwable
{
- ConfiguredObjectRecord queueRecord = recoveredBinding.getValue();
+ ConfiguredObjectRecord bindingRecord = recoveredBinding.getValue();
Binding binding = mock(Binding.class);
- UUID id = queueRecord.getId();
- String name = (String) queueRecord.getAttributes().get("name");
+ UUID id = bindingRecord.getId();
+ String name = (String) bindingRecord.getAttributes().get("name");
when(binding.getId()).thenReturn(id);
when(binding.getName()).thenReturn(name);
@@ -197,7 +229,7 @@ public class DurableConfigurationRecovererTest extends QpidTestCase
return unresolved;
}
- }).when(_bindingFactory).recover(recoveredBinding.capture(), parent1.capture(), parent2.capture());
+ }).when(_bindingFactory).recover(any(ConfiguredObjectFactory.class), recoveredBinding.capture(), parent1.capture(), parent2.capture());
@@ -224,13 +256,13 @@ public class DurableConfigurationRecovererTest extends QpidTestCase
{
_durableConfigurationRecoverer.beginConfigurationRecovery(_store);
assertEquals("Did not upgrade to the expected version",
- Model.MODEL_VERSION,
+ BrokerModel.MODEL_VERSION,
_durableConfigurationRecoverer.completeConfigurationRecovery());
}
public void testUpgradeNewerStoreFails() throws Exception
{
- String bumpedModelVersion = Model.MODEL_MAJOR_VERSION + "." + (Model.MODEL_MINOR_VERSION + 1);
+ String bumpedModelVersion = BrokerModel.MODEL_MAJOR_VERSION + "." + (BrokerModel.MODEL_MINOR_VERSION + 1);
try
{
diff --git a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
index 942781e7ba..e92d63a6fc 100644
--- a/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
+++ b/qpid/java/broker-core/src/test/java/org/apache/qpid/server/virtualhost/MockVirtualHost.java
@@ -32,6 +32,7 @@ import org.apache.qpid.server.exchange.ExchangeImpl;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.message.MessageDestination;
import org.apache.qpid.server.message.MessageSource;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfigurationChangeListener;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectAttribute;
@@ -39,6 +40,7 @@ import org.apache.qpid.server.model.ConfiguredObjectFactory;
import org.apache.qpid.server.model.Connection;
import org.apache.qpid.server.model.IllegalStateTransitionException;
import org.apache.qpid.server.model.LifetimePolicy;
+import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.VirtualHostAlias;
import org.apache.qpid.server.protocol.LinkRegistry;
@@ -438,6 +440,12 @@ public class MockVirtualHost implements VirtualHostImpl<MockVirtualHost, AMQQueu
return null;
}
+ @Override
+ public Model getModel()
+ {
+ return BrokerModel.getInstance();
+ }
+
public LinkRegistry getLinkRegistry(String remoteContainerId)
{
return null;
diff --git a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderFactoryTest.java b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderFactoryTest.java
index 102cfb4be1..fab6ad1750 100644
--- a/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderFactoryTest.java
+++ b/qpid/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/ACLFileAccessControlProviderFactoryTest.java
@@ -20,6 +20,9 @@
*/
package org.apache.qpid.server.security.access.plugins;
+import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
+
import java.io.File;
import java.util.HashMap;
import java.util.Map;
@@ -27,19 +30,32 @@ import java.util.UUID;
import java.util.regex.Pattern;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
-import org.apache.qpid.server.logging.EventLoggerProvider;
import org.apache.qpid.server.model.AccessControlProvider;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.GroupProvider;
-import org.apache.qpid.server.security.AccessControl;
import org.apache.qpid.server.security.access.FileAccessControlProviderConstants;
import org.apache.qpid.test.utils.QpidTestCase;
import org.apache.qpid.test.utils.TestFileUtils;
-import static org.mockito.Mockito.mock;
-
public class ACLFileAccessControlProviderFactoryTest extends QpidTestCase
{
+ private Broker _broker;
+
+ @Override
+ public void setUp() throws Exception
+ {
+ super.setUp();
+ _broker = mock(Broker.class);
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+
+ when(_broker.getObjectFactory()).thenReturn(objectFactory);
+ when(_broker.getModel()).thenReturn(objectFactory.getModel());
+ when(_broker.getCategoryClass()).thenReturn(Broker.class);
+ }
+
public void testCreateInstanceWhenAclFileIsNotPresent()
{
ACLFileAccessControlProviderFactory factory = new ACLFileAccessControlProviderFactory();
@@ -48,7 +64,7 @@ public class ACLFileAccessControlProviderFactoryTest extends QpidTestCase
attributes.put(AccessControlProvider.NAME, "acl");
try
{
- AccessControlProvider acl = factory.create(attributes, mock(Broker.class));
+ AccessControlProvider acl = factory.create(null, attributes, _broker);
fail("ACL was created without a configuration file path specified");
}
catch(IllegalArgumentException e)
@@ -66,7 +82,7 @@ public class ACLFileAccessControlProviderFactoryTest extends QpidTestCase
attributes.put(AccessControlProvider.NAME, "acl");
attributes.put(GroupProvider.TYPE, FileAccessControlProviderConstants.ACL_FILE_PROVIDER_TYPE);
attributes.put(FileAccessControlProviderConstants.PATH, aclFile.getAbsolutePath());
- AccessControlProvider acl = factory.create(attributes, mock(Broker.class));
+ AccessControlProvider acl = factory.create(null, attributes, _broker);
acl.getAccessControl().open();
assertNotNull("ACL was not created from acl file: " + aclFile.getAbsolutePath(), acl);
@@ -84,7 +100,7 @@ public class ACLFileAccessControlProviderFactoryTest extends QpidTestCase
attributes.put(FileAccessControlProviderConstants.PATH, aclFile.getAbsolutePath());
try
{
- AccessControlProvider control = factory.create(attributes, mock(Broker.class));
+ AccessControlProvider control = factory.create(null, attributes, _broker);
control.getAccessControl().open();
fail("It should not be possible to create and initialise ACL with non existing file");
}
diff --git a/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java b/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
index 2c6bc1b44e..2cf628e7c5 100644
--- a/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
+++ b/qpid/java/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
@@ -54,7 +54,6 @@ import org.apache.qpid.server.model.AbstractConfiguredObject;
import org.apache.qpid.server.model.ConfigurationChangeListener;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ManagedObject;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.plugin.MessageConverter;
import org.apache.qpid.server.plugin.SystemNodeCreator;
@@ -201,7 +200,7 @@ class ManagementNode implements MessageSource, MessageDestination
if(entityType.creatable())
{
boolean isCreatableChild = false;
- for(Class<? extends ConfiguredObject> parentConfig : Model.getInstance().getParentTypes(clazz))
+ for(Class<? extends ConfiguredObject> parentConfig : _managedObject.getModel().getParentTypes(clazz))
{
isCreatableChild = parentConfig.isAssignableFrom(_managedObject.getClass());
if(isCreatableChild)
@@ -243,7 +242,7 @@ class ManagementNode implements MessageSource, MessageDestination
if(ConfiguredObject.class.isAssignableFrom(clazz))
{
- Collection<Class<? extends ConfiguredObject>> childTypes = Model.getInstance().getChildTypes(clazz);
+ Collection<Class<? extends ConfiguredObject>> childTypes = _managedObject.getModel().getChildTypes(clazz);
for(Class<? extends ConfiguredObject> childClass : childTypes)
{
populateTypeMetaData(childClass, true);
@@ -1214,7 +1213,7 @@ class ManagementNode implements MessageSource, MessageDestination
final Class managementClass = getManagementClass(_managedObject.getClass());
_entities.get(_entityTypes.get(managementClass.getName())).put(_managedObject.getName(), _managedObject);
- Collection<Class<? extends ConfiguredObject>> childClasses = Model.getInstance().getChildTypes(managementClass);
+ Collection<Class<? extends ConfiguredObject>> childClasses = object.getModel().getChildTypes(managementClass);
for(Class<? extends ConfiguredObject> childClass : childClasses)
{
if(getManagementClass(childClass) != null)
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
index b4e386a685..7c5ba5a6be 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
+++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java
@@ -26,15 +26,12 @@ import java.util.List;
import java.util.Map;
import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Model;
public class ConfiguredObjectToMapConverter
{
/** Name of the key used for the statistics map */
public static final String STATISTICS_MAP_KEY = "statistics";
- private Model _model = Model.getInstance();
-
public Map<String, Object> convertObjectToMap(final ConfiguredObject<?> confObject,
Class<? extends ConfiguredObject> clazz,
int depth)
@@ -51,13 +48,6 @@ public class ConfiguredObjectToMapConverter
return object;
}
- /**
- * Used for unit test only.
- */
- void setModel(Model model)
- {
- _model = model;
- }
private void incorporateAttributesIntoMap(
final ConfiguredObject<?> confObject, Map<String, Object> object)
@@ -110,7 +100,7 @@ public class ConfiguredObjectToMapConverter
Class<? extends ConfiguredObject> clazz, int depth,
Map<String, Object> object)
{
- for(Class<? extends ConfiguredObject> childClass : _model.getChildTypes(clazz))
+ for(Class<? extends ConfiguredObject> childClass : confObject.getModel().getChildTypes(clazz))
{
Collection<? extends ConfiguredObject> children = confObject.getChildren(childClass);
if(children != null)
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
index 22316fcf54..0309ecc838 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
+++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/RestServlet.java
@@ -43,7 +43,6 @@ import org.codehaus.jackson.map.SerializationConfig;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.State;
public class RestServlet extends AbstractServlet
@@ -152,7 +151,7 @@ public class RestServlet extends AbstractServlet
for(int i = 0; i < _hierarchy.length; i++)
{
- if(i == 0 || Model.getInstance().getChildTypes(_hierarchy[i - 1]).contains(_hierarchy[i]))
+ if(i == 0 || getBroker().getModel().getChildTypes(_hierarchy[i - 1]).contains(_hierarchy[i]))
{
for(ConfiguredObject<?> parent : parents)
@@ -276,7 +275,7 @@ public class RestServlet extends AbstractServlet
ConfiguredObject child)
{
Collection<ConfiguredObject> ancestors = new HashSet<ConfiguredObject>();
- Collection<Class<? extends ConfiguredObject>> parentTypes = Model.getInstance().getParentTypes(childType);
+ Collection<Class<? extends ConfiguredObject>> parentTypes = child.getModel().getParentTypes(childType);
for(Class<? extends ConfiguredObject> parentClazz : parentTypes)
{
@@ -406,7 +405,7 @@ public class RestServlet extends AbstractServlet
{
for(int j = i-1; j >=0; j--)
{
- if(Model.getInstance().getChildTypes(_hierarchy[j]).contains(_hierarchy[i]))
+ if(getBroker().getModel().getChildTypes(_hierarchy[j]).contains(_hierarchy[i]))
{
for(ConfiguredObject<?> parent : objects[j])
{
@@ -426,7 +425,7 @@ public class RestServlet extends AbstractServlet
}
List<ConfiguredObject> parents = new ArrayList<ConfiguredObject>();
Class<? extends ConfiguredObject> objClass = getConfiguredClass();
- Collection<Class<? extends ConfiguredObject>> parentClasses = Model.getInstance().getParentTypes(objClass);
+ Collection<Class<? extends ConfiguredObject>> parentClasses = getBroker().getModel().getParentTypes(objClass);
for(int i = _hierarchy.length-2; i >=0 ; i--)
{
if(parentClasses.contains(_hierarchy[i]))
@@ -488,7 +487,7 @@ public class RestServlet extends AbstractServlet
return true;
}
- Collection<Class<? extends ConfiguredObject>> parentClasses = Model.getInstance().getParentTypes(objClass);
+ Collection<Class<? extends ConfiguredObject>> parentClasses = obj.getModel().getParentTypes(objClass);
for (ConfiguredObject parent : otherParents)
{
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java
index 40d3c02768..907610c8d2 100644
--- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java
+++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/StructureServlet.java
@@ -28,12 +28,12 @@ import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
-import org.apache.qpid.server.model.Broker;
-import org.apache.qpid.server.model.ConfiguredObject;
-import org.apache.qpid.server.model.Model;
import org.codehaus.jackson.map.ObjectMapper;
import org.codehaus.jackson.map.SerializationConfig;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
+
public class StructureServlet extends AbstractServlet
{
public StructureServlet()
@@ -70,7 +70,7 @@ public class StructureServlet extends AbstractServlet
structure.put("id", object.getId());
structure.put("name", object.getName());
- for(Class<? extends ConfiguredObject> childClass : Model.getInstance().getChildTypes(clazz))
+ for(Class<? extends ConfiguredObject> childClass : object.getModel().getChildTypes(clazz))
{
Collection<? extends ConfiguredObject> children = object.getChildren(childClass);
if(children != null)
diff --git a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java
index fbdb34fb96..809b2405b1 100644
--- a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java
+++ b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementFactoryTest.java
@@ -26,7 +26,10 @@ import java.util.Map;
import java.util.UUID;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.test.utils.QpidTestCase;
public class HttpManagementFactoryTest extends QpidTestCase
@@ -46,6 +49,9 @@ public class HttpManagementFactoryTest extends QpidTestCase
_attributes.put(HttpManagement.TIME_OUT, SESSION_TIMEOUT);
_attributes.put(ConfiguredObject.ID, _id);
when(_broker.getCategoryClass()).thenReturn(Broker.class);
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+ when(_broker.getObjectFactory()).thenReturn(objectFactory);
+ when(_broker.getModel()).thenReturn(objectFactory.getModel());
HttpManagement management = _pluginFactory.createInstance(_attributes, _broker);
management.open();
diff --git a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java
index 56dc947482..b747ee5435 100644
--- a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java
+++ b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/HttpManagementTest.java
@@ -31,7 +31,10 @@ import java.util.UUID;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.test.utils.QpidTestCase;
public class HttpManagementTest extends QpidTestCase
@@ -46,6 +49,12 @@ public class HttpManagementTest extends QpidTestCase
super.setUp();
_id = UUID.randomUUID();
_broker = mock(Broker.class);
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+
+ when(_broker.getObjectFactory()).thenReturn(objectFactory);
+ when(_broker.getModel()).thenReturn(objectFactory.getModel());
+ when(_broker.getCategoryClass()).thenReturn(Broker.class);
+
Map<String, Object> attributes = new HashMap<String, Object>();
attributes.put(HttpManagement.HTTP_BASIC_AUTHENTICATION_ENABLED, false);
attributes.put(HttpManagement.HTTPS_BASIC_AUTHENTICATION_ENABLED, true);
diff --git a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
index 0c2b6a5385..82c8d01379 100644
--- a/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
+++ b/qpid/java/broker-plugins/management-http/src/test/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverterTest.java
@@ -93,9 +93,10 @@ public class ConfiguredObjectToMapConverterTest extends TestCase
final String childAttributeValue = "childvalue";
Model model = createTestModel();
- _converter.setModel(model);
TestChild mockChild = mock(TestChild.class);
+ when(mockChild.getModel()).thenReturn(model);
+ when(_configuredObject.getModel()).thenReturn(model);
configureMockToReturnOneAttribute(mockChild, childAttributeName, childAttributeValue);
when(_configuredObject.getChildren(TestChild.class)).thenReturn(Arrays.asList(mockChild));
diff --git a/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/JMXManagementFactoryTest.java b/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/JMXManagementFactoryTest.java
index de5b056d9d..3014621913 100644
--- a/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/JMXManagementFactoryTest.java
+++ b/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/JMXManagementFactoryTest.java
@@ -19,13 +19,17 @@
package org.apache.qpid.server.jmx;
import static org.mockito.Mockito.mock;
+import static org.mockito.Mockito.when;
import java.util.HashMap;
import java.util.Map;
import java.util.UUID;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
+import org.apache.qpid.server.model.ConfiguredObjectFactory;
+import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.test.utils.QpidTestCase;
public class JMXManagementFactoryTest extends QpidTestCase
@@ -40,6 +44,11 @@ public class JMXManagementFactoryTest extends QpidTestCase
_attributes.put(ConfiguredObject.ID,UUID.randomUUID());
_attributes.put(ConfiguredObject.TYPE, JMXManagementPlugin.PLUGIN_TYPE);
_attributes.put(ConfiguredObject.NAME, getName());
+ ConfiguredObjectFactory objectFactory = new ConfiguredObjectFactoryImpl(BrokerModel.getInstance());
+
+ when(_broker.getObjectFactory()).thenReturn(objectFactory);
+ when(_broker.getModel()).thenReturn(objectFactory.getModel());
+ when(_broker.getCategoryClass()).thenReturn(Broker.class);
JMXManagementPlugin jmxManagement = _jmxManagementFactory.createInstance( _attributes, _broker);
jmxManagement.open();
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
index 3feb2eaab9..c93a4c6556 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/test/utils/TestBrokerConfiguration.java
@@ -36,10 +36,10 @@ import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.model.AccessControlProvider;
import org.apache.qpid.server.model.AuthenticationProvider;
import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.ConfiguredObjectFactoryImpl;
import org.apache.qpid.server.model.GroupProvider;
-import org.apache.qpid.server.model.Model;
import org.apache.qpid.server.model.Plugin;
import org.apache.qpid.server.model.PreferencesProvider;
import org.apache.qpid.server.model.SystemContextImpl;
@@ -76,12 +76,15 @@ public class TestBrokerConfiguration
public TestBrokerConfiguration(String storeType, String intialStoreLocation, final TaskExecutor taskExecutor)
{
- _store = new MemoryConfigurationEntryStore(new SystemContextImpl(taskExecutor, new ConfiguredObjectFactoryImpl(
- Model.getInstance()),
- mock(EventLogger.class), mock(LogRecorder.class),
- mock(BrokerOptions.class)),
- intialStoreLocation,
- null, Collections.<String,String>emptyMap());
+ _store = new MemoryConfigurationEntryStore(
+ new SystemContextImpl(taskExecutor,
+ new ConfiguredObjectFactoryImpl(BrokerModel.getInstance()),
+ mock(EventLogger.class),
+ mock(LogRecorder.class),
+ mock(BrokerOptions.class)),
+ intialStoreLocation,
+ null,
+ Collections.<String,String>emptyMap());
}
public boolean setBrokerAttribute(String name, Object value)