Author: orudyy
Date: Thu Dec  6 10:34:26 2012
New Revision: 1417797

URL: http://svn.apache.org/viewvc?rev=1417797&view=rev
Log:
QPID-4390: Add missing broker adapter attribute

Modified:
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.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/Broker.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.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/main/java/org/apache/qpid/server/util/MapValueConverter.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/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestHttpsTest.java
    
qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.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/BrokerProperties.java?rev=1417797&r1=1417796&r2=1417797&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java
 Thu Dec  6 10:34:26 2012
@@ -7,6 +7,14 @@ import java.util.Locale;
  */
 public class BrokerProperties
 {
+    public static final long DEFAULT_MINIMUM_ALERT_REPEAT_GAP = 30000l;
+    public static final long DEFAULT_HOUSEKEEPING_PERIOD = 30000L;
+    public static final int  DEFAULT_FRAME_SIZE = 65536;
+    public static final int  DEFAULT_HEART_BEAT_DELAY = 5;
+    public static final double DEFAULT_HEART_BEAT_TIMEOUT_FACTOR = 2.0;
+    public static final int DEFAULT_STATISTICS_SAMPLE_PERIOD = 5000;
+    public static final int DEFAULT_STATISTICS_REPORTING_PERIOD = 0;
+
     public static final String PROPERTY_DEAD_LETTER_EXCHANGE_SUFFIX = 
"qpid.dead_letter_exchange_suffix";
     public static final String PROPERTY_DEAD_LETTER_QUEUE_SUFFIX = 
"qpid.dead_letter_queue_suffix";
     public static final String PROPERTY_HOUSE_KEEPING_CHECK_PERIOD = 
"qpid.house_keeping_check_period";
@@ -20,10 +28,6 @@ public class BrokerProperties
     public static final String PROPERTY_FLOW_RESUME_CAPACITY = 
"qpid.flow_resume_capacity";
     public static final String PROPERTY_FRAME_SIZE = "qpid.frame_size";
     public static final String PROPERTY_MSG_AUTH = "qpid.msg_auth";
-
-    public static final long DEFAULT_MINIMUM_ALERT_REPEAT_GAP = 30000l;
-    public static final long DEFAULT_HOUSEKEEPING_PERIOD = 30000L;
-
     public static final String PROPERTY_STATUS_UPDATES = "qpid.status_updates";
     public static final String PROPERTY_SYNCHED_CLOCKS = "qpid.synched_clocks";
     public static final String PROPERTY_LOCALE = "qpid.locale";

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=1417797&r1=1417796&r2=1417797&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
 Thu Dec  6 10:34:26 2012
@@ -119,7 +119,6 @@ public class XMLConfigurationEntryStore 
     @Override
     public ConfigurationEntry getRootEntry()
     {
-        // XXX include all broker attributes
         Map<String, Object> brokerAttributes = new HashMap<String, Object>();
         brokerAttributes.put(Broker.ALERT_THRESHOLD_MESSAGE_AGE, 
_serverConfiguration.getMaximumMessageAge());
         brokerAttributes.put(Broker.ALERT_THRESHOLD_MESSAGE_SIZE, 
_serverConfiguration.getMaximumMessageSize());
@@ -134,6 +133,16 @@ public class XMLConfigurationEntryStore 
         brokerAttributes.put(Broker.DEFAULT_VIRTUAL_HOST, 
_serverConfiguration.getDefaultVirtualHost());
         brokerAttributes.put(Broker.DEFAULT_AUTHENTICATION_PROVIDER, 
_serverConfiguration.getDefaultAuthenticationManager());
         brokerAttributes.put(Broker.ACL_FILE, 
_serverConfiguration.getConfig().getString("security.acl"));
+        brokerAttributes.put(Broker.SESSION_COUNT_LIMIT, 
_serverConfiguration.getMaxChannelCount());
+        brokerAttributes.put(Broker.FRAME_SIZE, 
_serverConfiguration.getFrameSize());
+        brokerAttributes.put(Broker.HEART_BEAT_DELAY, 
_serverConfiguration.getHeartBeatDelay());
+        brokerAttributes.put(Broker.HEART_BEAT_TIMEOUT_FACTOR, 
_serverConfiguration.getHeartBeatTimeout());
+        brokerAttributes.put(Broker.DEFAULT_SUPPORTED_PROTOCOL_REPLY, 
_serverConfiguration.getDefaultSupportedProtocolReply());
+        brokerAttributes.put(Broker.DISABLED_FEATURES, new 
HashSet<String>(_serverConfiguration.getDisabledFeatures()));
+        brokerAttributes.put(Broker.STATISTICS_ENABLED, 
_serverConfiguration.isStatisticsGenerationBrokerEnabled() || 
_serverConfiguration.isStatisticsGenerationVirtualhostsEnabled());
+        brokerAttributes.put(Broker.STATISTICS_SAMPLE_PERIOD, 
_serverConfiguration.getStatisticsSamplePeriod());
+        brokerAttributes.put(Broker.STATISTICS_REPORTING_PERIOD, 
_serverConfiguration.getStatisticsReportingPeriod());
+        brokerAttributes.put(Broker.STATISTICS_REPORTING_RESET_ENABLED, 
_serverConfiguration.isStatisticsReportResetEnabled());
         ConfigurationEntry rootEntry = new ConfigurationEntry(_rootId, 
Broker.class.getSimpleName(), brokerAttributes,
                 Collections.unmodifiableSet(_rootChildren.keySet()), this);
 

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.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/Broker.java?rev=1417797&r1=1417796&r2=1417797&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java
 Thu Dec  6 10:34:26 2012
@@ -64,6 +64,17 @@ public interface Broker extends Configur
     String DEAD_LETTER_QUEUE_ENABLED = "deadLetterQueueEnabled";
     String HOUSEKEEPING_CHECK_PERIOD = "housekeepingCheckPeriod";
 
+    String SESSION_COUNT_LIMIT = "sessionCountLimit";
+    String FRAME_SIZE = "frameSize";
+    String HEART_BEAT_DELAY = "heartBeatDelay";
+    String HEART_BEAT_TIMEOUT_FACTOR = "heartBeatTimeoutFactor";
+    String DEFAULT_SUPPORTED_PROTOCOL_REPLY = "defaultSupportedProtocolReply";
+    String DISABLED_FEATURES = "disabledFeatures";
+    String STATISTICS_ENABLED = "statisticsEnabled";
+    String STATISTICS_SAMPLE_PERIOD = "statisticsSamplePeriod";
+    String STATISTICS_REPORTING_PERIOD = "statisticsReportingPeriod";
+    String STATISTICS_REPORTING_RESET_ENABLED = 
"statisticsReportingResetEnabled";
+
     /**
      * A temporary attribute to pass the path to ACL file.
      * TODO: It should be a part of AuthorizationProvider.
@@ -100,7 +111,17 @@ public interface Broker extends Configur
                               MAXIMUM_DELIVERY_ATTEMPTS,
                               DEAD_LETTER_QUEUE_ENABLED,
                               HOUSEKEEPING_CHECK_PERIOD,
-                              ACL_FILE
+                              ACL_FILE,
+                              SESSION_COUNT_LIMIT,
+                              FRAME_SIZE,
+                              HEART_BEAT_DELAY,
+                              HEART_BEAT_TIMEOUT_FACTOR,
+                              DEFAULT_SUPPORTED_PROTOCOL_REPLY,
+                              DISABLED_FEATURES,
+                              STATISTICS_ENABLED,
+                              STATISTICS_SAMPLE_PERIOD,
+                              STATISTICS_REPORTING_PERIOD,
+                              STATISTICS_REPORTING_RESET_ENABLED
                               ));
 
     //children

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.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/BrokerAdapter.java?rev=1417797&r1=1417796&r2=1417797&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
 Thu Dec  6 10:34:26 2012
@@ -20,9 +20,11 @@
  */
 package org.apache.qpid.server.model.adapter;
 
+import static org.apache.qpid.server.util.MapValueConverter.getDoubleAttribute;
 import static org.apache.qpid.server.util.MapValueConverter.getLongAttribute;
 import static 
org.apache.qpid.server.util.MapValueConverter.getIntegerAttribute;
 import static 
org.apache.qpid.server.util.MapValueConverter.getBooleanAttribute;
+import static 
org.apache.qpid.server.util.MapValueConverter.getSetOfStringAttribute;
 import static org.apache.qpid.server.util.MapValueConverter.getStringAttribute;
 
 import java.net.InetSocketAddress;
@@ -33,6 +35,7 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
+import java.util.Set;
 import java.util.UUID;
 
 import org.apache.log4j.Logger;
@@ -96,6 +99,16 @@ public class BrokerAdapter extends Abstr
     private long _housekeepingCheckPeriod;
     private String _defaultVirtualHost;
     private String _aclFile;
+    private int _sessionCountLimit;
+    private int _frameSize;
+    private int _heartBeatDelay;
+    private double _heartBeatTimeoutFactor;
+    private String _defaultSupportedProtocolReply;
+    private Set<String> _disabledFeatures;
+    private boolean _statisticsEnabled;
+    private int _statisticsSamplePeriod;
+    private int _statisticsReportingPeriod;
+    private boolean _statisticsReportingResetEnabled;
 
     public BrokerAdapter(UUID id, Map<String, Object> attributes, 
IApplicationRegistry instance,
             AuthenticationProviderFactory authenticationProviderFactory, 
PortFactory portFactory)
@@ -121,6 +134,17 @@ public class BrokerAdapter extends Abstr
         _defaultVirtualHost = getStringAttribute(DEFAULT_VIRTUAL_HOST, 
attributes, null);
         _aclFile = getStringAttribute(ACL_FILE, attributes, null);
         _securityManager = new SecurityManager(_aclFile);
+
+        _sessionCountLimit = getIntegerAttribute(SESSION_COUNT_LIMIT, 
attributes, 256);
+        _frameSize = getIntegerAttribute(FRAME_SIZE, attributes, 
Integer.getInteger(BrokerProperties.PROPERTY_FRAME_SIZE, 
BrokerProperties.DEFAULT_FRAME_SIZE));
+        _heartBeatDelay = getIntegerAttribute(HEART_BEAT_DELAY, attributes, 
BrokerProperties.DEFAULT_HEART_BEAT_DELAY);
+        _heartBeatTimeoutFactor = 
getDoubleAttribute(HEART_BEAT_TIMEOUT_FACTOR, attributes, 
BrokerProperties.DEFAULT_HEART_BEAT_TIMEOUT_FACTOR);
+        _defaultSupportedProtocolReply = 
getStringAttribute(DEFAULT_SUPPORTED_PROTOCOL_REPLY, attributes, null);
+        _disabledFeatures = getSetOfStringAttribute(DISABLED_FEATURES, 
attributes, Collections.<String>emptySet());
+        _statisticsEnabled = getBooleanAttribute(STATISTICS_ENABLED, 
attributes, false);
+        _statisticsSamplePeriod =  
getIntegerAttribute(STATISTICS_SAMPLE_PERIOD, attributes, 
BrokerProperties.DEFAULT_STATISTICS_SAMPLE_PERIOD);
+        _statisticsReportingPeriod =  
getIntegerAttribute(STATISTICS_REPORTING_PERIOD, attributes, 
BrokerProperties.DEFAULT_STATISTICS_REPORTING_PERIOD);
+        _statisticsReportingResetEnabled = 
getBooleanAttribute(STATISTICS_REPORTING_RESET_ENABLED, attributes, false);
     }
 
     public Collection<VirtualHost> getVirtualHosts()
@@ -564,6 +588,46 @@ public class BrokerAdapter extends Abstr
         {
             return _aclFile;
         }
+        else if (SESSION_COUNT_LIMIT.equals(name))
+        {
+            return _sessionCountLimit;
+        }
+        else if (FRAME_SIZE.equals(name))
+        {
+            return _frameSize;
+        }
+        else if (HEART_BEAT_DELAY.equals(name))
+        {
+            return _heartBeatDelay;
+        }
+        else if (HEART_BEAT_TIMEOUT_FACTOR.equals(name))
+        {
+            return _heartBeatTimeoutFactor;
+        }
+        else if (DEFAULT_SUPPORTED_PROTOCOL_REPLY.equals(name))
+        {
+            return _defaultSupportedProtocolReply;
+        }
+        else if (DISABLED_FEATURES.equals(name))
+        {
+            return _disabledFeatures;
+        }
+        else if (STATISTICS_ENABLED.equals(name))
+        {
+            return _statisticsEnabled;
+        }
+        else if (STATISTICS_SAMPLE_PERIOD.equals(name))
+        {
+            return _statisticsSamplePeriod;
+        }
+        else if (STATISTICS_REPORTING_PERIOD.equals(name))
+        {
+            return _statisticsReportingPeriod;
+        }
+        else if (STATISTICS_REPORTING_RESET_ENABLED.equals(name))
+        {
+            return _statisticsReportingResetEnabled;
+        }
         return super.getAttribute(name);    //TODO - Implement.
     }
 

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=1417797&r1=1417796&r2=1417797&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
 Thu Dec  6 10:34:26 2012
@@ -206,18 +206,18 @@ public class ApplicationRegistry impleme
 
     public void initialiseStatisticsReporting()
     {
-        // XXX hack
-        ServerConfiguration configuration = 
((XMLConfigurationEntryStore)_store).getConfiguration();
-        long report = configuration.getStatisticsReportingPeriod() * 1000; // 
convert to ms
-        final boolean broker = 
configuration.isStatisticsGenerationBrokerEnabled();
-        final boolean virtualhost = 
configuration.isStatisticsGenerationVirtualhostsEnabled();
-        final boolean reset = configuration.isStatisticsReportResetEnabled();
+        boolean isStatisticsEnabled = 
(Boolean)_broker.getAttribute(Broker.STATISTICS_ENABLED);
+        long report = 
((Number)_broker.getAttribute(Broker.STATISTICS_REPORTING_PERIOD)).intValue() * 
1000; // convert to ms
+        final boolean reset = 
(Boolean)_broker.getAttribute(Broker.STATISTICS_REPORTING_RESET_ENABLED);
 
         /* add a timer task to report statistics if generation is enabled for 
broker or virtualhosts */
-        if (report > 0L && (broker || virtualhost))
+        if (report > 0L && isStatisticsEnabled)
         {
             _reportingTimer = new Timer("Statistics-Reporting", true);
-            StatisticsReportingTask task = new StatisticsReportingTask(broker, 
virtualhost, reset, _rootMessageLogger);
+
+            // TODO: use virtual host "statisticsEnabled" attribute to check 
whether statistics collection is required on that virtual host
+            // temporarily enabling the statistics collection for all virtual 
hosts
+            StatisticsReportingTask task = new StatisticsReportingTask(true, 
true, reset, _rootMessageLogger);
             _reportingTimer.scheduleAtFixedRate(task, report / 2, report);
         }
     }

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/util/MapValueConverter.java
URL: 
http://svn.apache.org/viewvc/qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/util/MapValueConverter.java?rev=1417797&r1=1417796&r2=1417797&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/util/MapValueConverter.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/broker/src/main/java/org/apache/qpid/server/util/MapValueConverter.java
 Thu Dec  6 10:34:26 2012
@@ -20,7 +20,9 @@
  */
 package org.apache.qpid.server.util;
 
+import java.util.Arrays;
 import java.util.Collections;
+import java.util.HashSet;
 import java.util.Map;
 import java.util.Set;
 
@@ -171,6 +173,27 @@ public class MapValueConverter
         }
     }
 
+    public static Double getDoubleAttribute(String name, Map<String,Object> 
attributes, Double defaultValue)
+    {
+        Object obj = attributes.get(name);
+        if(obj == null)
+        {
+            return defaultValue;
+        }
+        else if(obj instanceof Number)
+        {
+            return ((Number) obj).doubleValue();
+        }
+        else if(obj instanceof String)
+        {
+            return Double.valueOf((String) obj);
+        }
+        else
+        {
+            throw new IllegalArgumentException("Value for attribute " + name + 
" is not of required type Double");
+        }
+    }
+
     public static <T> Set<T> getSetAttribute(String name, Map<String,Object> 
attributes)
     {
         assertMandatoryAttribute(name, attributes);
@@ -195,5 +218,30 @@ public class MapValueConverter
         }
     }
 
+    @SuppressWarnings("unchecked")
+    public static Set<String> getSetOfStringAttribute(String name, 
Map<String,Object> attributes, Set<String> defaultValue)
+    {
+        Object obj = attributes.get(name);
+        if(obj == null)
+        {
+            return defaultValue;
+        }
+        else if(obj instanceof Set)
+        {
+            return (Set<String>) obj;
+        }
+        else if(obj instanceof String)
+        {
+            return new 
HashSet<String>(Arrays.asList(((String)obj).split(",")));
+        }
+        else if(obj instanceof String[])
+        {
+            return new HashSet<String>(Arrays.asList((String[])obj));
+        }
+        else
+        {
+            throw new IllegalArgumentException("Value for attribute " + name + 
" is not of required type Set");
+        }
+    }
 
 }

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=1417797&r1=1417796&r2=1417797&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
 Thu Dec  6 10:34:26 2012
@@ -30,11 +30,13 @@ import java.util.Collection;
 import java.util.Collections;
 import java.util.HashMap;
 import java.util.HashSet;
+import java.util.Iterator;
 import java.util.Map;
 import java.util.UUID;
 
 import junit.framework.TestCase;
 
+import org.apache.qpid.common.ServerPropertyNames;
 import org.apache.qpid.server.configuration.ConfigurationEntry;
 import org.apache.qpid.server.configuration.ConfiguredObjectRecoverer;
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
@@ -81,19 +83,39 @@ public class BrokerRecovererTest extends
 
     public void testCreateBrokerAttributes()
     {
-        String[] attributesNames = { Broker.DEFAULT_VIRTUAL_HOST, 
Broker.DEFAULT_AUTHENTICATION_PROVIDER, Broker.ALERT_THRESHOLD_MESSAGE_AGE,
-                Broker.ALERT_THRESHOLD_MESSAGE_COUNT, 
Broker.ALERT_THRESHOLD_QUEUE_DEPTH, Broker.ALERT_THRESHOLD_MESSAGE_SIZE,
-                Broker.ALERT_REPEAT_GAP, Broker.FLOW_CONTROL_SIZE_BYTES, 
Broker.FLOW_CONTROL_RESUME_SIZE_BYTES, Broker.MAXIMUM_DELIVERY_ATTEMPTS,
-                Broker.DEAD_LETTER_QUEUE_ENABLED, 
Broker.HOUSEKEEPING_CHECK_PERIOD };
-        Object[] attributeValues = { "test", "authenticationProvider1", 9l, 
8l, 7l, 6l, 5l, 4l, 3l, 2, true, 1l };
         Map<String, Object> attributes = new HashMap<String, Object>();
+        attributes.put(Broker.DEFAULT_VIRTUAL_HOST, "test");
+        attributes.put(Broker.DEFAULT_AUTHENTICATION_PROVIDER, 
"authenticationProvider1");
+        attributes.put(Broker.ALERT_THRESHOLD_MESSAGE_AGE, 9l);
+        attributes.put(Broker.ALERT_THRESHOLD_MESSAGE_COUNT, 8l);
+        attributes.put(Broker.ALERT_THRESHOLD_QUEUE_DEPTH, 7l);
+        attributes.put(Broker.ALERT_THRESHOLD_MESSAGE_SIZE, 6l);
+        attributes.put(Broker.ALERT_REPEAT_GAP, 5l);
+        attributes.put(Broker.FLOW_CONTROL_SIZE_BYTES, 5l);
+        attributes.put(Broker.FLOW_CONTROL_RESUME_SIZE_BYTES, 3l);
+        attributes.put(Broker.MAXIMUM_DELIVERY_ATTEMPTS, 2);
+        attributes.put(Broker.DEAD_LETTER_QUEUE_ENABLED, true);
+        attributes.put(Broker.HOUSEKEEPING_CHECK_PERIOD, 1l);
+        attributes.put(Broker.ACL_FILE, "/path/to/acl");
+        attributes.put(Broker.SESSION_COUNT_LIMIT, 1000);
+        attributes.put(Broker.FRAME_SIZE, 128);
+        attributes.put(Broker.HEART_BEAT_DELAY, 2000);
+        attributes.put(Broker.HEART_BEAT_TIMEOUT_FACTOR, 5.0);
+        attributes.put(Broker.DEFAULT_SUPPORTED_PROTOCOL_REPLY, "v1_0_0");
+        attributes.put(Broker.DISABLED_FEATURES, new 
HashSet<String>(Arrays.asList(ServerPropertyNames.FEATURE_QPID_JMS_SELECTOR)));
+        attributes.put(Broker.STATISTICS_ENABLED, true);
+        attributes.put(Broker.STATISTICS_SAMPLE_PERIOD, 3000);
+        attributes.put(Broker.STATISTICS_REPORTING_PERIOD, 4000);
+        attributes.put(Broker.STATISTICS_REPORTING_RESET_ENABLED, true);
 
-        for (int i = 0; i < attributesNames.length; i++)
+        Map<String, Object> entryAttributes = new HashMap<String, Object>();
+        for (Map.Entry<String, Object> attribute : attributes.entrySet())
         {
-            attributes.put(attributesNames[i], 
String.valueOf(attributeValues[i]));
+            String value = convertToString(attribute.getValue());
+            entryAttributes.put(attribute.getKey(), value);
         }
 
-        when(_brokerEntry.getAttributes()).thenReturn(attributes);
+        when(_brokerEntry.getAttributes()).thenReturn(entryAttributes);
 
         final ConfigurationEntry virtualHostEntry = 
mock(ConfigurationEntry.class);
         String typeName = VirtualHost.class.getSimpleName();
@@ -108,10 +130,10 @@ public class BrokerRecovererTest extends
         assertNotNull(broker);
         assertEquals(_brokerId, broker.getId());
 
-        for (int i = 0; i < attributesNames.length; i++)
+        for (Map.Entry<String, Object> attribute : attributes.entrySet())
         {
-            Object attributeValue = broker.getAttribute(attributesNames[i]);
-            assertEquals("Unexpected value of attribute '" + 
attributesNames[i] + "'", attributeValues[i], attributeValue);
+            Object attributeValue = broker.getAttribute(attribute.getKey());
+            assertEquals("Unexpected value of attribute '" + 
attribute.getKey() + "'", attribute.getValue(), attributeValue);
         }
     }
 
@@ -348,6 +370,33 @@ public class BrokerRecovererTest extends
         assertEquals(Collections.singleton(trustStore), new 
HashSet<ConfiguredObject>(broker.getChildren(TrustStore.class)));
     }
 
+    private String convertToString(Object attributeValue)
+    {
+        String value = null;
+        if (attributeValue instanceof Collection)
+        {
+            @SuppressWarnings("unchecked")
+            Collection<Object> data = (Collection<Object>)attributeValue;
+            StringBuilder sb = new StringBuilder();
+            Iterator<Object> it = data.iterator();
+            while (it.hasNext())
+            {
+                Object val = it.next();
+                sb.append(String.valueOf(val));
+                if (it.hasNext())
+                {
+                    sb.append(",");
+                }
+            }
+            value = sb.toString();
+        }
+        else
+        {
+            value = String.valueOf(attributeValue);
+        }
+        return value;
+    }
+
     private  RecovererProvider createRecoveryProvider(final 
ConfigurationEntry[] entries, final ConfiguredObject[] objectsToRecoverer)
     {
         RecovererProvider recovererProvider = new RecovererProvider()

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestHttpsTest.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/BrokerRestHttpsTest.java?rev=1417797&r1=1417796&r2=1417797&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestHttpsTest.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestHttpsTest.java
 Thu Dec  6 10:34:26 2012
@@ -56,6 +56,6 @@ public class BrokerRestHttpsTest extends
 
         Asserts.assertAttributesPresent(brokerDetails, 
Broker.AVAILABLE_ATTRIBUTES, Broker.BYTES_RETAINED,
                 Broker.PROCESS_PID, Broker.SUPPORTED_STORE_TYPES, 
Broker.CREATED, Broker.TIME_TO_LIVE, Broker.UPDATED,
-                Broker.ACL_FILE);
+                Broker.ACL_FILE, Broker.DEFAULT_SUPPORTED_PROTOCOL_REPLY);
     }
 }

Modified: 
qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.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/BrokerRestTest.java?rev=1417797&r1=1417796&r2=1417797&view=diff
==============================================================================
--- 
qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
 (original)
+++ 
qpid/branches/java-broker-config-qpid-4390/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
 Thu Dec  6 10:34:26 2012
@@ -90,7 +90,8 @@ public class BrokerRestTest extends Qpid
     {
         Asserts.assertAttributesPresent(brokerDetails, 
Broker.AVAILABLE_ATTRIBUTES,
                 Broker.BYTES_RETAINED, Broker.PROCESS_PID, 
Broker.SUPPORTED_STORE_TYPES,
-                Broker.CREATED, Broker.TIME_TO_LIVE, Broker.UPDATED, 
Broker.ACL_FILE);
+                Broker.CREATED, Broker.TIME_TO_LIVE, Broker.UPDATED, 
Broker.ACL_FILE,
+                Broker.DEFAULT_SUPPORTED_PROTOCOL_REPLY);
 
         assertEquals("Unexpected value of attribute " + Broker.BUILD_VERSION, 
QpidProperties.getBuildVersion(),
                 brokerDetails.get(Broker.BUILD_VERSION));



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

Reply via email to