summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2013-01-16 13:57:04 +0000
committerAlex Rudyy <orudyy@apache.org>2013-01-16 13:57:04 +0000
commitf645fece0ada24fac6bb7117d6888f61fe33bc35 (patch)
treeed00776043ea2d234be57fd92a9727731897e31f
parent7bfceb2e6a7e1a7eeec1f533c8a4e53ef004c77f (diff)
downloadqpid-python-f645fece0ada24fac6bb7117d6888f61fe33bc35.tar.gz
QPID-4390: Add broker defaults
git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/java-broker-config-qpid-4390@1433936 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java14
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java8
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/BrokerRecoverer.java9
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java4
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractAdapter.java9
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java183
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortAdapter.java11
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/util/MapValueConverter.java88
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java2
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java2
-rw-r--r--qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/StructureRestTest.java2
11 files changed, 172 insertions, 160 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java
index 40af0bd23a..414aacbdad 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/BrokerProperties.java
@@ -7,23 +7,11 @@ 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_HEART_BEAT_DELAY = 0;
public static final int DEFAULT_HEART_BEAT_TIMEOUT_FACTOR = 2;
- 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";
- public static final String PROPERTY_MAXIMUM_MESSAGE_AGE = "qpid.maximum_message_age";
- public static final String PROPERTY_MAXIMUM_MESSAGE_COUNT = "qpid.maximum_message_count";
- public static final String PROPERTY_MAXIMUM_QUEUE_DEPTH = "qpid.maximum_queue_depth";
- public static final String PROPERTY_MAXIMUM_MESSAGE_SIZE = "qpid.maximum_message_size";
- public static final String PROPERTY_MAXIMUM_CHANNEL_COUNT = "qpid.maximum_channel_count";
- public static final String PROPERTY_MINIMUM_ALERT_REPEAT_GAP = "qpid.minimum_alert_repeat_gap";
- public static final String PROPERTY_FLOW_CAPACITY = "qpid.flow_capacity";
- 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 String PROPERTY_STATUS_UPDATES = "qpid.status_updates";
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
index 60169e0165..4cf2e5796c 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/ServerConfiguration.java
@@ -89,14 +89,6 @@ public class ServerConfiguration extends AbstractConfiguration
{
envVarMap.put(BrokerProperties.PROPERTY_MSG_AUTH, "security.msg-auth");
- envVarMap.put(BrokerProperties.PROPERTY_MAXIMUM_MESSAGE_AGE, "maximumMessageAge");
- envVarMap.put(BrokerProperties.PROPERTY_MAXIMUM_MESSAGE_COUNT, "maximumMessageCount");
- envVarMap.put(BrokerProperties.PROPERTY_MAXIMUM_QUEUE_DEPTH, "maximumQueueDepth");
- envVarMap.put(BrokerProperties.PROPERTY_MAXIMUM_MESSAGE_SIZE, "maximumMessageSize");
- envVarMap.put(BrokerProperties.PROPERTY_MAXIMUM_CHANNEL_COUNT, "maximumChannelCount");
- envVarMap.put(BrokerProperties.PROPERTY_MINIMUM_ALERT_REPEAT_GAP, "minimumAlertRepeatGap");
- envVarMap.put(BrokerProperties.PROPERTY_FLOW_CAPACITY, "capacity");
- envVarMap.put(BrokerProperties.PROPERTY_FLOW_RESUME_CAPACITY, "flowResumeCapacity");
}
/**
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/BrokerRecoverer.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/BrokerRecoverer.java
index d6392f6d57..012f8a7133 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/BrokerRecoverer.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/configuration/startup/BrokerRecoverer.java
@@ -28,7 +28,6 @@ public class BrokerRecoverer implements ConfiguredObjectRecoverer<Broker>
private final RootMessageLogger _rootMessageLogger;
private final AuthenticationProviderFactory _authenticationProviderFactory;
private final PortFactory _portFactory;
- private Map<String, Object> _defaults;
public BrokerRecoverer(AuthenticationProviderFactory authenticationProviderFactory, PortFactory portFactory,
StatisticsGatherer statisticsGatherer, VirtualHostRegistry virtualHostRegistry, LogRecorder logRecorder,
@@ -45,8 +44,8 @@ public class BrokerRecoverer implements ConfiguredObjectRecoverer<Broker>
@Override
public Broker create(RecovererProvider recovererProvider, ConfigurationEntry entry, ConfiguredObject... parents)
{
- BrokerAdapter broker = new BrokerAdapter(entry.getId(), entry.getAttributes(), _defaults, _statisticsGatherer,
- _virtualHostRegistry, _logRecorder, _rootMessageLogger, _authenticationProviderFactory, _portFactory);
+ BrokerAdapter broker = new BrokerAdapter(entry.getId(), entry.getAttributes(), _statisticsGatherer, _virtualHostRegistry,
+ _logRecorder, _rootMessageLogger, _authenticationProviderFactory, _portFactory);
Map<String, Collection<ConfigurationEntry>> childEntries = entry.getChildren();
for (String type : childEntries.keySet())
{
@@ -71,7 +70,7 @@ public class BrokerRecoverer implements ConfiguredObjectRecoverer<Broker>
return broker;
}
- private void wireUpConfiguredObjects(BrokerAdapter broker, Map<String,Object> brokerAttributes)
+ private void wireUpConfiguredObjects(BrokerAdapter broker, Map<String, Object> brokerAttributes)
{
AuthenticationProvider defaultAuthenticationProvider = null;
Collection<AuthenticationProvider> authenticationProviders = broker.getAuthenticationProviders();
@@ -105,7 +104,7 @@ public class BrokerRecoverer implements ConfiguredObjectRecoverer<Broker>
Collection<Port> ports = broker.getPorts();
for (Port port : ports)
{
- String authenticationProviderName = (String)port.getAttribute(Port.AUTHENTICATION_MANAGER);
+ String authenticationProviderName = (String) port.getAttribute(Port.AUTHENTICATION_MANAGER);
AuthenticationProvider provider = null;
if (authenticationProviderName != null)
{
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java
index 59f795bae8..bb155ee1d2 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/Broker.java
@@ -77,7 +77,7 @@ public interface Broker extends ConfiguredObject
String ACL_FILE = "aclFile";
// Attributes
- public static final Collection<String> AVAILABLE_ATTRIBUTES =
+ Collection<String> AVAILABLE_ATTRIBUTES =
Collections.unmodifiableList(
Arrays.asList(BUILD_VERSION,
BYTES_RETAINED,
@@ -162,5 +162,5 @@ public interface Broker extends ConfiguredObject
/*
* TODO: Remove this method. Eventually the broker will become a registry.
*/
- public VirtualHostRegistry getVirtualHostRegistry();
+ VirtualHostRegistry getVirtualHostRegistry();
}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractAdapter.java
index f277de8ca1..ee7fd57699 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractAdapter.java
@@ -48,7 +48,14 @@ abstract class AbstractAdapter implements ConfiguredObject
_id = id;
if (attributes != null)
{
- _attributes.putAll(attributes);
+ Collection<String> names = getAttributeNames();
+ for (String name : names)
+ {
+ if (attributes.containsKey(name))
+ {
+ _attributes.put(name, attributes.get(name));
+ }
+ }
}
if (defaults != null)
{
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
index d641c82e83..a2feb45a46 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
@@ -20,11 +20,6 @@
*/
package org.apache.qpid.server.model.adapter;
-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.getStringAttribute;
-
import java.net.InetSocketAddress;
import java.net.SocketAddress;
import java.security.AccessControlException;
@@ -37,7 +32,6 @@ import java.util.UUID;
import org.apache.log4j.Logger;
import org.apache.qpid.common.QpidProperties;
-import org.apache.qpid.server.configuration.BrokerProperties;
import org.apache.qpid.server.configuration.IllegalConfigurationException;
import org.apache.qpid.server.logging.LogRecorder;
import org.apache.qpid.server.logging.RootMessageLogger;
@@ -60,17 +54,77 @@ import org.apache.qpid.server.security.group.GroupPrincipalAccessor;
import org.apache.qpid.server.security.SecurityManager;
import org.apache.qpid.server.security.SubjectCreator;
import org.apache.qpid.server.stats.StatisticsGatherer;
+import org.apache.qpid.server.util.MapValueConverter;
import org.apache.qpid.server.virtualhost.VirtualHostRegistry;
public class BrokerAdapter extends AbstractAdapter implements Broker, ConfigurationChangeListener
{
private static final Logger LOGGER = Logger.getLogger(BrokerAdapter.class);
+ @SuppressWarnings("serial")
+ public static final Map<String, Class<?>> ATTRIBUTE_TYPES = Collections.unmodifiableMap(new HashMap<String, Class<?>>(){{
+ put(ALERT_THRESHOLD_MESSAGE_AGE, Long.class);
+ put(ALERT_THRESHOLD_MESSAGE_COUNT, Long.class);
+ put(ALERT_THRESHOLD_QUEUE_DEPTH, Long.class);
+ put(ALERT_THRESHOLD_MESSAGE_SIZE, Long.class);
+ put(ALERT_REPEAT_GAP, Long.class);
+ put(FLOW_CONTROL_SIZE_BYTES, Long.class);
+ put(FLOW_CONTROL_RESUME_SIZE_BYTES, Long.class);
+ put(HOUSEKEEPING_CHECK_PERIOD, Long.class);
+
+ put(DEAD_LETTER_QUEUE_ENABLED, Boolean.class);
+ put(STATISTICS_REPORTING_RESET_ENABLED, Boolean.class);
+
+ put(MAXIMUM_DELIVERY_ATTEMPTS, Integer.class);
+ put(SESSION_COUNT_LIMIT, Integer.class);
+ put(HEART_BEAT_DELAY, Integer.class);
+ put(STATISTICS_REPORTING_PERIOD, Integer.class);
+
+ put(ACL_FILE, String.class);
+ put(NAME, String.class);
+ put(DEFAULT_VIRTUAL_HOST, String.class);
+ put(DEFAULT_AUTHENTICATION_PROVIDER, String.class);
+ }});
+
+ public static final int DEFAULT_STATISTICS_REPORTING_PERIOD = 0;
+ public static final boolean DEFAULT_STATISTICS_REPORTING_RESET_ENABLED = false;
+ public static final long DEFAULT_ALERT_REPEAT_GAP = 30000l;
+ public static final long DEFAULT_ALERT_THRESHOLD_MESSAGE_AGE = 0l;
+ public static final long DEFAULT_ALERT_THRESHOLD_MESSAGE_COUNT = 0l;
+ public static final long DEFAULT_ALERT_THRESHOLD_MESSAGE_SIZE = 0l;
+ public static final long DEFAULT_ALERT_THRESHOLD_QUEUE_DEPTH = 0l;
+ public static final boolean DEFAULT_DEAD_LETTER_QUEUE_ENABLED = false;
+ public static final int DEFAULT_MAXIMUM_DELIVERY_ATTEMPTS = 0;
+ public static final long DEFAULT_FLOW_CONTROL_RESUME_SIZE_BYTES = 0l;
+ public static final long DEFAULT_FLOW_CONTROL_SIZE_BYTES = 0l;
+ public static final long DEFAULT_HOUSEKEEPING_CHECK_PERIOD = 30000l;
+ public static final int DEFAULT_HEART_BEAT_DELAY = 0;
+ public static final int DEFAULT_SESSION_COUNT_LIMIT = 256;
+ public static final String DEFAULT_NAME = "QpidBroker";
+
+ @SuppressWarnings("serial")
+ private static final Map<String, Object> DEFAULTS = Collections.unmodifiableMap(new HashMap<String, Object>(){{
+ put(Broker.STATISTICS_REPORTING_PERIOD, DEFAULT_STATISTICS_REPORTING_PERIOD);
+ put(Broker.STATISTICS_REPORTING_RESET_ENABLED, DEFAULT_STATISTICS_REPORTING_RESET_ENABLED);
+ put(Broker.ALERT_REPEAT_GAP, DEFAULT_ALERT_REPEAT_GAP);
+ put(Broker.ALERT_THRESHOLD_MESSAGE_AGE, DEFAULT_ALERT_THRESHOLD_MESSAGE_AGE);
+ put(Broker.ALERT_THRESHOLD_MESSAGE_COUNT, DEFAULT_ALERT_THRESHOLD_MESSAGE_COUNT);
+ put(Broker.ALERT_THRESHOLD_MESSAGE_SIZE, DEFAULT_ALERT_THRESHOLD_MESSAGE_SIZE);
+ put(Broker.ALERT_THRESHOLD_QUEUE_DEPTH, DEFAULT_ALERT_THRESHOLD_QUEUE_DEPTH);
+ put(Broker.DEAD_LETTER_QUEUE_ENABLED, DEFAULT_DEAD_LETTER_QUEUE_ENABLED);
+ put(Broker.MAXIMUM_DELIVERY_ATTEMPTS, DEFAULT_MAXIMUM_DELIVERY_ATTEMPTS);
+ put(Broker.FLOW_CONTROL_RESUME_SIZE_BYTES, DEFAULT_FLOW_CONTROL_RESUME_SIZE_BYTES);
+ put(Broker.FLOW_CONTROL_SIZE_BYTES, DEFAULT_FLOW_CONTROL_SIZE_BYTES);
+ put(Broker.HOUSEKEEPING_CHECK_PERIOD, DEFAULT_HOUSEKEEPING_CHECK_PERIOD);
+ put(Broker.HEART_BEAT_DELAY, DEFAULT_HEART_BEAT_DELAY);
+ put(Broker.SESSION_COUNT_LIMIT, DEFAULT_SESSION_COUNT_LIMIT);
+ put(Broker.NAME, DEFAULT_NAME);
+ }});
+
private final StatisticsGatherer _statisticsGatherer;
private final VirtualHostRegistry _virtualHostRegistry;
private final LogRecorder _logRecorder;
private final RootMessageLogger _rootMessageLogger;
- private String _name;
private StatisticsAdapter _statistics;
private final Map<String, VirtualHost> _vhostAdapters = new HashMap<String, VirtualHost>();
@@ -87,57 +141,20 @@ public class BrokerAdapter extends AbstractAdapter implements Broker, Configurat
private final PortFactory _portFactory;
private final SecurityManager _securityManager;
- //TODO: delete these fields, instead, add the attributes into attribute map
- private long _maximumMessageAge;
- private long _maximumMessageCount;
- private long _maximumQueueDepth;
- private long _maximumMessageSize;
- private long _minimumAlertRepeatGap;
- private long _flowResumeCapacity;
- private long _flowCapacity;
- private int _maximumDeliveryCount;
- private boolean _deadLetterQueueEnabled;
- private long _housekeepingCheckPeriod;
- private String _defaultVirtualHost;
- private String _aclFile;
- private int _sessionCountLimit;
- private int _heartBeatDelay;
- private int _statisticsReportingPeriod;
- private boolean _statisticsReportingResetEnabled;
-
- public BrokerAdapter(UUID id, Map<String, Object> attributes, Map<String, Object> defaults, StatisticsGatherer statisticsGatherer, VirtualHostRegistry virtualHostRegistry,
+ public BrokerAdapter(UUID id, Map<String, Object> attributes, StatisticsGatherer statisticsGatherer, VirtualHostRegistry virtualHostRegistry,
LogRecorder logRecorder, RootMessageLogger rootMessageLogger, AuthenticationProviderFactory authenticationProviderFactory,
PortFactory portFactory)
{
- super(id, defaults);
- _name = "Broker";
+ super(id, DEFAULTS, MapValueConverter.convert(attributes, ATTRIBUTE_TYPES));
_statisticsGatherer = statisticsGatherer;
_virtualHostRegistry = virtualHostRegistry;
_logRecorder = logRecorder;
_rootMessageLogger = rootMessageLogger;
- _name = "Broker";
_statistics = new StatisticsAdapter(statisticsGatherer);
_authenticationProviderFactory = authenticationProviderFactory;
_portFactory = portFactory;
+ _securityManager = new SecurityManager((String)getAttribute(ACL_FILE));
- _maximumMessageAge = getLongAttribute(ALERT_THRESHOLD_MESSAGE_AGE, attributes, Long.getLong(BrokerProperties.PROPERTY_MAXIMUM_MESSAGE_AGE, 0));
- _maximumMessageCount = getLongAttribute(ALERT_THRESHOLD_MESSAGE_COUNT, attributes, Long.getLong(BrokerProperties.PROPERTY_MAXIMUM_MESSAGE_COUNT, 0));
- _maximumQueueDepth = getLongAttribute(ALERT_THRESHOLD_QUEUE_DEPTH, attributes, Long.getLong(BrokerProperties.PROPERTY_MAXIMUM_QUEUE_DEPTH, 0));
- _maximumMessageSize = getLongAttribute(ALERT_THRESHOLD_MESSAGE_SIZE, attributes, Long.getLong(BrokerProperties.PROPERTY_MAXIMUM_MESSAGE_SIZE, 0));
- _minimumAlertRepeatGap = getLongAttribute(ALERT_REPEAT_GAP, attributes, Long.getLong(BrokerProperties.PROPERTY_MINIMUM_ALERT_REPEAT_GAP, BrokerProperties.DEFAULT_MINIMUM_ALERT_REPEAT_GAP));
- _flowCapacity = getLongAttribute(FLOW_CONTROL_SIZE_BYTES, attributes, Long.getLong(BrokerProperties.PROPERTY_FLOW_CAPACITY, 0));
- _flowResumeCapacity = getLongAttribute(FLOW_CONTROL_RESUME_SIZE_BYTES, attributes, Long.getLong(BrokerProperties.PROPERTY_FLOW_RESUME_CAPACITY, _flowCapacity));
- _maximumDeliveryCount = getIntegerAttribute(MAXIMUM_DELIVERY_ATTEMPTS, attributes, 0);
- _deadLetterQueueEnabled = getBooleanAttribute(DEAD_LETTER_QUEUE_ENABLED, attributes, false);
- _housekeepingCheckPeriod = getLongAttribute(HOUSEKEEPING_CHECK_PERIOD, attributes, Long.getLong(BrokerProperties.PROPERTY_HOUSE_KEEPING_CHECK_PERIOD, BrokerProperties.DEFAULT_HOUSEKEEPING_PERIOD));
- _defaultVirtualHost = getStringAttribute(DEFAULT_VIRTUAL_HOST, attributes, null);
- _aclFile = getStringAttribute(ACL_FILE, attributes, null);
- _securityManager = new SecurityManager(_aclFile);
-
- _sessionCountLimit = getIntegerAttribute(SESSION_COUNT_LIMIT, attributes, 256);
- _heartBeatDelay = getIntegerAttribute(HEART_BEAT_DELAY, attributes, BrokerProperties.DEFAULT_HEART_BEAT_DELAY);
- _statisticsReportingPeriod = getIntegerAttribute(STATISTICS_REPORTING_PERIOD, attributes, BrokerProperties.DEFAULT_STATISTICS_REPORTING_PERIOD);
- _statisticsReportingResetEnabled = getBooleanAttribute(STATISTICS_REPORTING_RESET_ENABLED, attributes, false);
}
public Collection<VirtualHost> getVirtualHosts()
@@ -240,7 +257,7 @@ public class BrokerAdapter extends AbstractAdapter implements Broker, Configurat
public String getName()
{
- return _name;
+ return (String)getAttribute(NAME);
}
public String setName(final String currentName, final String desiredName)
@@ -471,10 +488,6 @@ public class BrokerAdapter extends AbstractAdapter implements Broker, Configurat
{
return getId();
}
- else if(NAME.equals(name))
- {
- return getName();
- }
else if(STATE.equals(name))
{
return State.ACTIVE;
@@ -534,71 +547,7 @@ public class BrokerAdapter extends AbstractAdapter implements Broker, Configurat
{
return _defaultAuthenticationProvider == null ? null : _defaultAuthenticationProvider.getName();
}
- else if (DEFAULT_VIRTUAL_HOST.equals(name))
- {
- return _defaultVirtualHost;
- }
- else if (ALERT_THRESHOLD_MESSAGE_AGE.equals(name))
- {
- return _maximumMessageAge;
- }
- else if (ALERT_THRESHOLD_MESSAGE_COUNT.equals(name))
- {
- return _maximumMessageCount;
- }
- else if (ALERT_THRESHOLD_QUEUE_DEPTH.equals(name))
- {
- return _maximumQueueDepth;
- }
- else if (ALERT_THRESHOLD_MESSAGE_SIZE.equals(name))
- {
- return _maximumMessageSize;
- }
- else if (ALERT_REPEAT_GAP.equals(name))
- {
- return _minimumAlertRepeatGap;
- }
- else if (FLOW_CONTROL_SIZE_BYTES.equals(name))
- {
- return _flowCapacity;
- }
- else if (FLOW_CONTROL_RESUME_SIZE_BYTES.equals(name))
- {
- return _flowResumeCapacity;
- }
- else if (MAXIMUM_DELIVERY_ATTEMPTS.equals(name))
- {
- return _maximumDeliveryCount;
- }
- else if (DEAD_LETTER_QUEUE_ENABLED.equals(name))
- {
- return _deadLetterQueueEnabled;
- }
- else if (HOUSEKEEPING_CHECK_PERIOD.equals(name))
- {
- return _housekeepingCheckPeriod;
- }
- else if (ACL_FILE.equals(name))
- {
- return _aclFile;
- }
- else if (SESSION_COUNT_LIMIT.equals(name))
- {
- return _sessionCountLimit;
- }
- else if (HEART_BEAT_DELAY.equals(name))
- {
- return _heartBeatDelay;
- }
- 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.
+ return super.getAttribute(name);
}
@Override
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortAdapter.java
index bd60f154da..c83d776bd1 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortAdapter.java
@@ -56,20 +56,11 @@ public class PortAdapter extends AbstractAdapter implements Port
*/
public PortAdapter(UUID id, Broker broker, Map<String, Object> attributes, Map<String, Object> defaults)
{
- super(id, defaults);
+ super(id, defaults, attributes);
_broker = broker;
addParent(Broker.class, broker);
- Collection<String> names = getAttributeNames();
- for (String name : names)
- {
- if (attributes.containsKey(name))
- {
- setAttribute(name, defaults.get(name), attributes.get(name));
- }
- }
-
String name = (String)getAttribute(NAME);
if (name == null)
{
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/util/MapValueConverter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/util/MapValueConverter.java
index a87d7745d6..4732900c60 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/util/MapValueConverter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/util/MapValueConverter.java
@@ -22,6 +22,7 @@ package org.apache.qpid.server.util;
import java.util.Collection;
import java.util.Collections;
+import java.util.HashMap;
import java.util.HashSet;
import java.util.Map;
import java.util.Set;
@@ -32,7 +33,25 @@ public class MapValueConverter
public static String getStringAttribute(String name, Map<String,Object> attributes, String defaultVal)
{
final Object value = attributes.get(name);
- return value == null ? defaultVal : String.valueOf(value);
+ return toString(value, defaultVal);
+ }
+
+ public static String toString(final Object value)
+ {
+ return toString(value, null);
+ }
+
+ public static String toString(final Object value, String defaultVal)
+ {
+ if (value == null)
+ {
+ return defaultVal;
+ }
+ else if (value instanceof String)
+ {
+ return (String)value;
+ }
+ return String.valueOf(value);
}
public static String getStringAttribute(String name, Map<String, Object> attributes)
@@ -100,6 +119,16 @@ public class MapValueConverter
public static Boolean getBooleanAttribute(String name, Map<String,Object> attributes, Boolean defaultValue)
{
Object obj = attributes.get(name);
+ return toBoolean(name, obj, defaultValue);
+ }
+
+ public static Boolean toBoolean(String name, Object obj)
+ {
+ return toBoolean(name, obj, null);
+ }
+
+ public static Boolean toBoolean(String name, Object obj, Boolean defaultValue)
+ {
if(obj == null)
{
return defaultValue;
@@ -128,6 +157,16 @@ public class MapValueConverter
public static Integer getIntegerAttribute(String name, Map<String,Object> attributes, Integer defaultValue)
{
Object obj = attributes.get(name);
+ return toInteger(name, obj, defaultValue);
+ }
+
+ public static Integer toInteger(String name, Object obj)
+ {
+ return toInteger(name, obj, null);
+ }
+
+ public static Integer toInteger(String name, Object obj, Integer defaultValue)
+ {
if(obj == null)
{
return defaultValue;
@@ -155,6 +194,16 @@ public class MapValueConverter
public static Long getLongAttribute(String name, Map<String,Object> attributes, Long defaultValue)
{
Object obj = attributes.get(name);
+ return toLong(name, obj, defaultValue);
+ }
+
+ public static Long toLong(String name, Object obj)
+ {
+ return toLong(name, obj, null);
+ }
+
+ public static Long toLong(String name, Object obj, Long defaultValue)
+ {
if(obj == null)
{
return defaultValue;
@@ -246,4 +295,41 @@ public class MapValueConverter
}
return set;
}
+
+ public static Map<String, Object> convert(Map<String, Object> configurationAttributes, Map<String, Class<?>> attributeTypes)
+ {
+ Map<String, Object> attributes = new HashMap<String, Object>();
+ for (Map.Entry<String, Class<?>> attributeEntry : attributeTypes.entrySet())
+ {
+ String attributeName = attributeEntry.getKey();
+ if (configurationAttributes.containsKey(attributeName))
+ {
+ Class<?> classObject = attributeEntry.getValue();
+ Object rawValue = configurationAttributes.get(attributeName);
+ Object value = null;
+ if (classObject == Long.class || classObject == long.class)
+ {
+ value = toLong(attributeName, rawValue);
+ }
+ else if (classObject == Integer.class || classObject == int.class)
+ {
+ value = toInteger(attributeName, rawValue);
+ }
+ else if (classObject == Boolean.class || classObject == boolean.class)
+ {
+ value = toBoolean(attributeName, rawValue);
+ }
+ else if (classObject == String.class)
+ {
+ value = toString(rawValue);
+ }
+ else
+ {
+ throw new IllegalArgumentException("Cannot convert '" + rawValue + "' into " + classObject);
+ }
+ attributes.put(attributeName, value);
+ }
+ }
+ return attributes;
+ }
}
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java
index 5a28e59cc9..d8eff63de9 100644
--- a/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java
+++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/configuration/VirtualHostConfigurationTest.java
@@ -54,7 +54,7 @@ public class VirtualHostConfigurationTest extends QpidTestCase
_configXml.addProperty("virtualhosts.virtualhost(-1)."+getName()+".store.class", TestableMemoryMessageStore.class.getName());
_virtualHostRegistry = new VirtualHostRegistry();
_broker = mock(Broker.class);
- when(_broker.getAttribute(Broker.HOUSEKEEPING_CHECK_PERIOD)).thenReturn(BrokerProperties.DEFAULT_HOUSEKEEPING_PERIOD);
+ when(_broker.getAttribute(Broker.HOUSEKEEPING_CHECK_PERIOD)).thenReturn(30000l);
}
@Override
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
index 2e2ce7de5d..8759254d12 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/BrokerRestTest.java
@@ -105,7 +105,7 @@ public class BrokerRestTest extends QpidRestTestCase
assertEquals("Unexpected value of attribute " + Broker.DURABLE, Boolean.TRUE, brokerDetails.get(Broker.DURABLE));
assertEquals("Unexpected value of attribute " + Broker.LIFETIME_POLICY, LifetimePolicy.PERMANENT.name(),
brokerDetails.get(Broker.LIFETIME_POLICY));
- assertEquals("Unexpected value of attribute " + Broker.NAME, "Broker", brokerDetails.get(Broker.NAME));
+ assertEquals("Unexpected value of attribute " + Broker.NAME, "QpidBroker", brokerDetails.get(Broker.NAME));
assertEquals("Unexpected value of attribute " + Broker.STATE, State.ACTIVE.name(), brokerDetails.get(Broker.STATE));
assertNotNull("Unexpected value of attribute " + Broker.ID, brokerDetails.get(Broker.ID));
diff --git a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/StructureRestTest.java b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/StructureRestTest.java
index a021d33d4b..9971a6b549 100644
--- a/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/StructureRestTest.java
+++ b/qpid/java/systests/src/main/java/org/apache/qpid/systest/rest/StructureRestTest.java
@@ -32,7 +32,7 @@ public class StructureRestTest extends QpidRestTestCase
{
Map<String, Object> structure = getRestTestHelper().getJsonAsMap("/rest/structure");
assertNotNull("Structure data cannot be null", structure);
- assertNode(structure, "Broker");
+ assertNode(structure, "QpidBroker");
@SuppressWarnings("unchecked")
List<Map<String, Object>> virtualhosts = (List<Map<String, Object>>) structure.get("virtualhosts");