Author: orudyy
Date: Mon Nov 12 15:49:55 2012
New Revision: 1408332

URL: http://svn.apache.org/viewvc?rev=1408332&view=rev
Log:
WIP - clean-up
1) stop passing the map of VirtualhostConfiguration into Recoverers
2) remove references to ServerConfiguration from jmx management
3) clean-up  the validation of port types in PortFactory

Added:
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/XmlConfigurationUtilities.java
Modified:
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXConfiguration.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanInvocationHandlerImpl.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.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/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/model/Protocol.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortFactory.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/DefaultRecovererProviderTest.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/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java?rev=1408332&r1=1408331&r2=1408332&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java
 Mon Nov 12 15:49:55 2012
@@ -77,7 +77,6 @@ public class HttpManagement extends Abst
 
     private final HttpConfiguration _configuration;
 
-    // XXX refactor back to use a single instance of server and add connectors 
for different ports
     public HttpManagement(UUID id, Broker broker, HttpConfiguration 
configuration)
     {
         super(id);

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXConfiguration.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXConfiguration.java?rev=1408332&r1=1408331&r2=1408332&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXConfiguration.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXConfiguration.java
 Mon Nov 12 15:49:55 2012
@@ -25,13 +25,15 @@ public class JMXConfiguration
     private final boolean _platformMBeanServer;
     private final String _managementKeyStorePath;
     private final String  _managementKeyStorePassword;
+    private final boolean _managementRightsInferAllAccess;
 
     public JMXConfiguration( boolean platformMBeanServer, String 
managementKeyStorePath,
-            String managementKeyStorePassword)
+            String managementKeyStorePassword, boolean 
managementRightsInferAllAccess)
     {
         _platformMBeanServer = platformMBeanServer;
         _managementKeyStorePath = managementKeyStorePath;
         _managementKeyStorePassword = managementKeyStorePassword;
+        _managementRightsInferAllAccess = managementRightsInferAllAccess;
     }
 
     public boolean isPlatformMBeanServer()
@@ -49,4 +51,9 @@ public class JMXConfiguration
         return _managementKeyStorePassword;
     }
 
+    public boolean isManagementRightsInferAllAccess()
+    {
+        return _managementRightsInferAllAccess;
+    }
+
 }

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java?rev=1408332&r1=1408331&r2=1408332&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagedObjectRegistry.java
 Mon Nov 12 15:49:55 2012
@@ -78,8 +78,7 @@ public class JMXManagedObjectRegistry im
     private final Port _registryPort;
     private final Port _connectorPort;
 
-    private final String _managementKeyStorePath;
-    private final String  _managementKeyStorePassword;
+    private final JMXConfiguration _jmxConfiguration;
 
     public JMXManagedObjectRegistry(
             Port connectorPort, Port registryPort,
@@ -93,9 +92,7 @@ public class JMXManagedObjectRegistry im
         _mbeanServer =
                 platformServer ? ManagementFactory.getPlatformMBeanServer()
                 : MBeanServerFactory.createMBeanServer(ManagedObject.DOMAIN);
-
-        _managementKeyStorePath = jmxConfiguration.getManagementKeyStorePath();
-        _managementKeyStorePassword = 
jmxConfiguration.getManagementKeyStorePassword();
+        _jmxConfiguration = jmxConfiguration;
     }
 
     @Override
@@ -126,20 +123,23 @@ public class JMXManagedObjectRegistry im
 
         if (connectorSslEnabled)
         {
+            String managementKeyStorePath = 
_jmxConfiguration.getManagementKeyStorePath();
+            String managementKeyStorePassword = 
_jmxConfiguration.getManagementKeyStorePath();
+
             //set the SSL related system properties used by the SSL RMI socket 
factories to the values
             //given in the configuration file
-            checkKeyStorePathExistsAndIsReadable(_managementKeyStorePath);
+            checkKeyStorePathExistsAndIsReadable(managementKeyStorePath );
 
-            
CurrentActor.get().message(ManagementConsoleMessages.SSL_KEYSTORE(_managementKeyStorePath));
+            
CurrentActor.get().message(ManagementConsoleMessages.SSL_KEYSTORE(managementKeyStorePath));
 
-            if (_managementKeyStorePassword == null)
+            if (managementKeyStorePassword == null)
             {
                 throw new IllegalConfigurationException(
                         "JMX management SSL keystore password not defined, 
unable to start requested SSL protected JMX server");
             }
             else
             {
-               System.setProperty("javax.net.ssl.keyStorePassword", 
_managementKeyStorePassword);
+               System.setProperty("javax.net.ssl.keyStorePassword", 
managementKeyStorePassword);
             }
 
             //create the SSL RMI socket factories
@@ -240,7 +240,7 @@ public class JMXManagedObjectRegistry im
         };
 
         //Add the custom invoker as an MBeanServerForwarder, and start the 
RMIConnectorServer.
-        MBeanServerForwarder mbsf = 
MBeanInvocationHandlerImpl.newProxyInstance();
+        MBeanServerForwarder mbsf = 
MBeanInvocationHandlerImpl.newProxyInstance(_jmxConfiguration);
         _cs.setMBeanServerForwarder(mbsf);
 
         // Install a ManagementLogonLogoffReporter so we can report as users 
logon/logoff

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java?rev=1408332&r1=1408331&r2=1408332&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/JMXManagementFactory.java
 Mon Nov 12 15:49:55 2012
@@ -36,6 +36,7 @@ public class JMXManagementFactory implem
     public static final String USE_PLATFORM_MBEAN_SERVER = 
"usePlatformMBeanServer";
     public static final String KEY_STORE_PATH = "keyStorePath";
     public static final String KEY_STORE_PASSWORD = "keyStorePassword";
+    public static final String MANAGEMENT_RIGHTS_INFER_ALL_ACCESS = 
"managementRightsInferAllAccess";
 
     public static final String PLUGIN_NAME = "MANAGEMENT-JMX";
 
@@ -47,7 +48,8 @@ public class JMXManagementFactory implem
             JMXConfiguration jmxConfiguration = new JMXConfiguration(
                     getBooleanAttribute(USE_PLATFORM_MBEAN_SERVER, attributes, 
true),
                     getStringAttribute(KEY_STORE_PATH, attributes, null),
-                    getStringAttribute(KEY_STORE_PASSWORD, attributes, null));
+                    getStringAttribute(KEY_STORE_PASSWORD, attributes, null),
+                    getBooleanAttribute(MANAGEMENT_RIGHTS_INFER_ALL_ACCESS, 
attributes, true));
 
             return new JMXManagement(id, broker, jmxConfiguration);
         }

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanInvocationHandlerImpl.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanInvocationHandlerImpl.java?rev=1408332&r1=1408331&r2=1408332&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanInvocationHandlerImpl.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/MBeanInvocationHandlerImpl.java
 Mon Nov 12 15:49:55 2012
@@ -60,13 +60,16 @@ public class MBeanInvocationHandlerImpl 
     private MBeanServer _mbs;
     private final ManagementActor _logActor = new 
ManagementActor(_appRegistry.getRootMessageLogger());
 
-    // XXX remove reference to ServerConfiguration
-    private final boolean _managementRightsInferAllAccess =
-        _appRegistry.getConfiguration().getManagementRightsInferAllAccess();
+    private final boolean _managementRightsInferAllAccess;
 
-    public static MBeanServerForwarder newProxyInstance()
+    MBeanInvocationHandlerImpl(boolean managementRightsInferAllAccess)
     {
-        final InvocationHandler handler = new MBeanInvocationHandlerImpl();
+        _managementRightsInferAllAccess = managementRightsInferAllAccess;
+    }
+
+    public static MBeanServerForwarder newProxyInstance(JMXConfiguration 
configuration)
+    {
+        final InvocationHandler handler = new 
MBeanInvocationHandlerImpl(configuration.isManagementRightsInferAllAccess());
         final Class<?>[] interfaces = new Class[] { MBeanServerForwarder.class 
};
 
         Object proxy = 
Proxy.newProxyInstance(MBeanServerForwarder.class.getClassLoader(), interfaces, 
handler);

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.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/ServerConfiguration.java?rev=1408332&r1=1408331&r2=1408332&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
 Mon Nov 12 15:49:55 2012
@@ -23,20 +23,14 @@ package org.apache.qpid.server.configura
 import java.io.File;
 import java.util.Collections;
 import java.util.HashMap;
-import java.util.Iterator;
 import java.util.List;
 import java.util.Locale;
 import java.util.Map;
-import java.util.Map.Entry;
 import javax.net.ssl.KeyManagerFactory;
 import javax.net.ssl.TrustManagerFactory;
-import org.apache.commons.configuration.CompositeConfiguration;
 import org.apache.commons.configuration.Configuration;
 import org.apache.commons.configuration.ConfigurationException;
-import org.apache.commons.configuration.ConfigurationFactory;
 import org.apache.commons.configuration.HierarchicalConfiguration;
-import org.apache.commons.configuration.SystemConfiguration;
-import org.apache.commons.configuration.XMLConfiguration;
 import org.apache.log4j.Logger;
 import org.apache.qpid.server.configuration.plugins.AbstractConfiguration;
 import org.apache.qpid.server.exchange.DefaultExchangeFactory;
@@ -147,7 +141,7 @@ public class ServerConfiguration extends
      */
     public ServerConfiguration(File configurationURL) throws 
ConfigurationException
     {
-        this(parseConfig(configurationURL));
+        this(XmlConfigurationUtilities.parseConfig(configurationURL, 
envVarMap));
         _configFile = configurationURL;
     }
 
@@ -304,7 +298,7 @@ public class ServerConfiguration extends
                 {
                     throw new ConfigurationException("Virtualhosts file does 
not exist");
                 }
-                       vhostConfiguration = parseConfig(new File(fileName));
+                vhostConfiguration = XmlConfigurationUtilities.parseConfig(new 
File(fileName), envVarMap);
 
                 // save the default virtualhost name
                 String defaultVirtualHost = 
vhostConfiguration.getString("default");
@@ -324,36 +318,6 @@ public class ServerConfiguration extends
         }
     }
 
-    private static void substituteEnvironmentVariables(Configuration conf)
-    {
-        for (Entry<String, String> var : envVarMap.entrySet())
-        {
-            String val = System.getenv(var.getKey());
-            if (val != null)
-            {
-                conf.setProperty(var.getValue(), val);
-            }
-        }
-    }
-
-    private static Configuration parseConfig(File file) throws 
ConfigurationException
-    {
-        ConfigurationFactory factory = new ConfigurationFactory();
-        factory.setConfigurationFileName(file.getAbsolutePath());
-        Configuration conf = factory.getConfiguration();
-
-        Iterator<?> keys = conf.getKeys();
-        if (!keys.hasNext())
-        {
-            keys = null;
-            conf = flatConfig(file);
-        }
-
-        substituteEnvironmentVariables(conf);
-
-        return conf;
-    }
-
     /**
      * Check the configuration file to see if status updates are enabled.
      *
@@ -413,41 +377,6 @@ public class ServerConfiguration extends
         return locale;
     }
 
-    // Our configuration class needs to make the interpolate method
-    // public so it can be called below from the config method.
-    public static class MyConfiguration extends CompositeConfiguration
-    {
-        public String interpolate(String obj)
-        {
-            return super.interpolate(obj);
-        }
-    }
-
-    public final static Configuration flatConfig(File file) throws 
ConfigurationException
-    {
-        // We have to override the interpolate methods so that
-        // interpolation takes place across the entirety of the
-        // composite configuration. Without doing this each
-        // configuration object only interpolates variables defined
-        // inside itself.
-        final MyConfiguration conf = new MyConfiguration();
-        conf.addConfiguration(new SystemConfiguration()
-        {
-            protected String interpolate(String o)
-            {
-                return conf.interpolate(o);
-            }
-        });
-        conf.addConfiguration(new XMLConfiguration(file)
-        {
-            protected String interpolate(String o)
-            {
-                return conf.interpolate(o);
-            }
-        });
-        return conf;
-    }
-
     public String getConfigurationURL()
     {
         return _configFile == null ? "" : _configFile.getAbsolutePath();
@@ -883,7 +812,6 @@ public class ServerConfiguration extends
         return disabledFeatures;
     }
 
-    // XXX move into management attributes for JMX & HTTP plugins
     public boolean getManagementRightsInferAllAccess()
     {
         return getBooleanValue("management.managementRightsInferAllAccess", 
true);
@@ -952,4 +880,10 @@ public class ServerConfiguration extends
 
         return reply == null ? null : AmqpProtocolVersion.valueOf(reply);
     }
+
+    public File getVirtualHostsFile()
+    {
+        return _vhostsFile;
+    }
+
 }

Added: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/XmlConfigurationUtilities.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/XmlConfigurationUtilities.java?rev=1408332&view=auto
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/XmlConfigurationUtilities.java
 (added)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/XmlConfigurationUtilities.java
 Mon Nov 12 15:49:55 2012
@@ -0,0 +1,112 @@
+/*
+ *
+ * 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;
+
+import java.io.File;
+import java.util.Iterator;
+import java.util.Map;
+import java.util.Map.Entry;
+
+import org.apache.commons.configuration.CompositeConfiguration;
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.ConfigurationFactory;
+import org.apache.commons.configuration.SystemConfiguration;
+import org.apache.commons.configuration.XMLConfiguration;
+
+public class XmlConfigurationUtilities
+{
+
+    // Our configuration class needs to make the interpolate method
+    // public so it can be called below from the config method.
+    public static class MyConfiguration extends CompositeConfiguration
+    {
+        public String interpolate(String obj)
+        {
+            return super.interpolate(obj);
+        }
+    }
+
+    public static Configuration parseConfig(File file, Map<String, String> 
envVarMap) throws ConfigurationException
+    {
+        ConfigurationFactory factory = new ConfigurationFactory();
+        factory.setConfigurationFileName(file.getAbsolutePath());
+        Configuration conf = factory.getConfiguration();
+    
+        Iterator<?> keys = conf.getKeys();
+        if (!keys.hasNext())
+        {
+            keys = null;
+            conf = flatConfig(file);
+        }
+    
+        XmlConfigurationUtilities.substituteEnvironmentVariables(conf, 
envVarMap);
+    
+        return conf;
+    }
+
+    public final static Configuration flatConfig(File file) throws 
ConfigurationException
+    {
+        // We have to override the interpolate methods so that
+        // interpolation takes place across the entirety of the
+        // composite configuration. Without doing this each
+        // configuration object only interpolates variables defined
+        // inside itself.
+        final MyConfiguration conf = new MyConfiguration();
+        conf.addConfiguration(new SystemConfiguration()
+        {
+            protected String interpolate(String o)
+            {
+                return conf.interpolate(o);
+            }
+        });
+        conf.addConfiguration(new XMLConfiguration(file)
+        {
+            protected String interpolate(String o)
+            {
+                return conf.interpolate(o);
+            }
+        });
+        return conf;
+    }
+
+    static void substituteEnvironmentVariables(Configuration conf, Map<String, 
String> envVarMap)
+    {
+        if (envVarMap == null || envVarMap.isEmpty())
+        {
+            return;
+        }
+        for (Entry<String, String> var : envVarMap.entrySet())
+        {
+            String val = System.getenv(var.getKey());
+            if (val != null)
+            {
+                conf.setProperty(var.getValue(), val);
+            }
+        }
+    }
+
+
+    public static String escapeTagName(String name)
+    {
+        return name.replaceAll("\\.", "\\.\\.");
+    }
+}

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=1408332&r1=1408331&r2=1408332&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
 Mon Nov 12 15:49:55 2012
@@ -20,12 +20,10 @@
  */
 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;
@@ -42,16 +40,14 @@ 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(IApplicationRegistry registry, Map<String, 
VirtualHostConfiguration> virtualHostConfiguration)
+    public DefaultRecovererProvider(IApplicationRegistry registry)
     {
         _authenticationProviderFactory = new AuthenticationProviderFactory(new 
QpidServiceLoader<AuthenticationManagerFactory>());
         _portFactory = new PortFactory(registry);
         _registry = registry;
-        _virtualHostConfiguration = virtualHostConfiguration;
         _groupManagerServiceLoader = new 
QpidServiceLoader<GroupManagerFactory>();
         _pluginFactoryServiceLoader = new QpidServiceLoader<PluginFactory>();
     }
@@ -64,7 +60,7 @@ public class DefaultRecovererProvider im
         case BROKER:
             return new BrokerRecoverer(_authenticationProviderFactory, 
_portFactory, _registry);
         case VIRTUAL_HOST:
-            return new 
VirtualHostRecoverer(_registry.getVirtualHostRegistry(),(StatisticsGatherer)_registry,
 _registry.getSecurityManager(), _virtualHostConfiguration);
+            return new 
VirtualHostRecoverer(_registry.getVirtualHostRegistry(),(StatisticsGatherer)_registry,
 _registry.getSecurityManager());
         case AUTHENTICATION_PROVIDER:
             return new 
AuthenticationProviderRecoverer(_authenticationProviderFactory);
         case PORT:

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=1408332&r1=1408331&r2=1408332&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
 Mon Nov 12 15:49:55 2012
@@ -20,12 +20,19 @@
  */
 package org.apache.qpid.server.configuration.startup;
 
+import static org.apache.qpid.server.util.MapValueConverter.getStringAttribute;
+
+import java.io.File;
 import java.util.Map;
 
+import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.ConfigurationException;
+import org.apache.commons.configuration.XMLConfiguration;
 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.configuration.XmlConfigurationUtilities;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.model.adapter.VirtualHostAdapter;
@@ -38,37 +45,55 @@ public class VirtualHostRecoverer extend
     private VirtualHostRegistry _virtualHostRegistry;
     private StatisticsGatherer _statisticsGatherer;
     private SecurityManager _securityManager;
-    private Map<String, VirtualHostConfiguration> _configurations;
 
-    public VirtualHostRecoverer(VirtualHostRegistry virtualHostRegistry, 
StatisticsGatherer statisticsGatherer,
-            SecurityManager securityManager, Map<String, 
VirtualHostConfiguration> configurations)
+    public VirtualHostRecoverer(VirtualHostRegistry virtualHostRegistry, 
StatisticsGatherer statisticsGatherer, SecurityManager securityManager)
     {
         super();
         _virtualHostRegistry = virtualHostRegistry;
         _statisticsGatherer = statisticsGatherer;
         _securityManager = securityManager;
-        _configurations = configurations;
     }
 
-
     @Override
     VirtualHost createBrokerChild(RecovererProvider recovererProvider, 
ConfigurationEntry entry, Broker broker)
     {
         Map<String, Object> attributes = entry.getAttributes();
-        String name = (String) attributes.get(VirtualHost.NAME);
-        if (name == null)
+        String name = getStringAttribute(VirtualHost.NAME, attributes);
+        String configuration = getStringAttribute(VirtualHost.CONFIGURATION, 
attributes, null);
+        Configuration conf = null;
+        if (configuration == null)
         {
-            throw new IllegalConfigurationException("Mandatory attribute name 
is not found in virtual host configuration :"
-                    + entry);
+            conf = new XMLConfiguration();
         }
-        // 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));
+        else
+        {
+            File configurationFile = new File(configuration);
+            if (!configurationFile.exists())
+            {
+                throw new IllegalConfigurationException("Configuration file '" 
+ configurationFile + "' for virtual host '" + name + "' does not exist.");
+            }
+
+            try
+            {
+                Configuration virtualHostConfig = 
XmlConfigurationUtilities.parseConfig(configurationFile, null);
+                conf = virtualHostConfig.subset("virtualhost." + 
XmlConfigurationUtilities.escapeTagName(name));
+            }
+            catch (ConfigurationException e)
+            {
+                throw new IllegalConfigurationException("Cannot load 
configuration for virtual host '" + name + "' from file " + configurationFile);
+            }
+        }
+        VirtualHostConfiguration virtualHostConfiguration = null;
+        try
+        {
+            virtualHostConfiguration = new VirtualHostConfiguration(name, 
conf);
+        }
+        catch (ConfigurationException e)
+        {
+            throw new IllegalConfigurationException("Cannot create 
configuration for virtual host '" + name + "'");
+        }
+        return new VirtualHostAdapter(entry.getId(), broker, attributes, 
_virtualHostRegistry, _statisticsGatherer, _securityManager,
+                virtualHostConfiguration);
     }
 
 }

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=1408332&r1=1408331&r2=1408332&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
 Mon Nov 12 15:49:55 2012
@@ -34,6 +34,7 @@ import java.util.Set;
 import java.util.UUID;
 
 import org.apache.commons.configuration.Configuration;
+import org.apache.commons.configuration.XMLConfiguration;
 import org.apache.commons.configuration.ConfigurationException;
 import org.apache.commons.configuration.ConfigurationUtils;
 import org.apache.commons.configuration.HierarchicalConfiguration;
@@ -53,6 +54,7 @@ import org.apache.qpid.server.model.Prot
 import org.apache.qpid.server.model.Transport;
 import org.apache.qpid.server.plugin.PluginFactory;
 import org.apache.qpid.server.plugin.QpidServiceLoader;
+
 import org.apache.qpid.server.security.group.FileGroupManagerFactory;
 
 public class XMLConfigurationEntryStore implements ConfigurationEntryStore
@@ -256,6 +258,27 @@ public class XMLConfigurationEntryStore 
         {
             Map<String, Object> attributes = new HashMap<String, Object>();
             attributes.put(org.apache.qpid.server.model.VirtualHost.NAME, 
name);
+            File configuration = serverConfiguration.getVirtualHostsFile();
+            if (configuration == null)
+            {
+                try
+                {
+                    HierarchicalConfiguration virtualHostConfig = 
ConfigurationUtils.convertToHierarchical(serverConfiguration.getVirtualHostConfig(name).getConfig());
+                    virtualHostConfig.getRootNode().setName(name);
+                    configuration = File.createTempFile("_virtualhost", 
".xml");
+                    XMLConfiguration config = new XMLConfiguration();
+                    config.setRootElementName("virtualhosts");
+                    config.setProperty("virtualhost.name", name);
+                    config.addNodes("virtualhost", 
Collections.singletonList(virtualHostConfig.getRootNode()));
+                    config.save(configuration);
+                }
+                catch (Exception e)
+                {
+                    throw new RuntimeException("Cannot store virtual host 
configuration!", e);
+                }
+            }
+
+            
attributes.put(org.apache.qpid.server.model.VirtualHost.CONFIGURATION, 
configuration.getAbsolutePath());
             ConfigurationEntry entry = new 
ConfigurationEntry(UUID.randomUUID(), ConfiguredObjectType.VIRTUAL_HOST,
                     attributes, null, this);
             rootChildren.put(entry.getId(), entry);
@@ -332,6 +355,7 @@ public class XMLConfigurationEntryStore 
             attributes.put("keyStorePath", 
serverConfiguration.getManagementKeyStorePath());
             attributes.put("keyStorePassword", 
serverConfiguration.getManagementKeyStorePassword());
             attributes.put("usePlatformMBeanServer", 
serverConfiguration.getPlatformMbeanserver());
+            attributes.put("managementRightsInferAllAccess", 
serverConfiguration.getManagementRightsInferAllAccess());
 
             ConfigurationEntry entry = new 
ConfigurationEntry(UUID.randomUUID(), ConfiguredObjectType.PLUGIN, attributes, 
null, this);
             rootChildren.put(entry.getId(), entry);

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Protocol.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/Protocol.java?rev=1408332&r1=1408331&r2=1408332&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Protocol.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Protocol.java
 Mon Nov 12 15:49:55 2012
@@ -107,7 +107,7 @@ public enum Protocol
         return false;
     }
 
-    static enum ProtocolType
+    public static enum ProtocolType
     {
         AMQP, HTTP, JMX, RMI;
     }

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.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/VirtualHost.java?rev=1408332&r1=1408331&r2=1408332&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/VirtualHost.java
 Mon Nov 12 15:49:55 2012
@@ -46,6 +46,7 @@ public interface VirtualHost extends Con
     public static final String QUEUE_COUNT = "queueCount";
     public static final String EXCHANGE_COUNT = "exchangeCount";
     public static final String CONNECTION_COUNT = "connectionCount";
+    public static final String CONFIGURATION = "configuration";
 
     public static final Collection<String> AVAILABLE_STATISTICS =
             Collections.unmodifiableList(
@@ -109,7 +110,8 @@ public interface VirtualHost extends Con
                             ALERT_THRESHOLD_MESSAGE_AGE,
                             ALERT_THRESHOLD_MESSAGE_SIZE,
                             ALERT_THRESHOLD_QUEUE_DEPTH_BYTES,
-                            ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES));
+                            ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES,
+                            CONFIGURATION));
 
 
 

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortFactory.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/adapter/PortFactory.java?rev=1408332&r1=1408331&r2=1408332&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortFactory.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortFactory.java
 Mon Nov 12 15:49:55 2012
@@ -20,6 +20,7 @@
  */
 package org.apache.qpid.server.model.adapter;
 
+import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 import java.util.UUID;
@@ -28,6 +29,7 @@ import org.apache.qpid.server.configurat
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.Port;
 import org.apache.qpid.server.model.Protocol;
+import org.apache.qpid.server.model.Protocol.ProtocolType;
 import org.apache.qpid.server.registry.IApplicationRegistry;
 import org.apache.qpid.server.transport.AmqpPortAdapter;
 import org.apache.qpid.server.util.MapValueConverter;
@@ -63,34 +65,18 @@ public class PortFactory
     private boolean isAmqpProtocol(Map<String, Object> portAttributes)
     {
         Set<Object> protocolStrings = 
MapValueConverter.getSetAttribute(Port.PROTOCOLS, portAttributes);
-        // XXX fix this for non AMQP ports, f.e, JMX_RMI,HTTP
-        int amqpProtocolsFound = 0;
-        int nonAmqpProtocolsFound = 0;
+        Set<ProtocolType> protocolTypes = new HashSet<ProtocolType>();
         for (Object protocolObject : protocolStrings)
         {
             Protocol protocol = Protocol.valueOfObject(protocolObject);
-            if (protocol.isAMQP())
-            {
-                amqpProtocolsFound++;
-            }
-            else
-            {
-                nonAmqpProtocolsFound++;
-            }
+            protocolTypes.add(protocol.getProtocolType());
         }
 
-        if (amqpProtocolsFound > 0)
+        if (protocolTypes.size() > 1)
         {
-            if (nonAmqpProtocolsFound > 0)
-            {
-                throw new IllegalConfigurationException("Found AMQP and 
non-AMQP protocols on port configuration: "
-                        + portAttributes);
-            }
-            return true;
-        }
-        else
-        {
-            return false;
+            throw new IllegalConfigurationException("Found different protocol 
types '" + protocolTypes + "' on port configuration: " + portAttributes);
         }
+
+        return protocolTypes.contains(ProtocolType.AMQP);
     }
 }

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=1408332&r1=1408331&r2=1408332&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
 Mon Nov 12 15:49:55 2012
@@ -23,8 +23,6 @@ package org.apache.qpid.server.registry;
 import java.net.InetSocketAddress;
 import java.net.SocketAddress;
 import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
 import java.util.Timer;
 import java.util.TimerTask;
 import java.util.UUID;
@@ -205,7 +203,9 @@ public class ApplicationRegistry impleme
 
             _securityManager = new SecurityManager(_configuration.getConfig());
 
-            createBroker();
+            RecovererProvider provider = new DefaultRecovererProvider(this);
+            ConfiguredObjectRecoverer<? extends ConfiguredObject> 
brokerRecoverer =  provider.getRecoverer(ConfiguredObjectType.BROKER);
+            _broker = (Broker) brokerRecoverer.create(provider, 
_store.getRootEntry());
 
             
getVirtualHostRegistry().setDefaultVirtualHostName(_configuration.getDefaultVirtualHost());
             initialiseStatisticsReporting();
@@ -235,20 +235,6 @@ public class ApplicationRegistry impleme
 
     }
 
-    private void createBroker()
-    {
-        // XXX get rid of it!!
-        Map<String, VirtualHostConfiguration> virtualHostConfigurations = new 
HashMap<String, VirtualHostConfiguration>();
-        String[] vhNames = _configuration.getVirtualHostsNames();
-        for (String name : vhNames)
-        {
-            virtualHostConfigurations.put(name, 
_configuration.getVirtualHostConfig(name));
-        }
-        RecovererProvider provider = new DefaultRecovererProvider(this, 
virtualHostConfigurations);
-        ConfiguredObjectRecoverer<? extends ConfiguredObject> brokerRecoverer 
=  provider.getRecoverer(ConfiguredObjectType.BROKER);
-        _broker = (Broker) brokerRecoverer.create(provider, 
_store.getRootEntry());
-    }
-
     public void initialiseStatisticsReporting()
     {
         long report = _configuration.getStatisticsReportingPeriod() * 1000; // 
convert to ms

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProviderTest.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?rev=1408332&r1=1408331&r2=1408332&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProviderTest.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/startup/DefaultRecovererProviderTest.java
 Mon Nov 12 15:49:55 2012
@@ -37,7 +37,7 @@ public class DefaultRecovererProviderTes
                 ConfiguredObjectType.VIRTUAL_HOST, 
ConfiguredObjectType.AUTHENTICATION_PROVIDER,
                 ConfiguredObjectType.GROUP_PROVIDER, 
ConfiguredObjectType.PLUGIN, ConfiguredObjectType.PORT};
 
-        DefaultRecovererProvider provider = new 
DefaultRecovererProvider(mock(IApplicationRegistry.class), null);
+        DefaultRecovererProvider provider = new 
DefaultRecovererProvider(mock(IApplicationRegistry.class));
         for (ConfiguredObjectType configuredObjectType : supportedTypes)
         {
             ConfiguredObjectRecoverer<?> recovever = 
provider.getRecoverer(configuredObjectType);

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=1408332&r1=1408331&r2=1408332&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
 Mon Nov 12 15:49:55 2012
@@ -27,7 +27,6 @@ import java.util.HashMap;
 import java.util.Map;
 
 import org.apache.qpid.server.configuration.ConfigurationEntry;
-import org.apache.qpid.server.configuration.VirtualHostConfiguration;
 import org.apache.qpid.server.model.Broker;
 import org.apache.qpid.server.model.VirtualHost;
 import org.apache.qpid.server.security.SecurityManager;
@@ -44,15 +43,13 @@ public class VirtualHostRecovererTest ex
         VirtualHostRegistry virtualHostRegistry = 
mock(VirtualHostRegistry.class);
         StatisticsGatherer statisticsGatherer = mock(StatisticsGatherer.class);
         SecurityManager securityManager = mock(SecurityManager.class);
-        Map<String, VirtualHostConfiguration> configurations = new 
HashMap<String, VirtualHostConfiguration>();
-        VirtualHostRecoverer recoverer = new 
VirtualHostRecoverer(virtualHostRegistry, statisticsGatherer, securityManager, 
configurations);
+        VirtualHostRecoverer recoverer = new 
VirtualHostRecoverer(virtualHostRegistry, statisticsGatherer, securityManager);
 
         ConfigurationEntry entry = mock(ConfigurationEntry.class);
         Broker parent = mock(Broker.class);
         Map<String, Object> attributes = new HashMap<String, Object>();
         attributes.put(VirtualHost.NAME, getName());
         when(entry.getAttributes()).thenReturn(attributes);
-        configurations.put(getName(), mock(VirtualHostConfiguration.class));
 
         VirtualHost host = recoverer.create(null, entry, parent);
 

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java?rev=1408332&r1=1408331&r2=1408332&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java
 Mon Nov 12 15:49:55 2012
@@ -49,7 +49,8 @@ public class Asserts
     {
         assertNotNull("Virtualhost " + virtualHostName + " data are not 
found", virtualHost);
         assertAttributesPresent(virtualHost, VirtualHost.AVAILABLE_ATTRIBUTES, 
VirtualHost.TIME_TO_LIVE,
-                VirtualHost.CREATED, VirtualHost.UPDATED, 
VirtualHost.SUPPORTED_QUEUE_TYPES, VirtualHost.STORE_CONFIGURATION);
+                VirtualHost.CREATED, VirtualHost.UPDATED, 
VirtualHost.SUPPORTED_QUEUE_TYPES, VirtualHost.STORE_CONFIGURATION,
+                VirtualHost.CONFIGURATION);
 
         assertEquals("Unexpected value of attribute " + VirtualHost.NAME, 
virtualHostName, virtualHost.get(VirtualHost.NAME));
         assertNotNull("Unexpected value of attribute " + VirtualHost.ID, 
virtualHost.get(VirtualHost.ID));



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

Reply via email to