diff options
| author | Robert Godfrey <rgodfrey@apache.org> | 2014-04-10 10:41:27 +0000 |
|---|---|---|
| committer | Robert Godfrey <rgodfrey@apache.org> | 2014-04-10 10:41:27 +0000 |
| commit | b33dec1a97a28ceeda0e5877dbfef494cd5b21bf (patch) | |
| tree | 8ce42b3d9fb58fbb1ed5c78efb9af75ee80f2c6a /qpid/java/broker-plugins | |
| parent | c5d4bac39754028fd9eeef82494a7529071eb6f0 (diff) | |
| download | qpid-python-b33dec1a97a28ceeda0e5877dbfef494cd5b21bf.tar.gz | |
QPID-5679 : [Java Broker] Use interpolation for "inherited" attributes (such as queue alerting)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1586268 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
9 files changed, 139 insertions, 80 deletions
diff --git a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java index ecb51235d3..0dc1a822e9 100644 --- a/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java +++ b/qpid/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerConnectionDelegate.java @@ -20,6 +20,8 @@ */ package org.apache.qpid.server.protocol.v0_10; +import static org.apache.qpid.transport.Connection.State.CLOSE_RCVD; + import java.security.AccessControlException; import java.security.Principal; import java.util.ArrayList; @@ -30,8 +32,13 @@ import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.StringTokenizer; + import javax.security.sasl.SaslException; import javax.security.sasl.SaslServer; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import org.apache.qpid.common.QpidProperties; import org.apache.qpid.common.ServerPropertyNames; import org.apache.qpid.properties.ConnectionStartProperties; @@ -43,14 +50,23 @@ import org.apache.qpid.server.security.auth.AuthenticationResult.AuthenticationS import org.apache.qpid.server.security.auth.SubjectAuthenticationResult; import org.apache.qpid.server.virtualhost.VirtualHostImpl; import org.apache.qpid.server.virtualhost.VirtualHostState; -import org.apache.qpid.transport.*; +import org.apache.qpid.transport.Binary; +import org.apache.qpid.transport.Connection; +import org.apache.qpid.transport.ConnectionClose; +import org.apache.qpid.transport.ConnectionCloseCode; +import org.apache.qpid.transport.ConnectionOpen; +import org.apache.qpid.transport.ConnectionOpenOk; +import org.apache.qpid.transport.ConnectionStartOk; +import org.apache.qpid.transport.ConnectionTuneOk; +import org.apache.qpid.transport.ServerDelegate; +import org.apache.qpid.transport.Session; +import org.apache.qpid.transport.SessionAttach; +import org.apache.qpid.transport.SessionDelegate; +import org.apache.qpid.transport.SessionDetach; +import org.apache.qpid.transport.SessionDetachCode; +import org.apache.qpid.transport.SessionDetached; import org.apache.qpid.transport.network.NetworkConnection; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -import static org.apache.qpid.transport.Connection.State.CLOSE_RCVD; - public class ServerConnectionDelegate extends ServerDelegate { private static final Logger LOGGER = LoggerFactory.getLogger(ServerConnectionDelegate.class); @@ -76,7 +92,7 @@ public class ServerConnectionDelegate extends ServerDelegate _broker = broker; _localFQDN = localFQDN; - _maxNoOfChannels = (Integer)broker.getAttribute(Broker.CONNECTION_SESSION_COUNT_LIMIT); + _maxNoOfChannels = broker.getConnection_sessionCountLimit(); _subjectCreator = subjectCreator; } diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java index c7e615f075..b852b22abb 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java @@ -23,21 +23,31 @@ package org.apache.qpid.server.protocol.v0_8; import java.nio.ByteBuffer; import java.security.AccessControlException; import java.security.PrivilegedAction; -import java.util.*; +import java.util.ArrayList; +import java.util.Collection; +import java.util.Collections; +import java.util.EnumSet; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedHashMap; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.SortedSet; +import java.util.TreeSet; +import java.util.UUID; import java.util.concurrent.CopyOnWriteArrayList; import java.util.concurrent.atomic.AtomicBoolean; import java.util.concurrent.atomic.AtomicLong; import java.util.concurrent.locks.Lock; +import javax.security.auth.Subject; + import org.apache.log4j.Logger; + import org.apache.qpid.AMQConnectionException; import org.apache.qpid.AMQException; -import org.apache.qpid.server.connection.SessionPrincipal; -import org.apache.qpid.server.consumer.ConsumerImpl; -import org.apache.qpid.server.exchange.ExchangeImpl; -import org.apache.qpid.server.filter.AMQInvalidArgumentException; -import org.apache.qpid.server.filter.Filterable; -import org.apache.qpid.server.filter.MessageFilter; import org.apache.qpid.common.AMQPFilterTypes; import org.apache.qpid.framing.AMQMethodBody; import org.apache.qpid.framing.AMQShortString; @@ -51,8 +61,14 @@ import org.apache.qpid.protocol.AMQConstant; import org.apache.qpid.server.TransactionTimeoutHelper; import org.apache.qpid.server.TransactionTimeoutHelper.CloseAction; import org.apache.qpid.server.configuration.BrokerProperties; +import org.apache.qpid.server.connection.SessionPrincipal; +import org.apache.qpid.server.consumer.ConsumerImpl; +import org.apache.qpid.server.exchange.ExchangeImpl; +import org.apache.qpid.server.filter.AMQInvalidArgumentException; import org.apache.qpid.server.filter.FilterManager; import org.apache.qpid.server.filter.FilterManagerFactory; +import org.apache.qpid.server.filter.Filterable; +import org.apache.qpid.server.filter.MessageFilter; import org.apache.qpid.server.filter.SimpleFilterManager; import org.apache.qpid.server.flow.FlowCreditManager; import org.apache.qpid.server.flow.Pre0_10CreditManager; @@ -71,10 +87,10 @@ import org.apache.qpid.server.model.ConfigurationChangeListener; import org.apache.qpid.server.model.ConfiguredObject; import org.apache.qpid.server.model.Consumer; import org.apache.qpid.server.model.State; +import org.apache.qpid.server.protocol.AMQSessionModel; import org.apache.qpid.server.protocol.CapacityChecker; import org.apache.qpid.server.protocol.ConsumerListener; import org.apache.qpid.server.protocol.v0_8.output.ProtocolOutputConverter; -import org.apache.qpid.server.protocol.AMQSessionModel; import org.apache.qpid.server.queue.AMQQueue; import org.apache.qpid.server.queue.QueueEntry; import org.apache.qpid.server.security.SecurityManager; @@ -91,8 +107,6 @@ import org.apache.qpid.server.util.ConnectionScopedRuntimeException; import org.apache.qpid.server.virtualhost.VirtualHostImpl; import org.apache.qpid.transport.TransportException; -import javax.security.auth.Subject; - public class AMQChannel<T extends AMQProtocolSession<T>> implements AMQSessionModel<AMQChannel<T>,T>, AsyncAutoCommitTransaction.FutureRecorder diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java index 7b04c99ca2..f6ad008441 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngine.java @@ -181,7 +181,7 @@ public class AMQProtocolEngine implements ServerProtocolEngine, AMQProtocolSessi _broker = broker; _port = port; _transport = transport; - _maxNoOfChannels = (Integer)broker.getAttribute(Broker.CONNECTION_SESSION_COUNT_LIMIT); + _maxNoOfChannels = broker.getConnection_sessionCountLimit(); _receivedLock = new ReentrantLock(); _stateManager = new AMQStateManager(broker, this); _codecFactory = new AMQCodecFactory(true, this); @@ -199,7 +199,7 @@ public class AMQProtocolEngine implements ServerProtocolEngine, AMQProtocolSessi getEventLogger().message(ConnectionMessages.OPEN(null, null, null, null, false, false, false, false)); - _closeWhenNoRoute = (Boolean)_broker.getAttribute(Broker.CONNECTION_CLOSE_WHEN_NO_ROUTE); + _closeWhenNoRoute = _broker.getConnection_closeWhenNoRoute(); initialiseStatistics(); diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ConnectionSecureOkMethodHandler.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ConnectionSecureOkMethodHandler.java index d319f080d2..a2b596e2b1 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ConnectionSecureOkMethodHandler.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ConnectionSecureOkMethodHandler.java @@ -21,6 +21,9 @@ package org.apache.qpid.server.protocol.v0_8.handler; +import javax.security.sasl.SaslException; +import javax.security.sasl.SaslServer; + import org.apache.log4j.Logger; import org.apache.qpid.AMQException; @@ -33,14 +36,11 @@ import org.apache.qpid.protocol.AMQConstant; import org.apache.qpid.server.configuration.BrokerProperties; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.protocol.v0_8.AMQProtocolSession; -import org.apache.qpid.server.security.SubjectCreator; -import org.apache.qpid.server.security.auth.SubjectAuthenticationResult; import org.apache.qpid.server.protocol.v0_8.state.AMQState; import org.apache.qpid.server.protocol.v0_8.state.AMQStateManager; import org.apache.qpid.server.protocol.v0_8.state.StateAwareMethodListener; - -import javax.security.sasl.SaslException; -import javax.security.sasl.SaslServer; +import org.apache.qpid.server.security.SubjectCreator; +import org.apache.qpid.server.security.auth.SubjectAuthenticationResult; public class ConnectionSecureOkMethodHandler implements StateAwareMethodListener<ConnectionSecureOkBody> { @@ -98,9 +98,9 @@ public class ConnectionSecureOkMethodHandler implements StateAwareMethodListener stateManager.changeState(AMQState.CONNECTION_NOT_TUNED); ConnectionTuneBody tuneBody = - methodRegistry.createConnectionTuneBody((Integer)broker.getAttribute(Broker.CONNECTION_SESSION_COUNT_LIMIT), + methodRegistry.createConnectionTuneBody(broker.getConnection_sessionCountLimit(), BrokerProperties.FRAME_SIZE, - (Integer)broker.getAttribute(Broker.CONNECTION_HEART_BEAT_DELAY)); + broker.getConnection_heartBeatDelay()); session.writeFrame(tuneBody.generateFrame(0)); session.setAuthorizedSubject(authResult.getSubject()); disposeSaslServer(session); diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ConnectionStartOkMethodHandler.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ConnectionStartOkMethodHandler.java index 9350327346..dc4f010a66 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ConnectionStartOkMethodHandler.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ConnectionStartOkMethodHandler.java @@ -20,6 +20,9 @@ */ package org.apache.qpid.server.protocol.v0_8.handler; +import javax.security.sasl.SaslException; +import javax.security.sasl.SaslServer; + import org.apache.log4j.Logger; import org.apache.qpid.AMQException; @@ -32,14 +35,11 @@ import org.apache.qpid.protocol.AMQConstant; import org.apache.qpid.server.configuration.BrokerProperties; import org.apache.qpid.server.model.Broker; import org.apache.qpid.server.protocol.v0_8.AMQProtocolSession; -import org.apache.qpid.server.security.SubjectCreator; -import org.apache.qpid.server.security.auth.SubjectAuthenticationResult; import org.apache.qpid.server.protocol.v0_8.state.AMQState; import org.apache.qpid.server.protocol.v0_8.state.AMQStateManager; import org.apache.qpid.server.protocol.v0_8.state.StateAwareMethodListener; - -import javax.security.sasl.SaslException; -import javax.security.sasl.SaslServer; +import org.apache.qpid.server.security.SubjectCreator; +import org.apache.qpid.server.security.auth.SubjectAuthenticationResult; public class ConnectionStartOkMethodHandler implements StateAwareMethodListener<ConnectionStartOkBody> @@ -112,9 +112,9 @@ public class ConnectionStartOkMethodHandler implements StateAwareMethodListener< stateManager.changeState(AMQState.CONNECTION_NOT_TUNED); - ConnectionTuneBody tuneBody = methodRegistry.createConnectionTuneBody((Integer)broker.getAttribute(Broker.CONNECTION_SESSION_COUNT_LIMIT), + ConnectionTuneBody tuneBody = methodRegistry.createConnectionTuneBody(broker.getConnection_sessionCountLimit(), BrokerProperties.FRAME_SIZE, - (Integer)broker.getAttribute(Broker.CONNECTION_HEART_BEAT_DELAY)); + broker.getConnection_heartBeatDelay()); session.writeFrame(tuneBody.generateFrame(0)); break; case CONTINUE: diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java index 19550e8c8d..42cb66ce7e 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java @@ -20,6 +20,10 @@ */ package org.apache.qpid.server.protocol.v0_8.handler; +import java.security.AccessControlException; +import java.util.Map; +import java.util.UUID; + import org.apache.log4j.Logger; import org.apache.qpid.AMQException; @@ -32,20 +36,16 @@ import org.apache.qpid.protocol.AMQConstant; import org.apache.qpid.server.model.ExclusivityPolicy; import org.apache.qpid.server.model.LifetimePolicy; import org.apache.qpid.server.model.Queue; -import org.apache.qpid.server.protocol.v0_8.AMQChannel; import org.apache.qpid.server.model.UUIDGenerator; -import org.apache.qpid.server.protocol.v0_8.AMQProtocolSession; import org.apache.qpid.server.protocol.AMQSessionModel; -import org.apache.qpid.server.queue.AMQQueue; -import org.apache.qpid.server.queue.QueueArgumentsConverter; +import org.apache.qpid.server.protocol.v0_8.AMQChannel; +import org.apache.qpid.server.protocol.v0_8.AMQProtocolSession; import org.apache.qpid.server.protocol.v0_8.state.AMQStateManager; import org.apache.qpid.server.protocol.v0_8.state.StateAwareMethodListener; -import org.apache.qpid.server.virtualhost.VirtualHostImpl; - -import java.security.AccessControlException; -import java.util.Map; -import java.util.UUID; +import org.apache.qpid.server.queue.AMQQueue; +import org.apache.qpid.server.queue.QueueArgumentsConverter; import org.apache.qpid.server.virtualhost.QueueExistsException; +import org.apache.qpid.server.virtualhost.VirtualHostImpl; public class QueueDeclareHandler implements StateAwareMethodListener<QueueDeclareBody> { diff --git a/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngineTest.java b/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngineTest.java index 1506ecb92f..59d7623011 100644 --- a/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngineTest.java +++ b/qpid/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AMQProtocolEngineTest.java @@ -47,7 +47,7 @@ public class AMQProtocolEngineTest extends QpidTestCase super.setUp(); BrokerTestHelper.setUp(); _broker = BrokerTestHelper.createBrokerMock(); - when(_broker.getAttribute(Broker.CONNECTION_CLOSE_WHEN_NO_ROUTE)).thenReturn(true); + when(_broker.getConnection_closeWhenNoRoute()).thenReturn(true); _port = mock(Port.class); _network = mock(NetworkConnection.class); diff --git a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/QueueMBean.java b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/QueueMBean.java index 8fe0bf9e10..74183eafc5 100644 --- a/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/QueueMBean.java +++ b/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/mbeans/QueueMBean.java @@ -149,12 +149,12 @@ public class QueueMBean extends AMQManagedObject implements ManagedQueue, QueueN public Integer getMessageCount() { - return (int) _queue.getQueueDepthMessages(); + return _queue.getQueueDepthMessages(); } public Integer getMaximumDeliveryCount() { - return (Integer) _queue.getAttribute(Queue.MAXIMUM_DELIVERY_ATTEMPTS); + return _queue.getMaximumDeliveryAttempts(); } public Long getReceivedMessageCount() @@ -200,7 +200,7 @@ public class QueueMBean extends AMQManagedObject implements ManagedQueue, QueueN public Long getMaximumMessageAge() { - return (Long) _queue.getAttribute(Queue.ALERT_THRESHOLD_MESSAGE_AGE); + return _queue.getAlertThresholdMessageAge(); } public void setMaximumMessageAge(Long age) @@ -210,7 +210,7 @@ public class QueueMBean extends AMQManagedObject implements ManagedQueue, QueueN public Long getMaximumMessageSize() { - return (Long) _queue.getAttribute(Queue.ALERT_THRESHOLD_MESSAGE_SIZE); + return _queue.getAlertThresholdMessageSize(); } public void setMaximumMessageSize(Long size) @@ -220,7 +220,7 @@ public class QueueMBean extends AMQManagedObject implements ManagedQueue, QueueN public Long getMaximumMessageCount() { - return (Long) _queue.getAttribute(Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES); + return _queue.getAlertThresholdQueueDepthMessages(); } public void setMaximumMessageCount(Long value) @@ -230,7 +230,7 @@ public class QueueMBean extends AMQManagedObject implements ManagedQueue, QueueN public Long getMaximumQueueDepth() { - return (Long) _queue.getAttribute(Queue.ALERT_THRESHOLD_QUEUE_DEPTH_BYTES); + return _queue.getAlertThresholdQueueDepthBytes(); } public void setMaximumQueueDepth(Long value) @@ -240,7 +240,7 @@ public class QueueMBean extends AMQManagedObject implements ManagedQueue, QueueN public Long getCapacity() { - return (Long) _queue.getAttribute(Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES); + return (Long) _queue.getQueueFlowControlSizeBytes(); } public void setCapacity(Long value) @@ -250,7 +250,7 @@ public class QueueMBean extends AMQManagedObject implements ManagedQueue, QueueN public Long getFlowResumeCapacity() { - return (Long) _queue.getAttribute(Queue.QUEUE_FLOW_RESUME_SIZE_BYTES); + return _queue.getQueueFlowResumeSizeBytes(); } public void setFlowResumeCapacity(Long value) diff --git a/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/QueueMBeanTest.java b/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/QueueMBeanTest.java index f2ca04f709..2df196eff6 100644 --- a/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/QueueMBeanTest.java +++ b/qpid/java/broker-plugins/management-jmx/src/test/java/org/apache/qpid/server/jmx/mbeans/QueueMBeanTest.java @@ -18,12 +18,12 @@ */ package org.apache.qpid.server.jmx.mbeans; +import static org.mockito.Matchers.argThat; +import static org.mockito.Matchers.isNull; import static org.mockito.Mockito.doAnswer; import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.when; import static org.mockito.Mockito.verify; -import static org.mockito.Matchers.isNull; -import static org.mockito.Matchers.argThat; +import static org.mockito.Mockito.when; import java.nio.ByteBuffer; import java.util.Arrays; @@ -35,6 +35,11 @@ import javax.management.NotificationListener; import javax.management.OperationsException; import javax.management.openmbean.CompositeDataSupport; +import org.mockito.ArgumentMatcher; +import org.mockito.Matchers; +import org.mockito.invocation.InvocationOnMock; +import org.mockito.stubbing.Answer; + import org.apache.qpid.management.common.mbeans.ManagedQueue; import org.apache.qpid.server.jmx.ManagedObjectRegistry; import org.apache.qpid.server.jmx.mbeans.QueueMBean.GetMessageVisitor; @@ -47,10 +52,6 @@ import org.apache.qpid.server.model.VirtualHost; import org.apache.qpid.server.queue.NotificationCheck; import org.apache.qpid.server.queue.QueueEntry; import org.apache.qpid.test.utils.QpidTestCase; -import org.mockito.ArgumentMatcher; -import org.mockito.Matchers; -import org.mockito.invocation.InvocationOnMock; -import org.mockito.stubbing.Answer; public class QueueMBeanTest extends QpidTestCase { @@ -119,7 +120,8 @@ public class QueueMBeanTest extends QpidTestCase public void testGetQueueDescription() throws Exception { - assertAttribute("description", QUEUE_DESCRIPTION, Queue.DESCRIPTION); + when(_mockQueue.getAttribute(Queue.DESCRIPTION)).thenReturn(QUEUE_DESCRIPTION); + MBeanTestUtils.assertMBeanAttribute(_queueMBean, "description", QUEUE_DESCRIPTION); } public void testSetQueueDescription() throws Exception @@ -129,17 +131,20 @@ public class QueueMBeanTest extends QpidTestCase public void testQueueType() throws Exception { - assertAttribute("queueType", QUEUE_TYPE, Queue.QUEUE_TYPE); + when(_mockQueue.getAttribute(Queue.QUEUE_TYPE)).thenReturn(QUEUE_TYPE); + MBeanTestUtils.assertMBeanAttribute(_queueMBean, "queueType", QUEUE_TYPE); } public void testMaximumDeliveryCount() throws Exception { - assertAttribute("maximumDeliveryCount", 5, Queue.MAXIMUM_DELIVERY_ATTEMPTS); + when(_mockQueue.getMaximumDeliveryAttempts()).thenReturn(5); + MBeanTestUtils.assertMBeanAttribute(_queueMBean, "maximumDeliveryCount", 5); } public void testOwner() throws Exception { - assertAttribute("owner", "testOwner", Queue.OWNER); + when(_mockQueue.getAttribute(Queue.OWNER)).thenReturn("testOwner"); + MBeanTestUtils.assertMBeanAttribute(_queueMBean, "owner", "testOwner"); } public void testIsDurable() throws Exception @@ -168,62 +173,92 @@ public class QueueMBeanTest extends QpidTestCase public void testGetMaximumMessageAge() throws Exception { - assertAttribute("maximumMessageAge", 10000l, Queue.ALERT_THRESHOLD_MESSAGE_AGE); + when(_mockQueue.getAlertThresholdMessageAge()).thenReturn(10000l); + MBeanTestUtils.assertMBeanAttribute(_queueMBean, "maximumMessageAge", 10000l); } public void testSetMaximumMessageAge() throws Exception { - testSetAttribute("maximumMessageAge", Queue.ALERT_THRESHOLD_MESSAGE_AGE, 1000l, 10000l); + when(_mockQueue.getAlertThresholdMessageAge()).thenReturn(1000l); + + MBeanTestUtils.setMBeanAttribute(_queueMBean, "maximumMessageAge", 10000l); + + verify(_mockQueue).setAttribute(Queue.ALERT_THRESHOLD_MESSAGE_AGE, 1000l, 10000l); } public void testGetMaximumMessageSize() throws Exception { - assertAttribute("maximumMessageSize", 1024l, Queue.ALERT_THRESHOLD_MESSAGE_SIZE); + when(_mockQueue.getAlertThresholdMessageSize()).thenReturn(1024l); + MBeanTestUtils.assertMBeanAttribute(_queueMBean, "maximumMessageSize", 1024l); } public void testSetMaximumMessageSize() throws Exception { - testSetAttribute("maximumMessageSize", Queue.ALERT_THRESHOLD_MESSAGE_SIZE, 1024l, 2048l); + when(_mockQueue.getAlertThresholdMessageSize()).thenReturn(1024l); + + MBeanTestUtils.setMBeanAttribute(_queueMBean, "maximumMessageSize", 2048l); + + verify(_mockQueue).setAttribute(Queue.ALERT_THRESHOLD_MESSAGE_SIZE, 1024l, 2048l); } public void testGetMaximumMessageCount() throws Exception { - assertAttribute("maximumMessageCount", 5000l, Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES); + when(_mockQueue.getAlertThresholdQueueDepthMessages()).thenReturn(5000l); + MBeanTestUtils.assertMBeanAttribute(_queueMBean, "maximumMessageCount", 5000l); } public void testSetMaximumMessageCount() throws Exception { - testSetAttribute("maximumMessageCount", Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES, 4000l, 5000l); + when(_mockQueue.getAlertThresholdQueueDepthMessages()).thenReturn(4000l); + + MBeanTestUtils.setMBeanAttribute(_queueMBean, "maximumMessageCount", 5000l); + + verify(_mockQueue).setAttribute(Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES, 4000l, 5000l); } public void testGetMaximumQueueDepth() throws Exception { - assertAttribute("maximumQueueDepth", 1048576l, Queue.ALERT_THRESHOLD_QUEUE_DEPTH_BYTES); + when(_mockQueue.getAlertThresholdQueueDepthBytes()).thenReturn(1048576l); + MBeanTestUtils.assertMBeanAttribute(_queueMBean, "maximumQueueDepth", 1048576l); } public void testSetMaximumQueueDepth() throws Exception { - testSetAttribute("maximumQueueDepth", Queue.ALERT_THRESHOLD_QUEUE_DEPTH_BYTES,1048576l , 2097152l); + when(_mockQueue.getAlertThresholdQueueDepthBytes()).thenReturn(1048576l); + + MBeanTestUtils.setMBeanAttribute(_queueMBean, "maximumQueueDepth", 2097152l); + + verify(_mockQueue).setAttribute(Queue.ALERT_THRESHOLD_QUEUE_DEPTH_BYTES, 1048576l, 2097152l); } public void testGetCapacity() throws Exception { - assertAttribute("capacity", 1048576l, Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES); + when(_mockQueue.getQueueFlowControlSizeBytes()).thenReturn(1048576l); + MBeanTestUtils.assertMBeanAttribute(_queueMBean, "capacity", 1048576l); } public void testSetCapacity() throws Exception { - testSetAttribute("capacity", Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES,1048576l , 2097152l); + when(_mockQueue.getQueueFlowControlSizeBytes()).thenReturn(1048576l); + + MBeanTestUtils.setMBeanAttribute(_queueMBean, "capacity", 2097152l); + + verify(_mockQueue).setAttribute(Queue.QUEUE_FLOW_CONTROL_SIZE_BYTES, 1048576l, 2097152l); } public void testGetFlowResumeCapacity() throws Exception { - assertAttribute("flowResumeCapacity", 1048576l, Queue.QUEUE_FLOW_RESUME_SIZE_BYTES); + when(_mockQueue.getQueueFlowResumeSizeBytes()).thenReturn(1048576l); + MBeanTestUtils.assertMBeanAttribute(_queueMBean, "flowResumeCapacity", 1048576l); } public void testSetFlowResumeCapacity() throws Exception { - testSetAttribute("flowResumeCapacity", Queue.QUEUE_FLOW_RESUME_SIZE_BYTES,1048576l , 2097152l); + when(_mockQueue.getQueueFlowResumeSizeBytes()).thenReturn(1048576l); + + MBeanTestUtils.setMBeanAttribute(_queueMBean, "flowResumeCapacity", 2097152l); + + verify(_mockQueue).setAttribute(Queue.QUEUE_FLOW_RESUME_SIZE_BYTES, 1048576l, 2097152l); } @@ -370,12 +405,6 @@ public class QueueMBeanTest extends QpidTestCase MBeanTestUtils.assertMBeanAttribute(_queueMBean, jmxAttributeName, expectedValue); } - private void assertAttribute(String jmxAttributeName, Object expectedValue, String underlyingAttributeName) throws Exception - { - when(_mockQueue.getAttribute(underlyingAttributeName)).thenReturn(expectedValue); - MBeanTestUtils.assertMBeanAttribute(_queueMBean, jmxAttributeName, expectedValue); - } - private void testSetAttribute(String jmxAttributeName, String underlyingAttributeName, Object originalAttributeValue, Object newAttributeValue) throws Exception { when(_mockQueue.getAttribute(underlyingAttributeName)).thenReturn(originalAttributeValue); |
