You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2012/11/02 18:22:21 UTC

svn commit: r1405064 - in /qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src: main/java/org/apache/qpid/server/ main/java/org/apache/qpid/server/configuration/ main/java/org/apache/qpid/server/configuration/startup/ main/java/org/apache/q...

Author: orudyy
Date: Fri Nov  2 17:22:20 2012
New Revision: 1405064

URL: http://svn.apache.org/viewvc?rev=1405064&view=rev
Log:
QPID-4390: WIP - extract common ConfiguredObjectRecoverer interface and implement RecovererProvider

Added:
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AbstractBrokerChildRecoverer.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProviderTest.java
      - copied, changed from r1404902, qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java
Removed:
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/DefaultBrokerRecoverer.java
Modified:
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerLauncher.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/RecovererProvider.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/BrokerRecoverer.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/XMLConfigurationEntryStore.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/AbstractRootMessageLogger.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/Log4jMessageLogger.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/ConfiguredObjectType.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/PluginRecovererTest.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostRecovererTest.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseActorTestCase.java
    qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerLauncher.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerLauncher.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerLauncher.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/BrokerLauncher.java Fri Nov  2 17:22:20 2012
@@ -30,7 +30,8 @@ import java.util.Set;
 import org.apache.log4j.Logger;
 import org.apache.log4j.PropertyConfigurator;
 import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.server.configuration.ServerConfiguration;
+import org.apache.qpid.server.configuration.ConfigurationEntryStore;
+import org.apache.qpid.server.configuration.store.XMLConfigurationEntryStore;
 import org.apache.qpid.server.logging.SystemOutMessageLogger;
 import org.apache.qpid.server.logging.actors.BrokerActor;
 import org.apache.qpid.server.logging.actors.CurrentActor;
@@ -112,10 +113,9 @@ public class BrokerLauncher
 
         configureLogging(logConfigFile, options.getLogWatchFrequency());
 
-        // XXX create ConfigurationEntryStore and pass it into registry constructor
-        ServerConfiguration serverConfig = new ServerConfiguration(configFile);
+        ConfigurationEntryStore store = new XMLConfigurationEntryStore(configFile, options);
 
-        ApplicationRegistry applicationRegistry = new ApplicationRegistry(serverConfig, options);
+        ApplicationRegistry applicationRegistry = new ApplicationRegistry(store);
 
         ApplicationRegistry.initialise(applicationRegistry);
 

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/RecovererProvider.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/RecovererProvider.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/RecovererProvider.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/RecovererProvider.java Fri Nov  2 17:22:20 2012
@@ -20,9 +20,10 @@
  */
 package org.apache.qpid.server.configuration;
 
+import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.ConfiguredObjectType;
 
 public interface RecovererProvider
 {
-    ConfiguredObjectRecoverer<?> getRecoverer(ConfiguredObjectType type);
+    ConfiguredObjectRecoverer<? extends ConfiguredObject> getRecoverer(ConfiguredObjectType type);
 }

Added: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AbstractBrokerChildRecoverer.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AbstractBrokerChildRecoverer.java?rev=1405064&view=auto
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AbstractBrokerChildRecoverer.java (added)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AbstractBrokerChildRecoverer.java Fri Nov  2 17:22:20 2012
@@ -0,0 +1,53 @@
+/*
+ *
+ * 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.configuration.startup;
+
+import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
+import org.apache.qpid.server.configuration.RecovererProvider;
+import org.apache.qpid.server.model.Broker;
+import org.apache.qpid.server.model.ConfiguredObject;
+
+public abstract class AbstractBrokerChildRecoverer<T extends ConfiguredObject> implements ConfiguredObjectRecoverer<T>
+{
+
+    @Override
+    public T create(RecovererProvider recovererProvider, ConfigurationEntry entry, ConfiguredObject... parents)
+    {
+        if (parents == null || parents.length == 0)
+        {
+            throw new IllegalArgumentException("Broker parent is not passed!");
+        }
+        if (parents.length != 1)
+        {
+            throw new IllegalArgumentException("Only one parent is expected!");
+        }
+        if (!(parents[0] instanceof Broker))
+        {
+            throw new IllegalArgumentException("Parent is not a broker");
+        }
+        Broker broker = (Broker)parents[0];
+        return createBrokerChild(recovererProvider, entry, broker);
+    }
+
+    abstract T createBrokerChild(RecovererProvider recovererProvider, ConfigurationEntry entry, Broker broker);
+
+}

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/AuthenticationProviderRecoverer.java Fri Nov  2 17:22:20 2012
@@ -23,11 +23,12 @@ package org.apache.qpid.server.configura
 import java.util.Map;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.AuthenticationProvider;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.adapter.AuthenticationProviderFactory;
 
-public class AuthenticationProviderRecoverer
+public class AuthenticationProviderRecoverer extends AbstractBrokerChildRecoverer<AuthenticationProvider>
 {
     private final AuthenticationProviderFactory _authenticationProviderFactory;
 
@@ -36,7 +37,8 @@ public class AuthenticationProviderRecov
         _authenticationProviderFactory = authenticationProviderFactory;
     }
 
-    public AuthenticationProvider create(ConfigurationEntry configurationEntry, Broker broker)
+    @Override
+    AuthenticationProvider createBrokerChild(RecovererProvider recovererProvider, ConfigurationEntry configurationEntry, Broker broker)
     {
         Map<String, Object> attributes = configurationEntry.getAttributes();
         AuthenticationProvider authenticationProvider = _authenticationProviderFactory.create(
@@ -46,4 +48,5 @@ public class AuthenticationProviderRecov
 
         return authenticationProvider;
     }
+
 }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/BrokerRecoverer.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/BrokerRecoverer.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/BrokerRecoverer.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/BrokerRecoverer.java Fri Nov  2 17:22:20 2012
@@ -1,23 +1,3 @@
-/*
- *
- * 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.configuration.startup;
 
 import java.util.Collection;
@@ -25,14 +5,14 @@ import java.util.Map;
 
 import org.apache.log4j.Logger;
 import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.configuration.RecovererProvider;
 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.ConfiguredObjectType;
-import org.apache.qpid.server.model.GroupProvider;
 import org.apache.qpid.server.model.Port;
-import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.model.adapter.AuthenticationProviderAdapter;
 import org.apache.qpid.server.model.adapter.AuthenticationProviderFactory;
 import org.apache.qpid.server.model.adapter.BrokerAdapter;
@@ -41,56 +21,47 @@ import org.apache.qpid.server.model.adap
 import org.apache.qpid.server.registry.IApplicationRegistry;
 import org.apache.qpid.server.security.group.GroupPrincipalAccessor;
 
-// XXX delete it and rename DefaultBrokerRecoverer into BrokerRecoverer
-public class BrokerRecoverer
+public class BrokerRecoverer implements ConfiguredObjectRecoverer<Broker>
 {
     private static final Logger LOGGER = Logger.getLogger(BrokerRecoverer.class);
 
     private final IApplicationRegistry _registry;
-    private final VirtualHostRecoverer _virtualHostRecoverer;
-    private final PortRecoverer _portRecoverer;
-    private final AuthenticationProviderRecoverer _authenticationProviderRecoverer;
-
-    private final AuthenticationProviderFactory _authenticationProviderFactory;
-
     private final PortFactory _portFactory;
+    private final AuthenticationProviderFactory _authenticationProviderFactory;
 
-    private final GroupProviderRecoverer _groupProviderRecoverer;
-
-    private final PluginRecoverer _pluginRecoverer;
-
-    public BrokerRecoverer(PortRecoverer portRecoverer, VirtualHostRecoverer virtualHostRecoverer,
-            AuthenticationProviderRecoverer authenticationProviderRecoverer,
-            AuthenticationProviderFactory authenticationProviderFactory, PortFactory portFactory,
-            GroupProviderRecoverer groupProviderRecoverer, PluginRecoverer pluginRecoverer, IApplicationRegistry registry)
+    public BrokerRecoverer(AuthenticationProviderFactory authenticationProviderFactory, PortFactory portFactory, IApplicationRegistry registry)
     {
         _registry = registry;
-        _virtualHostRecoverer = virtualHostRecoverer;
-        _portRecoverer = portRecoverer;
         _portFactory = portFactory;
-        _authenticationProviderRecoverer = authenticationProviderRecoverer;
         _authenticationProviderFactory = authenticationProviderFactory;
-        _groupProviderRecoverer = groupProviderRecoverer;
-        _pluginRecoverer = pluginRecoverer;
     }
 
-    public Broker create(ConfigurationEntry entry)
+    @Override
+    public Broker create(RecovererProvider recovererProvider, ConfigurationEntry entry, ConfiguredObject... parents)
     {
         BrokerAdapter broker = new BrokerAdapter(entry.getId(), _registry, _authenticationProviderFactory, _portFactory);
         Map<ConfiguredObjectType, Collection<ConfigurationEntry>> childEntries = entry.getChildren();
-        recoverVirtualHosts(broker, childEntries);
-        recoverPorts(broker, childEntries);
-        recoverGroupProviders(broker, childEntries);
-        recoverAuthenticationProviders(broker, childEntries);
-        recoverPlugins(broker, childEntries);
-
-        wireUpAuthenticationProviders(broker, entry.getAttributesAsAttributeMap());
+        for (ConfiguredObjectType type : childEntries.keySet())
+        {
+            ConfiguredObjectRecoverer<?> recoverer = recovererProvider.getRecoverer(type);
+            Collection<ConfigurationEntry> entries = childEntries.get(type);
+            for (ConfigurationEntry childEntry : entries)
+            {
+                ConfiguredObject object = recoverer.create(recovererProvider, childEntry, broker);
+                if (object == null)
+                {
+                    throw new IllegalConfigurationException("Cannot create configured object for the entry " + childEntry);
+                }
+                broker.recoverChild(object);
+            }
+        }
+        wireUpConfiguredObjects(broker, entry.getAttributesAsAttributeMap());
 
         return broker;
     }
 
     // XXX unit test this
-    private void wireUpAuthenticationProviders(BrokerAdapter broker, AttributeMap brokerAttributes)
+    private void wireUpConfiguredObjects(BrokerAdapter broker, AttributeMap brokerAttributes)
     {
         AuthenticationProvider defaultAuthenticationProvider = null;
         Collection<AuthenticationProvider> authenticationProviders = broker.getAuthenticationProviders();
@@ -99,7 +70,9 @@ public class BrokerRecoverer
         {
             LOGGER.error("No authentication providers configured");
             return;
-            // XXX reinstate when wire-up has been separated from creation: throw new IllegalConfigurationException("No authentication providers configured");
+            // XXX reinstate when wire-up has been separated from creation:
+            // throw new
+            // IllegalConfigurationException("No authentication providers configured");
         }
         else if (numberOfAuthenticationProviders == 1)
         {
@@ -118,7 +91,7 @@ public class BrokerRecoverer
             // XXX : review this cast
             if (authenticationProvider instanceof AuthenticationProviderAdapter)
             {
-                ((AuthenticationProviderAdapter<?>)authenticationProvider).setGroupAccessor(groupPrincipalAccessor);
+                ((AuthenticationProviderAdapter<?>) authenticationProvider).setGroupAccessor(groupPrincipalAccessor);
             }
         }
         Collection<Port> ports = broker.getPorts();
@@ -134,7 +107,7 @@ public class BrokerRecoverer
             {
                 provider = defaultAuthenticationProvider;
             }
-            ((PortAdapter)port).setAuthenticationProvider(provider);
+            ((PortAdapter) port).setAuthenticationProvider(provider);
         }
     }
 
@@ -143,82 +116,10 @@ public class BrokerRecoverer
         AuthenticationProvider provider = broker.getAuthenticationProviderByName(authenticationProviderName);
         if (provider == null)
         {
-            throw new IllegalConfigurationException("Cannot find the authentication provider with name: " + authenticationProviderName);
+            throw new IllegalConfigurationException("Cannot find the authentication provider with name: "
+                    + authenticationProviderName);
         }
         return provider;
     }
 
-    private void recoverPorts(BrokerAdapter broker, Map<ConfiguredObjectType, Collection<ConfigurationEntry>> childEntries)
-    {
-        Collection<ConfigurationEntry> portEntries = childEntries.get(ConfiguredObjectType.PORT);
-        if (portEntries != null)
-        {
-            for (ConfigurationEntry portEntry : portEntries)
-            {
-                Port port = _portRecoverer.create(portEntry, broker);
-                broker.addPort(port);
-            }
-        }
-    }
-
-    private void recoverVirtualHosts(BrokerAdapter broker, Map<ConfiguredObjectType, Collection<ConfigurationEntry>> childEntries)
-    {
-        Collection<ConfigurationEntry> virtualHostEntries = childEntries.get(ConfiguredObjectType.VIRTUAL_HOST);
-        if (virtualHostEntries != null)
-        {
-            for (ConfigurationEntry virtualHostEntry : virtualHostEntries)
-            {
-                VirtualHost host = _virtualHostRecoverer.create(virtualHostEntry, broker);
-                broker.addVirtualHost(host);
-            }
-        }
-    }
-
-    private void recoverAuthenticationProviders(BrokerAdapter broker,
-            Map<ConfiguredObjectType, Collection<ConfigurationEntry>> childEntries)
-    {
-        Collection<ConfigurationEntry> entries = childEntries.get(ConfiguredObjectType.AUTHENTICATION_PROVIDER);
-        if (entries != null)
-        {
-            for (ConfigurationEntry entry : entries)
-            {
-                AuthenticationProvider authenticationProvider = _authenticationProviderRecoverer.create(entry, broker);
-                broker.addAuthenticationProvider(authenticationProvider);
-            }
-        }
-    }
-
-    private void recoverGroupProviders(BrokerAdapter broker,
-            Map<ConfiguredObjectType, Collection<ConfigurationEntry>> childEntries)
-    {
-        Collection<ConfigurationEntry> entries = childEntries.get(ConfiguredObjectType.GROUP_PROVIDER);
-        if (entries != null)
-        {
-            for (ConfigurationEntry entry : entries)
-            {
-                GroupProvider groupProvider = _groupProviderRecoverer.create(entry, broker);
-                broker.addGroupProvider(groupProvider);
-            }
-        }
-    }
-
-    private void recoverPlugins(BrokerAdapter broker, Map<ConfiguredObjectType, Collection<ConfigurationEntry>> childEntries)
-    {
-        Collection<ConfigurationEntry> entries = childEntries.get(ConfiguredObjectType.PLUGIN);
-        if (entries != null)
-        {
-            for (ConfigurationEntry entry : entries)
-            {
-                ConfiguredObject pluginObject = _pluginRecoverer.create(entry, broker);
-                if (pluginObject == null)
-                {
-                    LOGGER.warn("Cannot instantiate plugin for configuration entry:" + entry);
-                }
-                else
-                {
-                    broker.addPlugin(pluginObject);
-                }
-            }
-        }
-    }
 }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java Fri Nov  2 17:22:20 2012
@@ -20,12 +20,21 @@
  */
 package org.apache.qpid.server.configuration.startup;
 
+import java.util.Map;
+
 import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
+import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.configuration.RecovererProvider;
+import org.apache.qpid.server.configuration.VirtualHostConfiguration;
 import org.apache.qpid.server.model.ConfiguredObjectType;
 import org.apache.qpid.server.model.adapter.AuthenticationProviderFactory;
 import org.apache.qpid.server.model.adapter.PortFactory;
+import org.apache.qpid.server.plugin.AuthenticationManagerFactory;
+import org.apache.qpid.server.plugin.GroupManagerFactory;
+import org.apache.qpid.server.plugin.PluginFactory;
+import org.apache.qpid.server.plugin.QpidServiceLoader;
 import org.apache.qpid.server.registry.IApplicationRegistry;
+import org.apache.qpid.server.stats.StatisticsGatherer;
 
 public class DefaultRecovererProvider implements RecovererProvider
 {
@@ -33,27 +42,39 @@ public class DefaultRecovererProvider im
     private final AuthenticationProviderFactory _authenticationProviderFactory;
     private final PortFactory _portFactory;
     private final IApplicationRegistry _registry;
+    private final Map<String, VirtualHostConfiguration> _virtualHostConfiguration;
+    private final QpidServiceLoader<GroupManagerFactory> _groupManagerServiceLoader;
+    private final QpidServiceLoader<PluginFactory> _pluginFactoryServiceLoader;
 
-    public DefaultRecovererProvider(AuthenticationProviderFactory authenticationProviderFactory, PortFactory portFactory,
-            IApplicationRegistry registry)
+    public DefaultRecovererProvider(IApplicationRegistry registry, Map<String, VirtualHostConfiguration> virtualHostConfiguration)
     {
-        super();
-        _authenticationProviderFactory = authenticationProviderFactory;
-        _portFactory = portFactory;
+        _authenticationProviderFactory = new AuthenticationProviderFactory(new QpidServiceLoader<AuthenticationManagerFactory>());
+        _portFactory = new PortFactory(registry);
         _registry = registry;
+        _virtualHostConfiguration = virtualHostConfiguration;
+        _groupManagerServiceLoader = new QpidServiceLoader<GroupManagerFactory>();
+        _pluginFactoryServiceLoader = new QpidServiceLoader<PluginFactory>();
     }
 
-
-
     @Override
     public ConfiguredObjectRecoverer<?> getRecoverer(ConfiguredObjectType type)
     {
         switch(type)
         {
         case BROKER:
-            return new DefaultBrokerRecoverer(_authenticationProviderFactory, _portFactory, _registry);
+            return new BrokerRecoverer(_authenticationProviderFactory, _portFactory, _registry);
+        case VIRTUAL_HOST:
+            return new VirtualHostRecoverer(_registry.getVirtualHostRegistry(),(StatisticsGatherer)_registry, _registry.getSecurityManager(), _virtualHostConfiguration);
+        case AUTHENTICATION_PROVIDER:
+            return new AuthenticationProviderRecoverer(_authenticationProviderFactory);
+        case PORT:
+            return new PortRecoverer(_portFactory);
+        case GROUP_PROVIDER:
+            return new GroupProviderRecoverer(_groupManagerServiceLoader);
+        case PLUGIN:
+            return new PluginRecoverer(_pluginFactoryServiceLoader);
         }
-        return null;
+        throw new IllegalConfigurationException("Cannot create a recoverer for the type: " + type);
     }
 
 }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/GroupProviderRecoverer.java Fri Nov  2 17:22:20 2012
@@ -24,6 +24,7 @@ import java.util.Map;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.GroupProvider;
 import org.apache.qpid.server.model.adapter.GroupProviderAdapter;
@@ -31,7 +32,7 @@ import org.apache.qpid.server.plugin.Gro
 import org.apache.qpid.server.plugin.QpidServiceLoader;
 import org.apache.qpid.server.security.group.GroupManager;
 
-public class GroupProviderRecoverer
+public class GroupProviderRecoverer extends AbstractBrokerChildRecoverer<GroupProvider>
 {
     private QpidServiceLoader<GroupManagerFactory> _groupManagerServiceLoader;
 
@@ -41,7 +42,8 @@ public class GroupProviderRecoverer
         _groupManagerServiceLoader = groupManagerServiceLoader;
     }
 
-    public GroupProvider create(ConfigurationEntry configurationEntry, Broker broker)
+    @Override
+    GroupProvider createBrokerChild(RecovererProvider recovererProvider, ConfigurationEntry configurationEntry, Broker broker)
     {
         Map<String, Object> attributes = configurationEntry.getAttributes();
         GroupManager groupManager = createGroupManager(attributes);

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PluginRecoverer.java Fri Nov  2 17:22:20 2012
@@ -25,12 +25,13 @@ import java.util.UUID;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.plugin.PluginFactory;
 import org.apache.qpid.server.plugin.QpidServiceLoader;
 
-public class PluginRecoverer
+public class PluginRecoverer extends AbstractBrokerChildRecoverer<ConfiguredObject>
 {
     private QpidServiceLoader<PluginFactory> _serviceLoader;
 
@@ -39,7 +40,8 @@ public class PluginRecoverer
         _serviceLoader = serviceLoader;
     }
 
-    public ConfiguredObject create(ConfigurationEntry configurationEntry, Broker broker)
+    @Override
+    ConfiguredObject createBrokerChild(RecovererProvider recovererProvider, ConfigurationEntry configurationEntry, Broker broker)
     {
         Map<String, Object> attributes = configurationEntry.getAttributes();
         Iterable<PluginFactory> factories = _serviceLoader.instancesOf(PluginFactory.class);

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/PortRecoverer.java Fri Nov  2 17:22:20 2012
@@ -21,12 +21,13 @@
 package org.apache.qpid.server.configuration.startup;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.adapter.BrokerAdapter;
 import org.apache.qpid.server.model.adapter.PortFactory;
 
-public class PortRecoverer
+public class PortRecoverer extends AbstractBrokerChildRecoverer<Port>
 {
     /**
      * delegates to a {@link PortFactory} so that the logic can be shared by
@@ -39,7 +40,8 @@ public class PortRecoverer
         _portFactory = portFactory;
     }
 
-    public Port create(ConfigurationEntry configurationEntry, Broker broker)
+    @Override
+    Port createBrokerChild(RecovererProvider recovererProvider, ConfigurationEntry configurationEntry, Broker broker)
     {
         return _portFactory.createPort(configurationEntry.getId(), broker, configurationEntry.getAttributes());
     }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/VirtualHostRecoverer.java Fri Nov  2 17:22:20 2012
@@ -24,6 +24,7 @@ import java.util.Map;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
+import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.configuration.VirtualHostConfiguration;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.VirtualHost;
@@ -32,7 +33,7 @@ import org.apache.qpid.server.security.S
 import org.apache.qpid.server.stats.StatisticsGatherer;
 import org.apache.qpid.server.virtualhost.VirtualHostRegistry;
 
-public class VirtualHostRecoverer
+public class VirtualHostRecoverer extends AbstractBrokerChildRecoverer<VirtualHost>
 {
     private VirtualHostRegistry _virtualHostRegistry;
     private StatisticsGatherer _statisticsGatherer;
@@ -49,15 +50,24 @@ public class VirtualHostRecoverer
         _configurations = configurations;
     }
 
-    public VirtualHost create(ConfigurationEntry entry, Broker parent)
+
+    @Override
+    VirtualHost createBrokerChild(RecovererProvider recovererProvider, ConfigurationEntry entry, Broker broker)
     {
-        String name = (String) entry.getAttributes().get(VirtualHost.NAME);
+        Map<String, Object> attributes = entry.getAttributes();
+        String name = (String) attributes.get(VirtualHost.NAME);
         if (name == null)
         {
             throw new IllegalConfigurationException("Mandatory attribute name is not found in virtual host configuration :"
                     + entry);
         }
-        return new VirtualHostAdapter(entry.getId(), parent, entry.getAttributes(), _virtualHostRegistry,
+        // XXX hack
+        VirtualHostConfiguration virtualHostConfiguration = (VirtualHostConfiguration)attributes.get("configuration");
+
+        // String configurationPath = attributes.get("configuration");
+        // VirtualHostConfiguration virtualHostConfiguration = new VirtualHostConfiguration(configurationPath);
+
+        return new VirtualHostAdapter(entry.getId(), broker, attributes, _virtualHostRegistry,
                 _statisticsGatherer, _securityManager, _configurations.get(name));
     }
 

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/XMLConfigurationEntryStore.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/XMLConfigurationEntryStore.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/XMLConfigurationEntryStore.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/store/XMLConfigurationEntryStore.java Fri Nov  2 17:22:20 2012
@@ -22,6 +22,7 @@ package org.apache.qpid.server.configura
 
 import static org.apache.qpid.transport.ConnectionSettings.WILDCARD_ADDRESS;
 
+import java.io.File;
 import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
@@ -33,6 +34,7 @@ import java.util.Set;
 import java.util.UUID;
 
 import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.ConfigurationUtils;
 import org.apache.commons.configuration.HierarchicalConfiguration;
 import org.apache.commons.configuration.tree.ConfigurationNode;
@@ -64,13 +66,19 @@ public class XMLConfigurationEntryStore 
 
     private PortConfigurationHelper _portConfigurationHelper;
 
-    public XMLConfigurationEntryStore(ServerConfiguration config, BrokerOptions options)
+    public XMLConfigurationEntryStore(File configFile, BrokerOptions options) throws ConfigurationException
+    {
+        this(new ServerConfiguration(configFile), options);
+    }
+
+    public XMLConfigurationEntryStore(ServerConfiguration config, BrokerOptions options)  throws ConfigurationException
     {
         _serverConfiguration = config;
+        _serverConfiguration.initialise();
+
         _configuration = ConfigurationUtils.convertToHierarchical(config.getConfig());
         _rootId = UUID.randomUUID();
         _rootChildren = new HashMap<UUID, ConfigurationEntry>();
-
         _portConfigurationHelper = new PortConfigurationHelper(this);
 
         updateManagementPorts(_serverConfiguration, options);
@@ -382,4 +390,9 @@ public class XMLConfigurationEntryStore 
 
     }
 
+    public ServerConfiguration getConfiguration()
+    {
+        return _serverConfiguration;
+    }
+
 }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/AbstractRootMessageLogger.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/AbstractRootMessageLogger.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/AbstractRootMessageLogger.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/AbstractRootMessageLogger.java Fri Nov  2 17:22:20 2012
@@ -20,7 +20,6 @@
  */
 package org.apache.qpid.server.logging;
 
-import org.apache.qpid.server.configuration.ServerConfiguration;
 
 public abstract class AbstractRootMessageLogger implements RootMessageLogger
 {
@@ -33,9 +32,9 @@ public abstract class AbstractRootMessag
 
     }
     
-    public AbstractRootMessageLogger(ServerConfiguration config)
+    public AbstractRootMessageLogger(boolean statusUpdatesEnabled)
     {
-        _enabled = config.getStatusUpdatesEnabled();
+        _enabled = statusUpdatesEnabled;
     }
     
     public boolean isEnabled()

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/Log4jMessageLogger.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/Log4jMessageLogger.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/Log4jMessageLogger.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/logging/Log4jMessageLogger.java Fri Nov  2 17:22:20 2012
@@ -21,7 +21,6 @@
 package org.apache.qpid.server.logging;
 
 import org.apache.log4j.Logger;
-import org.apache.qpid.server.configuration.ServerConfiguration;
 
 public class Log4jMessageLogger extends AbstractRootMessageLogger
 {
@@ -30,9 +29,9 @@ public class Log4jMessageLogger extends 
         super();
     }
 
-    public Log4jMessageLogger(ServerConfiguration config)
+    public Log4jMessageLogger(boolean statusUpdatesEnabled)
     {
-        super(config);
+        super(statusUpdatesEnabled);
     }
     
     @Override

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/ConfiguredObjectType.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/ConfiguredObjectType.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/ConfiguredObjectType.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/ConfiguredObjectType.java Fri Nov  2 17:22:20 2012
@@ -36,12 +36,9 @@ public enum ConfiguredObjectType
     VIRTUAL_HOST(VirtualHost.class),
     PORT(Port.class),
     AUTHENTICATION_PROVIDER(AuthenticationProvider.class),
-    PASSWORD_CREDENTIAL_MANAGING_AUTHENTICATION_PROVIDER(PasswordCredentialManagingAuthenticationProvider.class),
-    AUTHENTICATION_METHOD(AuthenticationMethod.class),
     EXCHANGE(Exchange.class),
     USER(User.class),
     BINDING(Binding.class),
-    VIRTUAL_HOST_ALIAS(VirtualHostAlias.class),
     CONSUMER(Consumer.class),
     GROUP(Group.class),
     GROUP_MEMBER(GroupMember.class),

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/registry/ApplicationRegistry.java Fri Nov  2 17:22:20 2012
@@ -30,19 +30,17 @@ import java.util.TimerTask;
 import java.util.UUID;
 import java.util.concurrent.atomic.AtomicReference;
 
+import org.apache.commons.configuration.ConfigurationException;
 import org.apache.log4j.Logger;
 import org.apache.qpid.common.Closeable;
 import org.apache.qpid.common.QpidProperties;
 import org.apache.qpid.server.BrokerOptions;
 import org.apache.qpid.server.configuration.ConfigurationEntryStore;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
+import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.configuration.ServerConfiguration;
 import org.apache.qpid.server.configuration.VirtualHostConfiguration;
-import org.apache.qpid.server.configuration.startup.AuthenticationProviderRecoverer;
-import org.apache.qpid.server.configuration.startup.BrokerRecoverer;
-import org.apache.qpid.server.configuration.startup.GroupProviderRecoverer;
-import org.apache.qpid.server.configuration.startup.PluginRecoverer;
-import org.apache.qpid.server.configuration.startup.PortRecoverer;
-import org.apache.qpid.server.configuration.startup.VirtualHostRecoverer;
+import org.apache.qpid.server.configuration.startup.DefaultRecovererProvider;
 import org.apache.qpid.server.configuration.store.XMLConfigurationEntryStore;
 import org.apache.qpid.server.logging.CompositeStartupMessageLogger;
 import org.apache.qpid.server.logging.Log4jMessageLogger;
@@ -58,14 +56,10 @@ import org.apache.qpid.server.logging.me
 import org.apache.qpid.server.logging.messages.VirtualHostMessages;
 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.ConfiguredObjectType;
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.State;
-import org.apache.qpid.server.model.adapter.AuthenticationProviderFactory;
-import org.apache.qpid.server.model.adapter.PortFactory;
-import org.apache.qpid.server.plugin.AuthenticationManagerFactory;
-import org.apache.qpid.server.plugin.GroupManagerFactory;
-import org.apache.qpid.server.plugin.PluginFactory;
-import org.apache.qpid.server.plugin.QpidServiceLoader;
 import org.apache.qpid.server.security.SecurityManager;
 import org.apache.qpid.server.security.SubjectCreator;
 import org.apache.qpid.server.stats.StatisticsCounter;
@@ -94,8 +88,6 @@ public class ApplicationRegistry impleme
 
     private volatile RootMessageLogger _rootMessageLogger;
 
-    private CompositeStartupMessageLogger _startupMessageLogger;
-
     private Broker _broker;
 
     private Timer _reportingTimer;
@@ -103,7 +95,7 @@ public class ApplicationRegistry impleme
 
     private LogRecorder _logRecorder;
 
-    private final BrokerOptions _brokerOptions;
+    private ConfigurationEntryStore _store;
 
     protected void setSecurityManager(SecurityManager securityManager)
     {
@@ -115,16 +107,6 @@ public class ApplicationRegistry impleme
         _rootMessageLogger = rootMessageLogger;
     }
 
-    protected CompositeStartupMessageLogger getStartupMessageLogger()
-    {
-        return _startupMessageLogger;
-    }
-
-    protected void setStartupMessageLogger(CompositeStartupMessageLogger startupMessageLogger)
-    {
-        _startupMessageLogger = startupMessageLogger;
-    }
-
     public static void initialise(IApplicationRegistry instance) throws Exception
     {
         if(instance == null)
@@ -186,48 +168,38 @@ public class ApplicationRegistry impleme
         }
     }
 
-    /** intended to be used when broker options are not applicable, eg from tests */
-    public ApplicationRegistry(ServerConfiguration configuration)
+    // XXX remove this constructor
+    public ApplicationRegistry(ServerConfiguration configuration) throws ConfigurationException
     {
-        this(configuration, new BrokerOptions());
+        _configuration = configuration;
     }
 
-    public ApplicationRegistry(ServerConfiguration configuration, BrokerOptions brokerOptions)
+    public ApplicationRegistry(ConfigurationEntryStore store)
     {
-        _configuration = configuration;
-        _brokerOptions = brokerOptions;
+        _store = store;
+        _configuration = ((XMLConfigurationEntryStore)store).getConfiguration();
     }
 
     public void initialise() throws Exception
     {
+        // only in tests store is null
+        if (_store == null)
+        {
+            _store = new XMLConfigurationEntryStore(_configuration,  new BrokerOptions());
+        }
         _logRecorder = new LogRecorder();
-        //Create the RootLogger to be used during broker operation
-        _rootMessageLogger = new Log4jMessageLogger(_configuration);
 
         //Create the composite (log4j+SystemOut MessageLogger to be used during startup
-        RootMessageLogger[] messageLoggers = {new SystemOutMessageLogger(), _rootMessageLogger};
-        _startupMessageLogger = new CompositeStartupMessageLogger(messageLoggers);
+        RootMessageLogger[] messageLoggers = {new SystemOutMessageLogger(), new Log4jMessageLogger(true)};
+        CompositeStartupMessageLogger startupMessageLogger = new CompositeStartupMessageLogger(messageLoggers);
 
-        BrokerActor actor = new BrokerActor(_startupMessageLogger);
+        BrokerActor actor = new BrokerActor(startupMessageLogger);
         CurrentActor.setDefault(actor);
         CurrentActor.set(actor);
 
         try
         {
-
             initialiseStatistics();
-            _configuration.initialise();
-
-            // We have already loaded the BrokerMessages class by this point so we
-            // need to refresh the locale setting in case we had a different value in
-            // the configuration.
-            BrokerMessages.reload();
-
-            // AR.initialise() sets and removes its own actor so we now need to set the actor
-            // for the remainder of the startup, and the default actor if the stack is empty
-            //CurrentActor.set(new BrokerActor(applicationRegistry.getCompositeStartupMessageLogger()));
-            CurrentActor.setDefault(new BrokerActor(_rootMessageLogger));
-            GenericActor.setDefaultMessageLogger(_rootMessageLogger);
 
             logStartupMessages(CurrentActor.get());
 
@@ -238,6 +210,19 @@ public class ApplicationRegistry impleme
             getVirtualHostRegistry().setDefaultVirtualHostName(_configuration.getDefaultVirtualHost());
             initialiseStatisticsReporting();
 
+
+            // We have already loaded the BrokerMessages class by this point so we
+            // need to refresh the locale setting in case we had a different value in
+            // the configuration.
+            BrokerMessages.reload();
+
+            // Create the RootLogger to be used during broker operation
+            // XXX this setting should be retrieved from the broker
+            _rootMessageLogger = new Log4jMessageLogger(_configuration.getStatusUpdatesEnabled()); // _broker.getStatusUpdatesEnabled()
+
+            CurrentActor.setDefault(new BrokerActor(_rootMessageLogger));
+            GenericActor.setDefaultMessageLogger(_rootMessageLogger);
+
             // starting the broker
             _broker.setDesiredState(State.INITIALISING, State.ACTIVE);
 
@@ -252,43 +237,15 @@ public class ApplicationRegistry impleme
 
     private void createBroker()
     {
-        // XXX move all the code below into store and broker creator
-        ConfigurationEntryStore store = new XMLConfigurationEntryStore(_configuration, _brokerOptions);
-
         Map<String, VirtualHostConfiguration> virtualHostConfigurations = new HashMap<String, VirtualHostConfiguration>();
         String[] vhNames = _configuration.getVirtualHostsNames();
         for (String name : vhNames)
         {
             virtualHostConfigurations.put(name, _configuration.getVirtualHostConfig(name));
         }
-
-        // XXX : introduce RecovererGeneraor/Registry/Factory?
-
-        PortFactory portFactory = new PortFactory(this);
-        PortRecoverer portRecoverer = new PortRecoverer(portFactory);
-        VirtualHostRecoverer virtualHostRecoverer = new VirtualHostRecoverer(getVirtualHostRegistry(),
-                this, getSecurityManager(), virtualHostConfigurations);
-
-        AuthenticationProviderFactory authenticationProviderFactory =
-                new AuthenticationProviderFactory(new QpidServiceLoader<AuthenticationManagerFactory>());
-        AuthenticationProviderRecoverer authenticationProviderRecoverer =
-                new AuthenticationProviderRecoverer(authenticationProviderFactory);
-
-        GroupProviderRecoverer groupProviderRecoverer = new GroupProviderRecoverer(new QpidServiceLoader<GroupManagerFactory>());
-
-        PluginRecoverer pluginRecoverer = new PluginRecoverer(new QpidServiceLoader<PluginFactory>());
-
-        BrokerRecoverer brokerRecoverer =  new BrokerRecoverer(
-                portRecoverer,
-                virtualHostRecoverer,
-                authenticationProviderRecoverer,
-                authenticationProviderFactory,
-                portFactory,
-                groupProviderRecoverer,
-                pluginRecoverer,
-                this);
-
-        _broker = brokerRecoverer.create(store.getRootEntry());
+        RecovererProvider provider = new DefaultRecovererProvider(this, virtualHostConfigurations);
+        ConfiguredObjectRecoverer<? extends ConfiguredObject> brokerRecoverer =  provider.getRecoverer(ConfiguredObjectType.BROKER);
+        _broker = (Broker) brokerRecoverer.create(provider, _store.getRootEntry());
     }
 
     public void initialiseStatisticsReporting()
@@ -481,11 +438,6 @@ public class ApplicationRegistry impleme
         return _rootMessageLogger;
     }
 
-    public RootMessageLogger getCompositeStartupMessageLogger()
-    {
-        return _startupMessageLogger;
-    }
-
     public UUID getBrokerId()
     {
         return getBroker().getId();

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/BrokerRecovererTest.java Fri Nov  2 17:22:20 2012
@@ -36,6 +36,8 @@ import java.util.UUID;
 import junit.framework.TestCase;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
+import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
+import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.AuthenticationProvider;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.ConfiguredObject;
@@ -53,7 +55,6 @@ public class BrokerRecovererTest extends
 
     private IApplicationRegistry _applicationRegistry = mock(IApplicationRegistry.class);
 
-    private VirtualHostRecoverer _virtualHostRecoverer = mock(VirtualHostRecoverer.class);
     private PortRecoverer _portRecoverer = mock(PortRecoverer.class);
     private AuthenticationProviderRecoverer _authenticationProviderRecoverer = mock(AuthenticationProviderRecoverer.class);
 
@@ -69,12 +70,12 @@ public class BrokerRecovererTest extends
 
     private PluginRecoverer _pluginRecoverer = mock(PluginRecoverer.class);
 
+
     @Override
     protected void setUp() throws Exception
     {
         super.setUp();
-        _brokerRecoverer = new BrokerRecoverer(_portRecoverer, _virtualHostRecoverer, _authenticationProviderRecoverer,
-                _authenticationProviderFactory, _portFactory, _groupProviderRecoverer, _pluginRecoverer, _applicationRegistry);
+        _brokerRecoverer = new BrokerRecoverer(_authenticationProviderFactory, _portFactory, _applicationRegistry);
         when(_entry.getId()).thenReturn(_brokerId);
         when(_entry.getChildren()).thenReturn(_entryChildren);
 
@@ -82,15 +83,15 @@ public class BrokerRecovererTest extends
 
     public void testCreateBrokerWithVirtualHost()
     {
-        ConfigurationEntry virtualHostEntry = mock(ConfigurationEntry.class);
-
-        VirtualHost virtualHost = mock(VirtualHost.class);
-
+        final ConfigurationEntry virtualHostEntry = mock(ConfigurationEntry.class);
+        when(virtualHostEntry.getType()).thenReturn(ConfiguredObjectType.VIRTUAL_HOST);
         _entryChildren.put(ConfiguredObjectType.VIRTUAL_HOST, Arrays.asList(virtualHostEntry));
 
-        when(_virtualHostRecoverer.create(same(virtualHostEntry), any(Broker.class))).thenReturn(virtualHost);
+        final VirtualHost virtualHost = mock(VirtualHost.class);
+
+        RecovererProvider recovererProvider = createRecoveryProvider(virtualHostEntry, virtualHost);
 
-        Broker broker = _brokerRecoverer.create(_entry);
+        Broker broker = _brokerRecoverer.create(recovererProvider, _entry);
 
         assertNotNull(broker);
         assertEquals(_brokerId, broker.getId());
@@ -106,9 +107,10 @@ public class BrokerRecovererTest extends
         Port port = mock(Port.class);
         _entryChildren.put(ConfiguredObjectType.PORT, Arrays.asList(portEntry));
 
-        when(_portRecoverer.create(same(portEntry), any(Broker.class))).thenReturn(port);
+        RecovererProvider recovererProvider = createRecoveryProvider(portEntry, port);
+        when(_portRecoverer.create(same(recovererProvider), same(portEntry), any(Broker.class))).thenReturn(port);
 
-        Broker broker = _brokerRecoverer.create(_entry);
+        Broker broker = _brokerRecoverer.create(recovererProvider, _entry);
 
         assertNotNull(broker);
         assertEquals(_brokerId, broker.getId());
@@ -121,10 +123,12 @@ public class BrokerRecovererTest extends
         AuthenticationProvider authenticationProvider = mock(AuthenticationProvider.class);
         _entryChildren.put(ConfiguredObjectType.AUTHENTICATION_PROVIDER, Arrays.asList(authenticationProviderEntry));
 
-        when(_authenticationProviderRecoverer.create(same(authenticationProviderEntry), any(Broker.class))).thenReturn(
-                authenticationProvider);
 
-        Broker broker = _brokerRecoverer.create(_entry);
+        RecovererProvider recovererProvider = createRecoveryProvider(authenticationProviderEntry, authenticationProvider);
+
+        when(_authenticationProviderRecoverer.create(same(recovererProvider), same(authenticationProviderEntry),
+                any(Broker.class))).thenReturn(authenticationProvider);
+        Broker broker = _brokerRecoverer.create(recovererProvider, _entry);
 
         assertNotNull(broker);
         assertEquals(_brokerId, broker.getId());
@@ -137,9 +141,10 @@ public class BrokerRecovererTest extends
         GroupProvider groupProvider = mock(GroupProvider.class);
         _entryChildren.put(ConfiguredObjectType.GROUP_PROVIDER, Arrays.asList(groupProviderEntry));
 
-        when(_groupProviderRecoverer.create(same(groupProviderEntry), any(Broker.class))).thenReturn(groupProvider);
+        RecovererProvider recovererProvider = createRecoveryProvider(groupProviderEntry, groupProvider);
+        when(_groupProviderRecoverer.create(same(recovererProvider), same(groupProviderEntry), any(Broker.class))).thenReturn(groupProvider);
 
-        Broker broker = _brokerRecoverer.create(_entry);
+        Broker broker = _brokerRecoverer.create(recovererProvider, _entry);
 
         assertNotNull(broker);
         assertEquals(_brokerId, broker.getId());
@@ -152,12 +157,29 @@ public class BrokerRecovererTest extends
         ConfiguredObject plugin = mock(ConfiguredObject.class);
         _entryChildren.put(ConfiguredObjectType.PLUGIN, Arrays.asList(pluginEntry));
 
-        when(_pluginRecoverer.create(same(pluginEntry), any(Broker.class))).thenReturn(plugin);
+        RecovererProvider recovererProvider = createRecoveryProvider(pluginEntry, plugin);
+        when(_pluginRecoverer.create(same(recovererProvider), same(pluginEntry), any(Broker.class))).thenReturn(plugin);
 
-        Broker broker = _brokerRecoverer.create(_entry);
+        Broker broker = _brokerRecoverer.create(recovererProvider, _entry);
 
         assertNotNull(broker);
         assertEquals(_brokerId, broker.getId());
         assertEquals(Collections.singleton(plugin), new HashSet<ConfiguredObject>(broker.getChildren(ConfiguredObject.class)));
     }
+
+    private <T extends ConfiguredObject> RecovererProvider createRecoveryProvider(final ConfigurationEntry entry, final T objectToRecoverer)
+    {
+        RecovererProvider recovererProvider = new RecovererProvider()
+        {
+            @Override
+            public ConfiguredObjectRecoverer<? extends ConfiguredObject> getRecoverer(ConfiguredObjectType type)
+            {
+                @SuppressWarnings("unchecked")
+                final ConfiguredObjectRecoverer<T> recovever = mock(ConfiguredObjectRecoverer.class);
+                when(recovever.create(same(this), same(entry), any(Broker.class))).thenReturn(objectToRecoverer);
+                return recovever;
+            }
+        };
+        return recovererProvider;
+    }
 }

Copied: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProviderTest.java (from r1404902, qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java)
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProviderTest.java?p2=qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProviderTest.java&p1=qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java&r1=1404902&r2=1405064&rev=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProvider.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProviderTest.java Fri Nov  2 17:22:20 2012
@@ -20,40 +20,29 @@
  */
 package org.apache.qpid.server.configuration.startup;
 
+import static org.mockito.Mockito.mock;
+
 import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
-import org.apache.qpid.server.configuration.RecovererProvider;
 import org.apache.qpid.server.model.ConfiguredObjectType;
-import org.apache.qpid.server.model.adapter.AuthenticationProviderFactory;
-import org.apache.qpid.server.model.adapter.PortFactory;
 import org.apache.qpid.server.registry.IApplicationRegistry;
 
-public class DefaultRecovererProvider implements RecovererProvider
-{
+import junit.framework.TestCase;
 
-    private final AuthenticationProviderFactory _authenticationProviderFactory;
-    private final PortFactory _portFactory;
-    private final IApplicationRegistry _registry;
+public class DefaultRecovererProviderTest extends TestCase
+{
 
-    public DefaultRecovererProvider(AuthenticationProviderFactory authenticationProviderFactory, PortFactory portFactory,
-            IApplicationRegistry registry)
+    public void testGetRecoverer()
     {
-        super();
-        _authenticationProviderFactory = authenticationProviderFactory;
-        _portFactory = portFactory;
-        _registry = registry;
-    }
+        ConfiguredObjectType[] supportedTypes = {ConfiguredObjectType.BROKER,
+                ConfiguredObjectType.VIRTUAL_HOST, ConfiguredObjectType.AUTHENTICATION_PROVIDER,
+                ConfiguredObjectType.GROUP_PROVIDER, ConfiguredObjectType.PLUGIN, ConfiguredObjectType.PORT};
 
-
-
-    @Override
-    public ConfiguredObjectRecoverer<?> getRecoverer(ConfiguredObjectType type)
-    {
-        switch(type)
+        DefaultRecovererProvider provider = new DefaultRecovererProvider(mock(IApplicationRegistry.class), null);
+        for (ConfiguredObjectType configuredObjectType : supportedTypes)
         {
-        case BROKER:
-            return new DefaultBrokerRecoverer(_authenticationProviderFactory, _portFactory, _registry);
+            ConfiguredObjectRecoverer<?> recovever = provider.getRecoverer(configuredObjectType);
+            assertNotNull("Null recoveverer for type: " + configuredObjectType, recovever);
         }
-        return null;
     }
 
 }

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/GroupProviderRecovererTest.java Fri Nov  2 17:22:20 2012
@@ -72,7 +72,7 @@ public class GroupProviderRecovererTest 
         String name = groupManager.getClass().getSimpleName();
         when(_factory.createInstance(_attributes)).thenReturn(groupManager);
         GroupProviderRecoverer groupProviderRecoverer = new GroupProviderRecoverer(_groupManagerServiceLoader);
-        GroupProvider groupProvider = groupProviderRecoverer.create(_configurationEntry, _broker);
+        GroupProvider groupProvider = groupProviderRecoverer.create(null, _configurationEntry, _broker);
         assertNotNull("Null group provider", groupProvider);
         assertEquals("Unexpected name", name, groupProvider.getName());
         assertEquals("Unexpected ID", _id, groupProvider.getId());
@@ -85,7 +85,7 @@ public class GroupProviderRecovererTest 
         GroupProviderRecoverer groupProviderRecoverer = new GroupProviderRecoverer(_groupManagerServiceLoader);
         try
         {
-            groupProviderRecoverer.create(_configurationEntry, _broker);
+            groupProviderRecoverer.create(null, _configurationEntry, _broker);
             fail("Configuration exception should be thrown when group manager is not created");
         }
         catch(IllegalConfigurationException e)

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/PluginRecovererTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/PluginRecovererTest.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/PluginRecovererTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/PluginRecovererTest.java Fri Nov  2 17:22:20 2012
@@ -73,7 +73,7 @@ public class PluginRecovererTest extends
         when(_factory.createInstance(_id, _attributes, _broker)).thenReturn(pluginFromFactory);
 
         PluginRecoverer pluginRecoverer = new PluginRecoverer(_pluginFactoryServiceLoader);
-        ConfiguredObject pluginFromRecoverer = pluginRecoverer.create(_configurationEntry, _broker);
+        ConfiguredObject pluginFromRecoverer = pluginRecoverer.create(null, _configurationEntry, _broker);
         assertNotNull("Null group provider", pluginFromRecoverer);
         assertSame("Unexpected plugin", pluginFromFactory, pluginFromRecoverer);
         assertEquals("Unexpected ID", _id, pluginFromRecoverer.getId());
@@ -88,7 +88,7 @@ public class PluginRecovererTest extends
         PluginRecoverer pluginRecoverer = new PluginRecoverer(_pluginFactoryServiceLoader);
         try
         {
-            pluginRecoverer.create(_configurationEntry, _broker);
+            pluginRecoverer.create(null, _configurationEntry, _broker);
             fail("An exception should be thrown for incorrect id");
         }
         catch(IllegalStateException e)
@@ -104,7 +104,7 @@ public class PluginRecovererTest extends
         PluginRecoverer pluginRecoverer = new PluginRecoverer(_pluginFactoryServiceLoader);
         try
         {
-            pluginRecoverer.create(_configurationEntry, _broker);
+            pluginRecoverer.create(null, _configurationEntry, _broker);
             fail("Configuration exception should be thrown when plugin is not created");
         }
         catch(IllegalConfigurationException e)

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostRecovererTest.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostRecovererTest.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostRecovererTest.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/VirtualHostRecovererTest.java Fri Nov  2 17:22:20 2012
@@ -54,7 +54,7 @@ public class VirtualHostRecovererTest ex
         when(entry.getAttributes()).thenReturn(attributes);
         configurations.put(getName(), mock(VirtualHostConfiguration.class));
 
-        VirtualHost host = recoverer.create(entry, parent);
+        VirtualHost host = recoverer.create(null, entry, parent);
 
         assertNotNull("Null is returned", host);
         assertEquals("Unexpected name", getName(), host.getName());

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/UnitTestMessageLogger.java Fri Nov  2 17:22:20 2012
@@ -20,7 +20,6 @@
  */
 package org.apache.qpid.server.logging;
 
-import org.apache.qpid.server.configuration.ServerConfiguration;
 
 import java.util.LinkedList;
 import java.util.List;
@@ -34,9 +33,9 @@ public class UnitTestMessageLogger exten
 
     }
 
-    public UnitTestMessageLogger(ServerConfiguration config)
+    public UnitTestMessageLogger(boolean statusUpdatesEnabled)
     {
-        super(config);
+        super(statusUpdatesEnabled);
     }
 
     public void rawMessage(String message, String logHierarchy)

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseActorTestCase.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseActorTestCase.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseActorTestCase.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/actors/BaseActorTestCase.java Fri Nov  2 17:22:20 2012
@@ -45,7 +45,7 @@ public class BaseActorTestCase extends I
     {
         super.createBroker();
 
-        _rawLogger = new UnitTestMessageLogger(getConfiguration());
+        _rawLogger = new UnitTestMessageLogger(getConfiguration().getStatusUpdatesEnabled());
         _rootLogger = _rawLogger;
     }
 

Modified: qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java
URL: http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java?rev=1405064&r1=1405063&r2=1405064&view=diff
==============================================================================
--- qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java (original)
+++ qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java Fri Nov  2 17:22:20 2012
@@ -20,12 +20,8 @@
  */
 package org.apache.qpid.server.logging.subjects;
 
-import org.apache.commons.configuration.Configuration;
-import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.PropertiesConfiguration;
 
 import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.server.configuration.ServerConfiguration;
 import org.apache.qpid.server.exchange.Exchange;
 import org.apache.qpid.server.logging.LogActor;
 import org.apache.qpid.server.logging.LogMessage;
@@ -51,27 +47,23 @@ import java.util.List;
  */
 public abstract class AbstractTestLogSubject extends InternalBrokerBaseCase
 {
-    protected Configuration _config = new PropertiesConfiguration();
     protected LogSubject _subject = null;
 
     @Override
     public void setUp() throws Exception
     {
         super.setUp();
-
-        _config.setProperty(ServerConfiguration.STATUS_UPDATES, "ON");
     }
 
 
-    protected List<Object> performLog() throws ConfigurationException
+    protected List<Object> performLog(boolean statusUpdatesEnabled)
     {
         if (_subject == null)
         {
             throw new NullPointerException("LogSubject has not been set");
         }
 
-        ServerConfiguration serverConfig = new ServerConfiguration(_config);
-        UnitTestMessageLogger logger = new UnitTestMessageLogger(serverConfig);
+        UnitTestMessageLogger logger = new UnitTestMessageLogger(statusUpdatesEnabled);
 
         LogActor actor = new TestLogActor(logger);
 
@@ -247,11 +239,10 @@ public abstract class AbstractTestLogSub
     /**
      * Test that when Logging occurs a single log statement is provided
      *
-     * @throws ConfigurationException
      */
-    public void testEnabled() throws ConfigurationException
+    public void testEnabled()
     {
-        List<Object> logs = performLog();
+        List<Object> logs = performLog(true);
 
         assertEquals("Log has incorrect message count", 1, logs.size());
 
@@ -271,11 +262,10 @@ public abstract class AbstractTestLogSub
      *
      * @throws ConfigurationException
      */
-    public void testDisabled() throws ConfigurationException
+    public void testDisabled()
     {
-        _config.setProperty(ServerConfiguration.STATUS_UPDATES, "OFF");
 
-        List<Object> logs = performLog();
+        List<Object> logs = performLog(false);
 
         assertEquals("Log has incorrect message count", 0, logs.size());
     }



---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org