You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by kw...@apache.org on 2016/12/22 17:59:47 UTC
svn commit: r1775689 [3/4] - in /qpid/java/trunk:
bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/
bdbstore/src/test/java/org/apache/qpid/server/store/berkeleydb/upgrade/
bdbstore/systests/src/test/java/org/apache/qpid/server/sto...
Modified: qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/QueueManagingVirtualHost.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/QueueManagingVirtualHost.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/QueueManagingVirtualHost.java (original)
+++ qpid/java/trunk/broker-core/src/main/java/org/apache/qpid/server/virtualhost/QueueManagingVirtualHost.java Thu Dec 22 17:59:46 2016
@@ -30,6 +30,7 @@ import java.util.UUID;
import java.util.concurrent.ScheduledFuture;
import org.apache.qpid.server.logging.EventLoggerProvider;
+import org.apache.qpid.server.message.MessageDestination;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Connection;
@@ -256,6 +257,9 @@ public interface QueueManagingVirtualHos
Queue<?> getAttainedQueue(UUID id);
+ Queue<?> getAttainedQueue(String name);
+
+
String getLocalAddress(String routingAddress);
<T extends ConfiguredObject<?>> T getAttainedChildFromAddress(Class<T> childClass,
@@ -267,6 +271,8 @@ public interface QueueManagingVirtualHos
void setTargetSize(long targetSize);
long getTotalQueueDepthBytes();
+ MessageDestination getSystemDestination(String name);
+
interface Transaction
{
void dequeue(QueueEntry entry);
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java Thu Dec 22 17:59:46 2016
@@ -21,6 +21,7 @@
package org.apache.qpid.server.exchange;
import static org.mockito.Matchers.anySet;
+import static org.mockito.Matchers.eq;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
@@ -142,6 +143,8 @@ public class FanoutExchangeTest extends
private Queue<?> mockQueue()
{
Queue queue = mock(Queue.class);
+ String name = UUID.randomUUID().toString();
+ when(queue.getName()).thenReturn(name);
when(queue.getVirtualHost()).thenReturn(_virtualHost);
when(queue.getCategoryClass()).thenReturn(Queue.class);
when(queue.getModel()).thenReturn(BrokerModel.getInstance());
@@ -149,6 +152,7 @@ public class FanoutExchangeTest extends
when(queue.getTaskExecutor()).thenReturn(taskExecutor);
when(queue.getChildExecutor()).thenReturn(taskExecutor);
when(queue.getParent(VirtualHost.class)).thenReturn(_virtualHost);
+ when(_virtualHost.getAttainedQueue(eq(name))).thenReturn(queue);
return queue;
}
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersBindingTest.java Thu Dec 22 17:59:46 2016
@@ -27,15 +27,12 @@ import java.util.Collection;
import java.util.HashMap;
import java.util.Map;
import java.util.Set;
-import java.util.UUID;
import org.apache.qpid.exchange.ExchangeDefaults;
-import org.apache.qpid.server.binding.BindingImpl;
import org.apache.qpid.server.configuration.updater.CurrentThreadTaskExecutor;
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
import org.apache.qpid.server.message.AMQMessageHeader;
-import org.apache.qpid.server.model.Binding;
import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.Queue;
@@ -189,9 +186,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("A", "Value of A");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertTrue(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertTrue(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testDefault_2()
@@ -201,9 +198,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("A", "Value of A");
matchHeaders.setString("B", "Value of B");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertTrue(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertTrue(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testDefault_3()
@@ -212,9 +209,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("A", "Altered value of A");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertFalse(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertFalse(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testAll_1()
@@ -224,9 +221,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("A", "Value of A");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertTrue(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertTrue(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testAll_2()
@@ -237,9 +234,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("A", "Value of A");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertFalse(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertFalse(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testAll_3()
@@ -251,9 +248,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("A", "Value of A");
matchHeaders.setString("B", "Value of B");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertTrue(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertTrue(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testAll_4()
@@ -266,9 +263,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("B", "Value of B");
matchHeaders.setString("C", "Value of C");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertTrue(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertTrue(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testAll_5()
@@ -281,9 +278,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("B", "Altered value of B");
matchHeaders.setString("C", "Value of C");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertFalse(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertFalse(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testAny_1()
@@ -293,9 +290,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("A", "Value of A");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertTrue(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertTrue(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testAny_2()
@@ -306,9 +303,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("A", "Value of A");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertTrue(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertTrue(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testAny_3()
@@ -320,9 +317,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("A", "Value of A");
matchHeaders.setString("B", "Value of B");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertTrue(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertTrue(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testAny_4()
@@ -335,9 +332,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("B", "Value of B");
matchHeaders.setString("C", "Value of C");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertTrue(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertTrue(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testAny_5()
@@ -350,9 +347,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("B", "Altered value of B");
matchHeaders.setString("C", "Value of C");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertTrue(new HeadersBinding(b).matches(matchHeaders));
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertTrue(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
public void testAny_6()
@@ -365,27 +362,9 @@ public class HeadersBindingTest extends
matchHeaders.setString("B", "Altered value of B");
matchHeaders.setString("C", "Value of C");
- BindingImpl b =
- createBinding(UUID.randomUUID(), getQueueName(), _queue, _exchange, bindHeaders);
- assertFalse(new HeadersBinding(b).matches(matchHeaders));
- }
-
- public static BindingImpl createBinding(UUID id,
- final String bindingKey,
- final Queue<?> queue,
- final Exchange<?> exchange,
- final Map<String, Object> arguments)
- {
- Map<String, Object> attributes = new HashMap<String, Object>();
- attributes.put(Binding.NAME, bindingKey);
- if(arguments != null)
- {
- attributes.put(Binding.ARGUMENTS, arguments);
- }
- attributes.put(Binding.ID, id);
- BindingImpl binding = new BindingImpl(attributes, queue, exchange);
- binding.open();
- return binding;
+ AbstractExchange.BindingIdentifier b =
+ new AbstractExchange.BindingIdentifier(getQueueName(), _queue);
+ assertFalse(new HeadersBinding(b, bindHeaders).matches(matchHeaders));
}
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java Thu Dec 22 17:59:46 2016
@@ -158,6 +158,7 @@ public class HeadersExchangeTest extends
private Queue<?> create(String name)
{
Queue q = mock(Queue.class);
+ when(q.getName()).thenReturn(name);
when(q.toString()).thenReturn(name);
when(q.getVirtualHost()).thenReturn(_virtualHost);
when(q.getParent(VirtualHost.class)).thenReturn(_virtualHost);
@@ -167,6 +168,7 @@ public class HeadersExchangeTest extends
TaskExecutor taskExecutor = CurrentThreadTaskExecutor.newStartedInstance();
when(q.getTaskExecutor()).thenReturn(taskExecutor);
when(q.getChildExecutor()).thenReturn(taskExecutor);
+ when(_virtualHost.getAttainedQueue(name)).thenReturn(q);
return q;
}
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java Thu Dec 22 17:59:46 2016
@@ -29,17 +29,14 @@ import java.util.Collections;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import java.util.UUID;
import org.junit.Assert;
import org.apache.qpid.exchange.ExchangeDefaults;
-import org.apache.qpid.server.binding.BindingImpl;
import org.apache.qpid.server.message.AMQMessageHeader;
import org.apache.qpid.server.message.InstanceProperties;
import org.apache.qpid.server.message.MessageReference;
import org.apache.qpid.server.message.ServerMessage;
-import org.apache.qpid.server.model.Binding;
import org.apache.qpid.server.model.BrokerTestHelper;
import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.Queue;
@@ -97,8 +94,7 @@ public class TopicExchangeTest extends Q
public void testNoRoute() throws Exception
{
Queue<?> queue = createQueue("a*#b");
- createBinding(UUID.randomUUID(), "a.*.#.b", queue, _exchange, null);
-
+ _exchange.bind(queue.getName(), "a.*.#.b", null, false);
routeMessage("a.b", 0l);
@@ -108,8 +104,7 @@ public class TopicExchangeTest extends Q
public void testDirectMatch() throws Exception
{
Queue<?> queue = createQueue("ab");
- createBinding(UUID.randomUUID(), "a.b", queue, _exchange, null);
-
+ _exchange.bind(queue.getName(), "a.b", null, false);
routeMessage("a.b",0l);
@@ -130,8 +125,7 @@ public class TopicExchangeTest extends Q
public void testStarMatch() throws Exception
{
Queue<?> queue = createQueue("a*");
- createBinding(UUID.randomUUID(), "a.*", queue, _exchange, null);
-
+ _exchange.bind(queue.getName(), "a.*", null, false);
routeMessage("a.b",0l);
@@ -161,8 +155,7 @@ public class TopicExchangeTest extends Q
public void testHashMatch() throws Exception
{
Queue<?> queue = createQueue("a#");
- createBinding(UUID.randomUUID(), "a.#", queue, _exchange, null);
-
+ _exchange.bind(queue.getName(), "a.#", null, false);
routeMessage("a.b.c",0l);
@@ -212,7 +205,7 @@ public class TopicExchangeTest extends Q
public void testMidHash() throws Exception
{
Queue<?> queue = createQueue("a");
- createBinding(UUID.randomUUID(), "a.*.#.b", queue, _exchange, null);
+ _exchange.bind(queue.getName(), "a.*.#.b", null, false);
routeMessage("a.c.d.b",0l);
@@ -237,8 +230,7 @@ public class TopicExchangeTest extends Q
public void testMatchAfterHash() throws Exception
{
Queue<?> queue = createQueue("a#");
- createBinding(UUID.randomUUID(), "a.*.#.b.c", queue, _exchange, null);
-
+ _exchange.bind(queue.getName(), "a.*.#.b.c", null, false);
int queueCount = routeMessage("a.c.b.b",0l);
Assert.assertEquals("Message should not route to any queues", 0, queueCount);
@@ -277,11 +269,7 @@ public class TopicExchangeTest extends Q
public void testHashAfterHash() throws Exception
{
Queue<?> queue = createQueue("a#");
- createBinding(UUID.randomUUID(),
- "a.*.#.b.c.#.d",
- queue,
- _exchange,
- null);
+ _exchange.bind(queue.getName(), "a.*.#.b.c.#.d", null, false);
int queueCount = routeMessage("a.c.b.b.c",0l);
Assert.assertEquals("Message should not route to any queues", 0, queueCount);
@@ -302,7 +290,7 @@ public class TopicExchangeTest extends Q
public void testHashHash() throws Exception
{
Queue<?> queue = createQueue("a#");
- createBinding(UUID.randomUUID(), "a.#.*.#.d", queue, _exchange, null);
+ _exchange.bind(queue.getName(), "a.#.*.#.d", null, false);
int queueCount = routeMessage("a.c.b.b.c",0l);
Assert.assertEquals("Message should not route to any queues", 0, queueCount);
@@ -323,7 +311,7 @@ public class TopicExchangeTest extends Q
public void testSubMatchFails() throws Exception
{
Queue<?> queue = createQueue("a");
- createBinding(UUID.randomUUID(), "a.b.c.d", queue, _exchange, null);
+ _exchange.bind(queue.getName(), "a.b.c.d", null, false);
int queueCount = routeMessage("a.b.c",0l);
Assert.assertEquals("Message should not route to any queues", 0, queueCount);
@@ -335,8 +323,7 @@ public class TopicExchangeTest extends Q
public void testMoreRouting() throws Exception
{
Queue<?> queue = createQueue("a");
- createBinding(UUID.randomUUID(), "a.b", queue, _exchange, null);
-
+ _exchange.bind(queue.getName(), "a.b", null, false);
int queueCount = routeMessage("a.b.c",0l);
Assert.assertEquals("Message should not route to any queues", 0, queueCount);
@@ -348,8 +335,7 @@ public class TopicExchangeTest extends Q
public void testMoreQueue() throws Exception
{
Queue<?> queue = createQueue("a");
- createBinding(UUID.randomUUID(), "a.b", queue, _exchange, null);
-
+ _exchange.bind(queue.getName(), "a.b", null, false);
int queueCount = routeMessage("a",0l);
Assert.assertEquals("Message should not route to any queues", 0, queueCount);
@@ -364,7 +350,7 @@ public class TopicExchangeTest extends Q
final String bindingKey = "bindingKey";
Map<String, Object> bindArgs = Collections.<String, Object>singletonMap(JMS_SELECTOR.toString(), "arg > 5");
- createBinding(UUID.randomUUID(), bindingKey, queue, _exchange, bindArgs);
+ _exchange.bind(queue.getName(), bindingKey, bindArgs, false);
ServerMessage matchMsg1 = mock(ServerMessage.class);
AMQMessageHeader msgHeader1 = createMessageHeader(Collections.<String, Object>singletonMap("arg", 6));
@@ -398,7 +384,7 @@ public class TopicExchangeTest extends Q
final String bindingKey = "a";
Map<String, Object> originalArgs = Collections.<String, Object>singletonMap(JMS_SELECTOR.toString(), "arg > 5");
- createBinding(UUID.randomUUID(), bindingKey, queue, _exchange, originalArgs);
+ _exchange.bind(queue.getName(), bindingKey, originalArgs, false);
AMQMessageHeader mgsHeader1 = createMessageHeader(Collections.<String, Object>singletonMap("arg", 6));
ServerMessage msg1 = mock(ServerMessage.class);
@@ -436,7 +422,7 @@ public class TopicExchangeTest extends Q
Queue<?> queue = createQueue("queue1");
final String bindingKey = "a";
- BindingImpl binding = createBinding(UUID.randomUUID(), bindingKey, queue, _exchange, null);
+ _exchange.bind(queue.getName(), bindingKey, null, false);
ServerMessage msg1 = mock(ServerMessage.class);
@@ -466,25 +452,6 @@ public class TopicExchangeTest extends Q
_exchange.delete();
}
- private BindingImpl createBinding(UUID id,
- String bindingKey,
- Queue<?> queue,
- Exchange<?> exchange,
- Map<String, Object> arguments)
- {
- Map<String, Object> attributes = new HashMap<String, Object>();
- attributes.put(Binding.NAME, bindingKey);
- if(arguments != null)
- {
- attributes.put(Binding.ARGUMENTS, arguments);
- }
- attributes.put(Binding.ID, id);
-
- BindingImpl binding = (BindingImpl) _vhost.getObjectFactory().create(Binding.class, attributes, queue, exchange);
- binding.open();
- return binding;
- }
-
private int routeMessage(String routingKey, long messageNumber)
{
ServerMessage message = mock(ServerMessage.class);
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/queue/AbstractQueueTestBase.java Thu Dec 22 17:59:46 2016
@@ -154,11 +154,9 @@ abstract class AbstractQueueTestBase ext
_exchange.isBound(_routingKey,_queue));
assertEquals("Exchange binding count", 1,
_queue.getBindings().size());
- final Binding<?> firstBinding = _queue.getBindings().iterator().next();
- assertEquals("Wrong exchange bound", _routingKey,
+ final Binding firstBinding = _queue.getBindings().iterator().next();
+ assertEquals("Wrong binding key", _routingKey,
firstBinding.getBindingKey());
- assertEquals("Wrong exchange bound", _exchange,
- firstBinding.getExchange());
_exchange.deleteBinding(_routingKey, _queue);
assertFalse("Routing key was still bound",
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java Thu Dec 22 17:59:46 2016
@@ -41,11 +41,9 @@ import org.mockito.invocation.Invocation
import org.mockito.stubbing.Answer;
import org.apache.qpid.common.AMQPFilterTypes;
-import org.apache.qpid.server.binding.BindingImpl;
import org.apache.qpid.server.configuration.updater.CurrentThreadTaskExecutor;
import org.apache.qpid.server.configuration.updater.TaskExecutor;
import org.apache.qpid.server.logging.EventLogger;
-import org.apache.qpid.server.model.Binding;
import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.BrokerTestHelper;
import org.apache.qpid.server.model.ConfiguredObject;
@@ -193,33 +191,6 @@ public abstract class AbstractDurableCon
verify(_handler, never()).handle(any(ConfiguredObjectRecord.class));
}
- public void testBindQueue() throws Exception
- {
- Exchange<?> exchange = createTestExchange();
- Queue<?> queue = createTestQueue(QUEUE_NAME, "queueOwner", false, null);
- BindingImpl binding = createBinding(UUIDGenerator.generateRandomUUID(), ROUTING_KEY, queue,
- exchange, _bindingArgs);
- _configStore.create(exchange.asObjectRecord());
- _configStore.create(queue.asObjectRecord());
- _configStore.create(binding.asObjectRecord());
-
- reopenStore();
- _configStore.openConfigurationStore(_handler);
-
- Map<String,Object> map = new HashMap<String, Object>();
- map.put(Binding.NAME, ROUTING_KEY);
- map.put(Binding.ARGUMENTS,_bindingArgs);
- map.put(Binding.DURABLE,true);
- map.put(Binding.TYPE, Binding.class.getSimpleName());
-
- Map<String,UUID> parents = new HashMap<String, UUID>();
-
- parents.put(Exchange.class.getSimpleName(), exchange.getId());
- parents.put(Queue.class.getSimpleName(), queue.getId());
-
- verify(_handler).handle(matchesRecord(binding.getId(), BINDING, map, parents));
- }
-
private ConfiguredObjectRecord matchesRecord(UUID id,
String type,
@@ -287,23 +258,6 @@ public abstract class AbstractDurableCon
}
}
- public void testUnbindQueue() throws Exception
- {
- Exchange<?> exchange = createTestExchange();
- _configStore.create(exchange.asObjectRecord());
-
- Queue<?> queue = createTestQueue(QUEUE_NAME, "queueOwner", false, null);
- BindingImpl binding = createBinding(UUIDGenerator.generateRandomUUID(), ROUTING_KEY, queue,
- exchange, _bindingArgs);
- _configStore.create(binding.asObjectRecord());
-
- _configStore.remove(binding.asObjectRecord());
- reopenStore();
-
- verify(_handler, never()).handle(matchesRecord(ANY_UUID, BINDING,
- ANY_MAP));
- }
-
public void testCreateQueueAMQQueue() throws Exception
{
Queue<?> queue = createTestQueue(getName(), getName() + "Owner", true, null);
@@ -554,21 +508,4 @@ public abstract class AbstractDurableCon
_configStore.closeConfigurationStore();
}
}
-
- private static BindingImpl createBinding(UUID id,
- final String bindingKey,
- final Queue<?> queue,
- final Exchange<?> exchange,
- final Map<String, Object> arguments)
- {
- Map<String, Object> attributes = new HashMap<String, Object>();
- attributes.put(Binding.NAME, bindingKey);
- if(arguments != null)
- {
- attributes.put(Binding.ARGUMENTS, arguments);
- }
- attributes.put(Binding.ID, id);
- return new BindingImpl(attributes, queue, exchange);
- }
-
}
Modified: qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java (original)
+++ qpid/java/trunk/broker-core/src/test/java/org/apache/qpid/server/store/JsonFileConfigStoreTest.java Thu Dec 22 17:59:46 2016
@@ -399,9 +399,6 @@ public class JsonFileConfigStoreTest ext
final UUID exchangeId = new UUID(0, 2);
- final UUID bindingId = new UUID(0, 3);
- final UUID binding2Id = new UUID(1, 3);
-
Map<String, UUID> parents = getRootAsParentMap();
Map<String, Object> queueAttr = Collections.<String, Object>singletonMap(ConfiguredObject.NAME, "queue");
final ConfiguredObjectRecordImpl queueRecord =
@@ -421,33 +418,12 @@ public class JsonFileConfigStoreTest ext
exchangeAttr,
parents);
_store.create(exchangeRecord);
- Map<String,UUID> bindingParents = new HashMap();
- bindingParents.put("Exchange", exchangeRecord.getId());
- bindingParents.put("Queue", queueRecord.getId());
- Map<String, Object> bindingAttr = Collections.<String, Object>singletonMap(ConfiguredObject.NAME, "binding");
- final ConfiguredObjectRecordImpl bindingRecord =
- new ConfiguredObjectRecordImpl(bindingId, "Binding",
- bindingAttr,
- bindingParents);
-
-
- Map<String,UUID> binding2Parents = new HashMap();
- binding2Parents.put("Exchange", exchangeRecord.getId());
- binding2Parents.put("Queue", queue2Record.getId());
- Map<String, Object> binding2Attr = Collections.<String, Object>singletonMap(ConfiguredObject.NAME, "binding2");
- final ConfiguredObjectRecordImpl binding2Record =
- new ConfiguredObjectRecordImpl(binding2Id, "Binding",
- binding2Attr,
- binding2Parents);
- _store.update(true, bindingRecord, binding2Record);
_store.closeConfigurationStore();
_store.init(_parent);
_store.openConfigurationStore(_handler);
verify(_handler).handle(matchesRecord(queueId, "Queue", queueAttr));
verify(_handler).handle(matchesRecord(queue2Id, "Queue", queue2Attr));
verify(_handler).handle(matchesRecord(exchangeId, "Exchange", exchangeAttr));
- verify(_handler).handle(matchesRecord(bindingId, "Binding", bindingAttr));
- verify(_handler).handle(matchesRecord(binding2Id, "Binding", binding2Attr));
_store.closeConfigurationStore();
}
Modified: qpid/java/trunk/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/LegacyAccessControlAdapter.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/LegacyAccessControlAdapter.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/LegacyAccessControlAdapter.java (original)
+++ qpid/java/trunk/broker-plugins/access-control/src/main/java/org/apache/qpid/server/security/access/config/LegacyAccessControlAdapter.java Thu Dec 22 17:59:46 2016
@@ -20,6 +20,8 @@
*/
package org.apache.qpid.server.security.access.config;
+import static org.apache.qpid.server.security.access.config.LegacyOperation.BIND;
+import static org.apache.qpid.server.security.access.config.LegacyOperation.UNBIND;
import static org.apache.qpid.server.security.access.config.ObjectType.EXCHANGE;
import static org.apache.qpid.server.security.access.config.ObjectType.METHOD;
import static org.apache.qpid.server.security.access.config.ObjectType.QUEUE;
@@ -41,6 +43,7 @@ import org.apache.qpid.server.queue.Queu
import org.apache.qpid.server.security.Result;
import org.apache.qpid.server.security.access.Operation;
import org.apache.qpid.server.security.auth.AuthenticatedPrincipal;
+import org.apache.qpid.server.virtualhost.QueueManagingVirtualHost;
class LegacyAccessControlAdapter
{
@@ -214,21 +217,8 @@ class LegacyAccessControlAdapter
String objectName = configuredObject.getName();
Class<? extends ConfiguredObject> configuredObjectType = configuredObject.getCategoryClass();
ObjectProperties properties = new ObjectProperties(objectName);
- if (configuredObject instanceof Binding)
- {
- Exchange<?> exchange = (Exchange<?>)((Binding)configuredObject).getParent(Exchange.class);
- Queue<?> queue = (Queue<?>)((Binding)configuredObject).getParent(Queue.class);
- properties.setName((String)exchange.getAttribute(Exchange.NAME));
- properties.put(ObjectProperties.Property.QUEUE_NAME, (String)queue.getAttribute(Queue.NAME));
- properties.put(ObjectProperties.Property.ROUTING_KEY, objectName);
- properties.put(ObjectProperties.Property.VIRTUALHOST_NAME, (String)queue.getParent(VirtualHost.class).getAttribute(VirtualHost.NAME));
- // The temporary attribute (inherited from the binding's queue) seems to exist to allow the user to
- // express rules about the binding of temporary queues (whose names cannot be predicted).
- properties.put(ObjectProperties.Property.TEMPORARY, queue.getAttribute(Queue.LIFETIME_POLICY) != LifetimePolicy.PERMANENT);
- properties.put(ObjectProperties.Property.DURABLE, (Boolean)queue.getAttribute(Queue.DURABLE));
- }
- else if (configuredObject instanceof Queue)
+ if (configuredObject instanceof Queue)
{
setQueueProperties((Queue)configuredObject, properties);
}
@@ -294,12 +284,7 @@ class LegacyAccessControlAdapter
{
if (operation == LegacyOperation.CREATE || operation == LegacyOperation.UPDATE)
{
- if (Binding.class.isAssignableFrom(category))
- {
- // CREATE BINDING is transformed into BIND EXCHANGE rule
- return LegacyOperation.BIND;
- }
- else if (Consumer.class.isAssignableFrom(category))
+ if (Consumer.class.isAssignableFrom(category))
{
// CREATE CONSUMER is transformed into CONSUME QUEUE rule
return LegacyOperation.CONSUME;
@@ -317,12 +302,7 @@ class LegacyAccessControlAdapter
}
else if (operation == LegacyOperation.DELETE)
{
- if (Binding.class.isAssignableFrom(category))
- {
- // DELETE BINDING is transformed into UNBIND EXCHANGE rule
- return LegacyOperation.UNBIND;
- }
- else if (isBrokerType(category))
+ if (isBrokerType(category))
{
// DELETE broker child is transformed into CONFIGURE BROKER rule
return LegacyOperation.CONFIGURE;
@@ -488,10 +468,53 @@ class LegacyAccessControlAdapter
authorise(LegacyOperation.UPDATE, configuredObject);
}
}
+ else if (categoryClass == Exchange.class)
+ {
+ if ("bind".equals(methodName))
+ {
+ final ObjectProperties properties = createArgsForExchangeBind(arguments, configuredObject);
+ return _accessControl.authorise(BIND, EXCHANGE, properties);
+ }
+ else if ("unbind".equals(methodName))
+ {
+ final ObjectProperties properties = createArgsForExchangeBind(arguments, configuredObject);
+ return _accessControl.authorise(UNBIND, EXCHANGE, properties);
+ }
+
+ }
return Result.ALLOWED;
}
+ private ObjectProperties createArgsForExchangeBind(final Map<String, Object> arguments,
+ final PermissionedObject configuredObject)
+ {
+ ObjectProperties properties = new ObjectProperties();
+ Exchange<?> exchange = (Exchange<?>) configuredObject;
+ final QueueManagingVirtualHost virtualhost = exchange.getVirtualHost();
+
+ properties.setName(exchange.getName());
+ final String destination = (String) arguments.get("destination");
+ properties.put(ObjectProperties.Property.QUEUE_NAME, destination);
+ properties.put(ObjectProperties.Property.ROUTING_KEY, (String)arguments.get("bindingKey"));
+ properties.put(ObjectProperties.Property.VIRTUALHOST_NAME, virtualhost.getName());
+
+ MessageDestination dest = virtualhost.getAttainedMessageDestination(destination);
+ if (dest != null)
+ {
+ // The temporary attribute (inherited from the binding's queue) seems to exist to allow the user to
+ // express rules about the binding of temporary queues (whose names cannot be predicted).
+ if (dest instanceof ConfiguredObject)
+ {
+ ConfiguredObject queue = (ConfiguredObject) dest;
+ properties.put(ObjectProperties.Property.TEMPORARY, queue.getLifetimePolicy() != LifetimePolicy.PERMANENT);
+ }
+ properties.put(ObjectProperties.Property.DURABLE, dest.isDurable());
+
+ }
+ return properties;
+ }
+
Result authorise(final Operation operation,
final PermissionedObject configuredObject,
Modified: qpid/java/trunk/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/LegacyAccessControlAdapterTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/LegacyAccessControlAdapterTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/LegacyAccessControlAdapterTest.java (original)
+++ qpid/java/trunk/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/config/LegacyAccessControlAdapterTest.java Thu Dec 22 17:59:46 2016
@@ -107,47 +107,6 @@ public class LegacyAccessControlAdapterT
assertBrokerChildCreateAuthorization(accessControlProvider);
}
- public void testAuthoriseCreateBinding()
- {
- VirtualHost vh = getMockVirtualHost();
-
- Exchange exchange = mock(Exchange.class);
- when(exchange.getParent(VirtualHost.class)).thenReturn(_virtualHost);
- when(exchange.getAttribute(Exchange.NAME)).thenReturn(TEST_EXCHANGE);
- when(exchange.getName()).thenReturn(TEST_EXCHANGE);
- when(exchange.getCategoryClass()).thenReturn(Exchange.class);
- when(exchange.getParent(VirtualHost.class)).thenReturn(vh);
- when(exchange.getModel()).thenReturn(BrokerModel.getInstance());
-
- Queue queue = mock(Queue.class);
- when(queue.getParent(VirtualHost.class)).thenReturn(_virtualHost);
- when(queue.getAttribute(Queue.NAME)).thenReturn(TEST_QUEUE);
- when(queue.getName()).thenReturn(TEST_QUEUE);
- when(queue.getAttribute(Queue.DURABLE)).thenReturn(true);
- when(queue.getAttribute(Queue.LIFETIME_POLICY)).thenReturn(LifetimePolicy.PERMANENT);
- when(queue.getCategoryClass()).thenReturn(Queue.class);
- when(queue.getParent(VirtualHost.class)).thenReturn(vh);
-
- ObjectProperties properties = new ObjectProperties();
- properties.put(ObjectProperties.Property.NAME, TEST_EXCHANGE);
- properties.put(ObjectProperties.Property.VIRTUALHOST_NAME, TEST_VIRTUAL_HOST);
- properties.put(ObjectProperties.Property.QUEUE_NAME, TEST_QUEUE);
- properties.put(ObjectProperties.Property.ROUTING_KEY, "bindingKey");
- properties.put(ObjectProperties.Property.TEMPORARY, false);
- properties.put(ObjectProperties.Property.DURABLE, true);
-
- Binding binding = mock(Binding.class);
- when(binding.getParent(Exchange.class)).thenReturn(exchange);
- when(binding.getParent(Queue.class)).thenReturn(queue);
- when(binding.getAttribute(Binding.NAME)).thenReturn("bindingKey");
- when(binding.getName()).thenReturn("bindingKey");
-
- when(binding.getCategoryClass()).thenReturn(Binding.class);
-
- assertCreateAuthorization(binding, LegacyOperation.BIND, ObjectType.EXCHANGE, properties, exchange, queue);
- }
-
-
public void testAuthoriseCreateConsumer()
{
Queue queue = mock(Queue.class);
@@ -165,7 +124,6 @@ public class LegacyAccessControlAdapterT
QueueConsumer consumer = mock(QueueConsumer.class);
when(consumer.getAttribute(QueueConsumer.NAME)).thenReturn("1");
when(consumer.getParent(Queue.class)).thenReturn(queue);
- when(consumer.getParent(Session.class)).thenReturn(session);
when(consumer.getCategoryClass()).thenReturn(Consumer.class);
ObjectProperties properties = new ObjectProperties();
@@ -216,40 +174,6 @@ public class LegacyAccessControlAdapterT
assertDeleteAuthorization(mock, LegacyOperation.DELETE, ObjectType.VIRTUALHOST, properties, vhn);
}
- public void testAuthoriseDeleteBinding()
- {
- Exchange exchange = mock(Exchange.class);
- when(exchange.getParent(VirtualHost.class)).thenReturn(_virtualHost);
- when(exchange.getName()).thenReturn(TEST_EXCHANGE);
- when(exchange.getAttribute(Exchange.NAME)).thenReturn(TEST_EXCHANGE);
- when(exchange.getCategoryClass()).thenReturn(Exchange.class);
-
- Queue queue = mock(Queue.class);
- when(queue.getParent(VirtualHost.class)).thenReturn(_virtualHost);
- when(queue.getName()).thenReturn(TEST_QUEUE);
- when(queue.getAttribute(Queue.NAME)).thenReturn(TEST_QUEUE);
- when(queue.getAttribute(Queue.DURABLE)).thenReturn(true);
- when(queue.getAttribute(Queue.LIFETIME_POLICY)).thenReturn(LifetimePolicy.PERMANENT);
- when(queue.getCategoryClass()).thenReturn(Queue.class);
-
- Binding binding = mock(Binding.class);
- when(binding.getParent(Exchange.class)).thenReturn(exchange);
- when(binding.getParent(Queue.class)).thenReturn(queue);
- when(binding.getName()).thenReturn("bindingKey");
- when(binding.getCategoryClass()).thenReturn(Binding.class);
-
- ObjectProperties properties = new ObjectProperties();
- properties.put(ObjectProperties.Property.NAME, TEST_EXCHANGE);
- properties.put(ObjectProperties.Property.VIRTUALHOST_NAME, TEST_VIRTUAL_HOST);
- properties.put(ObjectProperties.Property.QUEUE_NAME, TEST_QUEUE);
- properties.put(ObjectProperties.Property.ROUTING_KEY, "bindingKey");
- properties.put(ObjectProperties.Property.TEMPORARY, false);
- properties.put(ObjectProperties.Property.DURABLE, true);
-
- assertDeleteAuthorization(binding, LegacyOperation.UNBIND, ObjectType.EXCHANGE, properties, exchange, queue);
- }
-
-
public void testAuthoriseDeleteKeyStore()
{
KeyStore mock = mock(KeyStore.class);
@@ -409,40 +333,6 @@ public class LegacyAccessControlAdapterT
assertDeleteAuthorization(exchange, LegacyOperation.DELETE, ObjectType.EXCHANGE, expectedProperties, vh);
}
- public void testAuthoriseUnbind()
- {
- Exchange exchange = mock(Exchange.class);
- when(exchange.getParent(VirtualHost.class)).thenReturn(_virtualHost);
- when(exchange.getName()).thenReturn(TEST_EXCHANGE);
- when(exchange.getAttribute(Exchange.NAME)).thenReturn(TEST_EXCHANGE);
- when(exchange.getCategoryClass()).thenReturn(Exchange.class);
-
- Queue queue = mock(Queue.class);
- when(queue.getParent(VirtualHost.class)).thenReturn(_virtualHost);
- when(queue.getName()).thenReturn(TEST_QUEUE);
- when(queue.getAttribute(Queue.NAME)).thenReturn(TEST_QUEUE);
- when(queue.getAttribute(Queue.DURABLE)).thenReturn(true);
- when(queue.getAttribute(Queue.LIFETIME_POLICY)).thenReturn(LifetimePolicy.PERMANENT);
- when(queue.getCategoryClass()).thenReturn(Queue.class);
-
- Binding binding = mock(Binding.class);
- when(binding.getParent(Exchange.class)).thenReturn(exchange);
- when(binding.getParent(Queue.class)).thenReturn(queue);
- when(binding.getName()).thenReturn("bindingKey");
- when(binding.getAttribute(Binding.NAME)).thenReturn("bindingKey");
- when(binding.getCategoryClass()).thenReturn(Binding.class);
-
- ObjectProperties properties = new ObjectProperties();
- properties.put(ObjectProperties.Property.NAME, TEST_EXCHANGE);
- properties.put(ObjectProperties.Property.VIRTUALHOST_NAME, TEST_VIRTUAL_HOST);
- properties.put(ObjectProperties.Property.QUEUE_NAME, TEST_QUEUE);
- properties.put(ObjectProperties.Property.ROUTING_KEY, "bindingKey");
- properties.put(ObjectProperties.Property.TEMPORARY, false);
- properties.put(ObjectProperties.Property.DURABLE, true);
-
- assertDeleteAuthorization(binding, LegacyOperation.UNBIND, ObjectType.EXCHANGE, properties, exchange, queue);
- }
-
public void testAuthoriseCreateVirtualHostNode()
{
VirtualHostNode vhn = getMockVirtualHostNode();
Modified: qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java (original)
+++ qpid/java/trunk/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/SendingLink_1_0.java Thu Dec 22 17:59:46 2016
@@ -22,7 +22,6 @@ package org.apache.qpid.server.protocol.
import java.security.AccessControlException;
import java.util.ArrayList;
-import java.util.Collection;
import java.util.Collections;
import java.util.EnumSet;
import java.util.HashMap;
@@ -46,7 +45,6 @@ import org.apache.qpid.server.message.Me
import org.apache.qpid.server.message.MessageInstanceConsumer;
import org.apache.qpid.server.message.MessageSource;
import org.apache.qpid.server.model.AbstractConfiguredObject;
-import org.apache.qpid.server.model.Binding;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.ExclusivityPolicy;
@@ -221,6 +219,8 @@ public class SendingLink_1_0 implements
}
else
{
+ // TODO - check the configuration of the existing durable subscription queue, and modify if necessary
+ /*
Collection<? extends Binding<?>> bindings = queue.getBindings();
List<Binding<?>> bindingsToRemove = new ArrayList<>();
for(Binding<?> existingBinding : bindings)
@@ -234,6 +234,7 @@ public class SendingLink_1_0 implements
{
existingBinding.delete();
}
+ */
}
Modified: qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementAddressSpace.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementAddressSpace.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementAddressSpace.java (original)
+++ qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementAddressSpace.java Thu Dec 22 17:59:46 2016
@@ -44,6 +44,7 @@ import org.apache.qpid.server.connection
import org.apache.qpid.server.message.InstanceProperties;
import org.apache.qpid.server.message.MessageDestination;
import org.apache.qpid.server.message.MessageInstance;
+import org.apache.qpid.server.message.MessageSender;
import org.apache.qpid.server.message.MessageSource;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.model.Broker;
@@ -368,6 +369,24 @@ public class ManagementAddressSpace impl
return destination.send(message, routingAddress, instanceProperties, txn, postEnqueueAction);
}
}
+
+ @Override
+ public boolean isDurable()
+ {
+ return true;
+ }
+
+ @Override
+ public void linkAdded(final MessageSender sender, final String linkName)
+ {
+
+ }
+
+ @Override
+ public void linkRemoved(final MessageSender sender, final String linkName)
+ {
+
+ }
}
private class NonDurableLinkRegistry implements LinkRegistry
Modified: qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java (original)
+++ qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNode.java Thu Dec 22 17:59:46 2016
@@ -62,6 +62,7 @@ import org.apache.qpid.server.message.In
import org.apache.qpid.server.message.MessageDestination;
import org.apache.qpid.server.message.MessageInstance;
import org.apache.qpid.server.message.MessageInstanceConsumer;
+import org.apache.qpid.server.message.MessageSender;
import org.apache.qpid.server.message.MessageSource;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.message.internal.InternalMessage;
@@ -374,6 +375,24 @@ class ManagementNode implements MessageS
}
}
+ @Override
+ public boolean isDurable()
+ {
+ return true;
+ }
+
+ @Override
+ public void linkAdded(final MessageSender sender, final String linkName)
+ {
+
+ }
+
+ @Override
+ public void linkRemoved(final MessageSender sender, final String linkName)
+ {
+
+ }
+
private synchronized void enqueue(InternalMessage message,
InstanceProperties properties,
Action<? super MessageInstance> postEnqueueAction)
Modified: qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java (original)
+++ qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ManagementNodeConsumer.java Thu Dec 22 17:59:46 2016
@@ -31,6 +31,7 @@ import org.apache.qpid.server.message.In
import org.apache.qpid.server.message.MessageDestination;
import org.apache.qpid.server.message.MessageInstance;
import org.apache.qpid.server.message.MessageInstanceConsumer;
+import org.apache.qpid.server.message.MessageSender;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.message.internal.InternalMessage;
import org.apache.qpid.server.model.NamedAddressSpace;
@@ -151,6 +152,24 @@ class ManagementNodeConsumer<T extends C
}
@Override
+ public boolean isDurable()
+ {
+ return false;
+ }
+
+ @Override
+ public void linkAdded(final MessageSender sender, final String linkName)
+ {
+
+ }
+
+ @Override
+ public void linkRemoved(final MessageSender sender, final String linkName)
+ {
+
+ }
+
+ @Override
public T getTarget()
{
return _target;
Modified: qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ProxyMessageSource.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ProxyMessageSource.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ProxyMessageSource.java (original)
+++ qpid/java/trunk/broker-plugins/management-amqp/src/main/java/org/apache/qpid/server/management/amqp/ProxyMessageSource.java Thu Dec 22 17:59:46 2016
@@ -45,6 +45,7 @@ import org.apache.qpid.server.message.Me
import org.apache.qpid.server.message.MessageDestination;
import org.apache.qpid.server.message.MessageInstance;
import org.apache.qpid.server.message.MessageInstanceConsumer;
+import org.apache.qpid.server.message.MessageSender;
import org.apache.qpid.server.message.MessageSource;
import org.apache.qpid.server.message.ServerMessage;
import org.apache.qpid.server.model.ConfiguredObject;
@@ -102,6 +103,24 @@ public class ProxyMessageSource implemen
}
@Override
+ public boolean isDurable()
+ {
+ return false;
+ }
+
+ @Override
+ public void linkAdded(final MessageSender sender, final String linkName)
+ {
+
+ }
+
+ @Override
+ public void linkRemoved(final MessageSender sender, final String linkName)
+ {
+
+ }
+
+ @Override
public UUID getId()
{
return _id;
Modified: qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java (original)
+++ qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/Asserts.java Thu Dec 22 17:59:46 2016
@@ -32,7 +32,6 @@ import javax.jms.JMSException;
import junit.framework.TestCase;
-import org.apache.qpid.server.model.Binding;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
@@ -367,33 +366,6 @@ public class Asserts
"messagesIn");
}
- public static void assertBinding(String bindingName, String queueName, String exchange, Map<String, Object> binding)
- {
- assertNotNull("Binding map should not be null", binding);
- assertAttributesPresent(binding,
- BrokerModel.getInstance().getTypeRegistry().getAttributeNames(Binding.class),
- Binding.STATE,
- Binding.ARGUMENTS,
- ConfiguredObject.TYPE,
- ConfiguredObject.CREATED_BY,
- ConfiguredObject.CREATED_TIME,
- ConfiguredObject.LAST_UPDATED_BY,
- ConfiguredObject.LAST_UPDATED_TIME,
- ConfiguredObject.DESCRIPTION,
- ConfiguredObject.CONTEXT,
- ConfiguredObject.DESIRED_STATE);
-
- assertEquals("Unexpected binding attribute " + Binding.NAME, bindingName, binding.get(Binding.NAME));
- assertEquals("Unexpected binding attribute " + Binding.QUEUE, queueName, binding.get(Binding.QUEUE));
- assertEquals("Unexpected binding attribute " + Binding.EXCHANGE, exchange, binding.get(Binding.EXCHANGE));
- assertEquals("Unexpected binding attribute " + Binding.LIFETIME_POLICY, LifetimePolicy.PERMANENT.name(),
- binding.get(Binding.LIFETIME_POLICY));
- }
-
- public static void assertBinding(String queueName, String exchange, Map<String, Object> binding)
- {
- assertBinding(queueName, queueName, exchange, binding);
- }
public static void assertActualAndDesiredState(final String expectedDesiredState,
final String expectedActualState,
Modified: qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java (original)
+++ qpid/java/trunk/systests/src/main/java/org/apache/qpid/systest/rest/RestTestHelper.java Thu Dec 22 17:59:46 2016
@@ -53,7 +53,6 @@ import org.junit.Assert;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
-import org.apache.qpid.server.model.Binding;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.SystemConfig;
import org.apache.qpid.ssl.SSLContextFactory;
@@ -636,18 +635,17 @@ public class RestTestHelper
for (int i = 0; i < EXPECTED_QUEUES.length; i++)
{
String queueName = EXPECTED_QUEUES[i];
- Map<String, Object> queueData = new HashMap<String, Object>();
+ Map<String, Object> queueData = new HashMap<>();
queueData.put(Queue.NAME, queueName);
queueData.put(Queue.DURABLE, Boolean.FALSE);
int responseCode = submitRequest("queue/test/test/" + queueName, "PUT", queueData);
Assert.assertEquals("Unexpected response code creating queue" + queueName, 201, responseCode);
- Map<String, Object> bindingData = new HashMap<String, Object>();
- bindingData.put(Binding.NAME, queueName);
- bindingData.put(Binding.QUEUE, queueName);
- bindingData.put(Binding.EXCHANGE, "amq.direct");
- responseCode = submitRequest("binding/test/test/amq.direct/" + queueName + "/" + queueName, "PUT", queueData);
- Assert.assertEquals("Unexpected response code binding queue " + queueName, 201, responseCode);
+ Map<String, Object> bindingData = new HashMap<>();
+ bindingData.put("bindingKey", queueName);
+ bindingData.put("destination", queueName);
+ responseCode = submitRequest("exchange/test/test/amq.direct/bind", "POST", bindingData);
+ Assert.assertEquals("Unexpected response code binding queue " + queueName, 200, responseCode);
}
}
Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/server/store/VirtualHostMessageStoreTest.java Thu Dec 22 17:59:46 2016
@@ -514,11 +514,11 @@ public class VirtualHostMessageStoreTest
* @param bindings the set of bindings to validate
* @param useSelectors if set, check the binding has a JMS_SELECTOR argument and the correct value for it
*/
- private void validateBindingProperties(Collection<? extends Binding<?>> bindings, boolean useSelectors)
+ private void validateBindingProperties(Collection<? extends Binding> bindings, boolean useSelectors)
{
assertEquals("Each queue should only be bound once.", 1, bindings.size());
- Binding<?> binding = bindings.iterator().next();
+ Binding binding = bindings.iterator().next();
if (useSelectors)
{
Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/MessageCompressionTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/MessageCompressionTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/MessageCompressionTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/MessageCompressionTest.java Thu Dec 22 17:59:46 2016
@@ -37,6 +37,7 @@ import javax.jms.JMSException;
import javax.jms.MapMessage;
import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
+import javax.jms.Queue;
import javax.jms.Session;
import javax.jms.TextMessage;
import javax.naming.NamingException;
@@ -46,7 +47,6 @@ import com.google.common.collect.Maps;
import org.apache.qpid.client.AMQConnectionFactory;
import org.apache.qpid.client.AMQConnectionURL;
-import org.apache.qpid.client.AMQSession;
import org.apache.qpid.jms.ConnectionURL;
import org.apache.qpid.server.model.Broker;
import org.apache.qpid.server.model.Port;
@@ -133,10 +133,10 @@ public class MessageCompressionTest exte
String messageText = createMessageText();
Connection senderConnection = getConnection(senderCompresses);
String virtualPath = ((AMQConnectionFactory)getConnectionFactory()).getVirtualPath();
- String testQueueName = getTestQueueName();
- createAndBindQueue(virtualPath, testQueueName);
+ Session senderSession = senderConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Queue testQueue = createTestQueue(senderSession);
- publishMessage(senderConnection, messageText);
+ publishMessage(senderConnection, messageText, testQueue);
// get the number of bytes received at the broker on the connection
List<Map<String, Object>> connectionRestOutput = _restTestHelper.getJsonAsList("/api/latest/connection");
@@ -196,12 +196,12 @@ public class MessageCompressionTest exte
String messageText = createMessageText();
Connection senderConnection = getConnection(true);
String virtualPath = ((AMQConnectionFactory)getConnectionFactory()).getVirtualPath();
- String testQueueName = getTestQueueName();
- createAndBindQueue(virtualPath, testQueueName);
+ Session session = senderConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Queue testQueue = createTestQueue(session);
- publishMessage(senderConnection, messageText);
+ publishMessage(senderConnection, messageText, testQueue);
- String queueRelativePath = "queue" + virtualPath + virtualPath + "/" + testQueueName;
+ String queueRelativePath = "queue" + virtualPath + virtualPath + "/" + testQueue.getQueueName();
List<Map<String, Object>> messages = _restTestHelper.getJsonAsList(queueRelativePath + "/getMessageInfo");
assertEquals("Unexpected number of messages", 1, messages.size());
@@ -225,12 +225,12 @@ public class MessageCompressionTest exte
String messageText = createMessageText();
Connection senderConnection = getConnection(true);
String virtualPath = ((AMQConnectionFactory)getConnectionFactory()).getVirtualPath();
- String testQueueName = getTestQueueName();
- createAndBindQueue(virtualPath, testQueueName);
+ Session session = senderConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Queue testQueue = createTestQueue(session);
- publishMessage(senderConnection, messageText);
+ publishMessage(senderConnection, messageText, testQueue);
- String queueRelativePath = "queue" + virtualPath + virtualPath + "/" + testQueueName;
+ String queueRelativePath = "queue" + virtualPath + virtualPath + "/" + testQueue.getQueueName();
List<Map<String, Object>> messages = _restTestHelper.getJsonAsList(queueRelativePath + "/getMessageInfo");
assertEquals("Unexpected number of messages", 1, messages.size());
@@ -253,12 +253,12 @@ public class MessageCompressionTest exte
String messageText = createMessageText();
Connection senderConnection = getConnection(true);
String virtualPath = ((AMQConnectionFactory)getConnectionFactory()).getVirtualPath();
- String testQueueName = getTestQueueName();
- createAndBindQueue(virtualPath, testQueueName);
+ Session session = senderConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Queue testQueue = createTestQueue(session);
- publishMessage(senderConnection, messageText);
+ publishMessage(senderConnection, messageText, testQueue);
- String queueRelativePath = "queue" + virtualPath + virtualPath + "/" + testQueueName;
+ String queueRelativePath = "queue" + virtualPath + virtualPath + "/" + testQueue.getQueueName();
List<Map<String, Object>> messages = _restTestHelper.getJsonAsList(queueRelativePath + "/getMessageInfo");
assertEquals("Unexpected number of messages", 1, messages.size());
@@ -291,13 +291,13 @@ public class MessageCompressionTest exte
Connection senderConnection = getConnection(true);
String virtualPath = ((AMQConnectionFactory)getConnectionFactory()).getVirtualPath();
- String testQueueName = getTestQueueName();
- createAndBindQueue(virtualPath, testQueueName);
+ Session session = senderConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Queue testQueue = createTestQueue(session);
Map<String, Object> mapToSend = createMapToSend();
- publishMapMessage(senderConnection, mapToSend);
+ publishMapMessage(senderConnection, mapToSend, testQueue);
- String queueRelativePath = "queue" + virtualPath + virtualPath + "/" + testQueueName;
+ String queueRelativePath = "queue" + virtualPath + virtualPath + "/" + testQueue.getQueueName();
List<Map<String, Object>> messages = _restTestHelper.getJsonAsList(queueRelativePath + "/getMessageInfo");
assertEquals("Unexpected number of messages", 1, messages.size());
@@ -318,13 +318,14 @@ public class MessageCompressionTest exte
Connection senderConnection = getConnection(true);
String virtualPath = ((AMQConnectionFactory)getConnectionFactory()).getVirtualPath();
- String testQueueName = getTestQueueName();
- createAndBindQueue(virtualPath, testQueueName);
+ Session session = senderConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Queue testQueue = createTestQueue(session);
Map<String, Object> mapToSend = createMapToSend();
- publishMapMessage(senderConnection, mapToSend);
+ publishMapMessage(senderConnection, mapToSend, testQueue);
+
- String queueRelativePath = "queue" + virtualPath + virtualPath + "/" + testQueueName;
+ String queueRelativePath = "queue" + virtualPath + virtualPath + "/" + testQueue.getQueueName();
List<Map<String, Object>> messages = _restTestHelper.getJsonAsList(queueRelativePath + "/getMessageInfo");
assertEquals("Unexpected number of messages", 1, messages.size());
@@ -379,12 +380,14 @@ public class MessageCompressionTest exte
return content;
}
- private void publishMapMessage(final Connection senderConnection, final Map<String, Object> mapData)
+ private void publishMapMessage(final Connection senderConnection,
+ final Map<String, Object> mapData,
+ final Queue testQueue)
throws JMSException, org.apache.qpid.QpidException
{
- Session session = senderConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Session session = senderConnection.createSession(true, Session.SESSION_TRANSACTED);
- MessageProducer producer = session.createProducer(getTestQueue());
+ MessageProducer producer = session.createProducer(testQueue);
MapMessage sentMessage = session.createMapMessage();
sentMessage.setStringProperty("bar", "foo");
for(Map.Entry<String,Object> entry: mapData.entrySet())
@@ -406,39 +409,20 @@ public class MessageCompressionTest exte
}
producer.send(sentMessage);
- ((AMQSession) session).sync();
+ session.commit();
}
- private void publishMessage(final Connection senderConnection, final String messageText)
+ private void publishMessage(final Connection senderConnection, final String messageText, final Queue testQueue)
throws JMSException, org.apache.qpid.QpidException
{
- Session session = senderConnection.createSession(false, Session.AUTO_ACKNOWLEDGE);
+ Session session = senderConnection.createSession(true, Session.SESSION_TRANSACTED);
- MessageProducer producer = session.createProducer(getTestQueue());
+ MessageProducer producer = session.createProducer(testQueue);
TextMessage sentMessage = session.createTextMessage(messageText);
sentMessage.setStringProperty("bar", "foo");
producer.send(sentMessage);
- ((AMQSession) session).sync();
- }
-
- private void createAndBindQueue(final String virtualPath, final String testQueueName) throws IOException
- {
- // create the queue using REST and bind it
- assertEquals(201,
- _restTestHelper.submitRequest("/api/latest/queue"
- + virtualPath
- + virtualPath
- + "/"
- + testQueueName, "PUT", Collections.<String, Object>emptyMap()));
- assertEquals(201,
- _restTestHelper.submitRequest("/api/latest/binding"
- + virtualPath
- + virtualPath
- + "/amq.direct/"
- + testQueueName
- + "/"
- + testQueueName, "PUT", Collections.<String, Object>emptyMap()));
+ session.commit();
}
private String createMessageText()
Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/management/amqp/AmqpManagementTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/management/amqp/AmqpManagementTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/management/amqp/AmqpManagementTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/management/amqp/AmqpManagementTest.java Thu Dec 22 17:59:46 2016
@@ -668,120 +668,4 @@ public class AmqpManagementTest extends
assertEquals("The response code did not indicate not implemented", 501, responseMessage.getIntProperty("statusCode"));
}
- // create a binding
- public void testCreateBindingOnVhostManagement() throws Exception
- {
- setupVirtualHostManagementConnection();
- String exchangeName = getTestName() + "_Exchange";
- String queueName = getTestName() + "_Queue";
- String exchangePath = exchangeName;
- String queuePath = queueName;
-
- doTestCreateBinding(exchangeName, queueName, exchangePath, queuePath);
-
- }
-
- public void testCreateBindingOnBrokerManagement() throws Exception
- {
- setupBrokerManagementConnection();
- String exchangeName = getTestName() + "_Exchange";
- String queueName = getTestName() + "_Queue";
- String exchangePath = "test/test/"+exchangeName;
- String queuePath = "test/test/"+exchangeName;
-
- doTestCreateBinding(exchangeName, queueName, exchangePath, queuePath);
-
- }
-
- private void doTestCreateBinding(final String exchangeName,
- final String queueName,
- final String exchangePath,
- final String queuePath) throws JMSException
- {
- MapMessage message = _session.createMapMessage();
-
- message.setStringProperty("type", "org.apache.qpid.Queue");
- message.setStringProperty("operation", "CREATE");
- message.setString("name", queueName);
- message.setString("object-path", queuePath);
- message.setJMSReplyTo(_replyAddress);
- _producer.send(message);
-
- Message responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 201, responseMessage.getIntProperty("statusCode"));
-
- message = _session.createMapMessage();
-
- message.setStringProperty("type", "org.apache.qpid.FanoutExchange");
- message.setStringProperty("operation", "CREATE");
- message.setString("name", exchangeName);
- message.setString("object-path", exchangePath);
-
- message.setJMSReplyTo(_replyAddress);
- _producer.send(message);
-
- responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 201, responseMessage.getIntProperty("statusCode"));
-
- message = _session.createMapMessage();
-
- message.setStringProperty("type", "org.apache.qpid.Binding");
- message.setStringProperty("operation", "CREATE");
- message.setString("name", "binding1");
- message.setString("object-path", exchangePath + "/" + queueName + "/binding1");
-
- message.setJMSReplyTo(_replyAddress);
- _producer.send(message);
-
- responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 201, responseMessage.getIntProperty("statusCode"));
-
- // use an operation to bind
- message = _session.createMapMessage();
-
- message.setStringProperty("type", "org.apache.qpid.Exchange");
- message.setStringProperty("operation", "bind");
- message.setStringProperty("index", "object-path");
- message.setStringProperty("key", exchangePath);
- message.setStringProperty("bindingKey", "binding2");
- message.setStringProperty("queue", queueName);
-
- message.setJMSReplyTo(_replyAddress);
- _producer.send(message);
-
- responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 200, responseMessage.getIntProperty("statusCode"));
-
- // read the new binding
- message = _session.createMapMessage();
-
- message.setStringProperty("type", "org.apache.qpid.Binding");
- message.setStringProperty("operation", "READ");
- message.setStringProperty("index", "object-path");
- message.setStringProperty("key", exchangePath + "/" + queueName + "/binding2");
-
- message.setJMSReplyTo(_replyAddress);
- _producer.send(message);
-
- responseMessage = _consumer.receive(getReceiveTimeout());
- assertNotNull("A response message was not sent", responseMessage);
- assertTrue("The response message does not have a status code",
- Collections.list(responseMessage.getPropertyNames()).contains("statusCode"));
- assertEquals("The response code did not indicate success", 200, responseMessage.getIntProperty("statusCode"));
- }
-
-
-
}
Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/ExchangeRestTest.java Thu Dec 22 17:59:46 2016
@@ -20,11 +20,11 @@
*/
package org.apache.qpid.systest.rest;
+import java.util.Arrays;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
-import org.apache.qpid.server.model.Binding;
import org.apache.qpid.server.model.Exchange;
public class ExchangeRestTest extends QpidRestTestCase
@@ -107,12 +107,12 @@ public class ExchangeRestTest extends Qp
private void assertBindings(Map<String, Object> exchange)
{
- @SuppressWarnings("unchecked")
List<Map<String, Object>> bindings = (List<Map<String, Object>>) exchange.get("bindings");
- for (String queueName : RestTestHelper.EXPECTED_QUEUES)
+ assertEquals(RestTestHelper.EXPECTED_QUEUES.length, bindings.size());
+ for (Map<String, Object> binding : bindings)
{
- Map<String, Object> binding = getRestTestHelper().find(Binding.NAME, queueName, bindings);
- Asserts.assertBinding(queueName, (String) exchange.get(Exchange.NAME), binding);
+ String destination = (String) binding.get("destination");
+ assertTrue(Arrays.asList(RestTestHelper.EXPECTED_QUEUES).contains(destination));
}
}
Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/QueueRestTest.java Thu Dec 22 17:59:46 2016
@@ -20,7 +20,6 @@
*/
package org.apache.qpid.systest.rest;
-import java.io.IOException;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@@ -32,7 +31,6 @@ import javax.jms.MessageConsumer;
import javax.jms.MessageProducer;
import javax.jms.Session;
-import org.apache.qpid.server.model.Binding;
import org.apache.qpid.server.model.BrokerModel;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Consumer;
@@ -42,7 +40,6 @@ import org.apache.qpid.server.model.Queu
public class QueueRestTest extends QpidRestTestCase
{
private static final String QUEUE_ATTRIBUTE_CONSUMERS = "consumers";
- private static final String QUEUE_ATTRIBUTE_BINDINGS = "bindings";
/**
* Message number to publish into queue
@@ -86,19 +83,6 @@ public class QueueRestTest extends QpidR
{
Map<String, Object> queueDetails = getRestTestHelper().find(Queue.NAME, name, queues);
Asserts.assertQueue(name, "standard", queueDetails);
-
- if(!isBroker10())
- {
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> bindings =
- (List<Map<String, Object>>) queueDetails.get(QUEUE_ATTRIBUTE_BINDINGS);
- assertNotNull("Queue bindings are not found", bindings);
- assertEquals("Unexpected number of bindings", 1, bindings.size());
-
- Map<String, Object> directExchangeBinding =
- getRestTestHelper().find(Binding.EXCHANGE, "amq.direct", bindings);
- Asserts.assertBinding(name, "amq.direct", directExchangeBinding);
- }
}
}
@@ -109,21 +93,6 @@ public class QueueRestTest extends QpidR
Asserts.assertQueue(queueName, "standard", queueDetails);
assertStatistics(queueDetails);
- // For 1.0 we won't have bound the queue to an exchange
- if(!isBroker10())
- {
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> bindings = (List<Map<String, Object>>) queueDetails.get(QUEUE_ATTRIBUTE_BINDINGS);
-
- assertNotNull("Queue bindings are not found", bindings);
- assertEquals("Unexpected number of bindings", isBroker10() ? 0 : 1, bindings.size());
- if (!isBroker10())
- {
- Map<String, Object> directExchangeBinding =
- getRestTestHelper().find(Binding.EXCHANGE, "amq.direct", bindings);
- Asserts.assertBinding(queueName, "amq.direct", directExchangeBinding);
- }
- }
@SuppressWarnings("unchecked")
List<Map<String, Object>> consumers = (List<Map<String, Object>>) queueDetails.get(QUEUE_ATTRIBUTE_CONSUMERS);
assertNotNull("Queue consumers are not found", consumers);
@@ -169,48 +138,6 @@ public class QueueRestTest extends QpidR
assertEquals("Unexpected " + Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES, 50000, queueData.get(Queue.ALERT_THRESHOLD_QUEUE_DEPTH_MESSAGES) );
}
- public void testPutCreateBinding() throws Exception
- {
- String queueName = getTestQueueName();
- String bindingName = queueName + 2;
- String[] exchanges = { "amq.direct", "amq.fanout", "amq.topic", "amq.match" };
-
- for (int i = 0; i < exchanges.length; i++)
- {
- createBinding(bindingName, exchanges[i], queueName);
- }
-
- Map<String, Object> queueDetails = getRestTestHelper().getJsonAsSingletonList("queue/test/test/" + queueName);
- Asserts.assertQueue(queueName, "standard", queueDetails);
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> bindings = (List<Map<String, Object>>) queueDetails.get(QUEUE_ATTRIBUTE_BINDINGS);
- assertNotNull("Queue bindings are not found", bindings);
- assertEquals("Unexpected number of bindings", exchanges.length + (isBroker10() ? 0 : 1), bindings.size());
-
- Map<String, Object> searchAttributes = new HashMap<String, Object>();
- searchAttributes.put(Binding.NAME, bindingName);
-
- for (int i = 0; i < exchanges.length; i++)
- {
- searchAttributes.put(Binding.EXCHANGE, exchanges[i]);
- Map<String, Object> binding = getRestTestHelper().find(searchAttributes, bindings);
- Asserts.assertBinding(bindingName, queueName, exchanges[i], binding);
- }
- }
-
- private void createBinding(String bindingName, String exchangeName, String queueName) throws IOException
- {
- Map<String, Object> bindingData = new HashMap<String, Object>();
- bindingData.put(Binding.NAME, bindingName);
- bindingData.put(Binding.EXCHANGE, exchangeName);
- bindingData.put(Binding.QUEUE, queueName);
-
- String url = "binding/test/test/" + getRestTestHelper().encodeAsUTF(exchangeName) + "/" + queueName + "/" + bindingName;
- int responseCode = getRestTestHelper().submitRequest(url, "PUT", bindingData);
- assertEquals("Unexpected response code", 201, responseCode);
- }
-
private void assertConsumer(Map<String, Object> consumer)
{
assertNotNull("Consumer map should not be null", consumer);
Modified: qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/StructureRestTest.java
URL: http://svn.apache.org/viewvc/qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/StructureRestTest.java?rev=1775689&r1=1775688&r2=1775689&view=diff
==============================================================================
--- qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/StructureRestTest.java (original)
+++ qpid/java/trunk/systests/src/test/java/org/apache/qpid/systest/rest/StructureRestTest.java Thu Dec 22 17:59:46 2016
@@ -77,14 +77,6 @@ public class StructureRestTest extends Q
Map<String, Object> queue = getRestTestHelper().find("name", queueName, queues);
assertNotNull(hostName + " queue " + queueName + " is not found ", queue);
assertNode(queue, queueName);
-
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> bindings = (List<Map<String, Object>>) queue.get("bindings");
- assertNotNull(hostName + " queue " + queueName + " bindings are not found ", queues);
- for (Map<String, Object> binding : bindings)
- {
- assertNode(binding, queueName);
- }
}
@SuppressWarnings("unchecked")
@@ -95,19 +87,6 @@ public class StructureRestTest extends Q
Map<String, Object> exchange = getRestTestHelper().find("name", exchangeName, exchanges);
assertNotNull("Exchange " + exchangeName + " is not found ", exchange);
assertNode(exchange, exchangeName);
- if (ExchangeDefaults.DIRECT_EXCHANGE_NAME.equalsIgnoreCase(exchangeName) ||
- ExchangeDefaults.DEFAULT_EXCHANGE_NAME.equalsIgnoreCase(exchangeName))
- {
- @SuppressWarnings("unchecked")
- List<Map<String, Object>> bindings = (List<Map<String, Object>>) exchange.get("bindings");
- assertNotNull(hostName + " exchange " + exchangeName + " bindings are not found ", bindings);
- for (String queueName : RestTestHelper.EXPECTED_QUEUES)
- {
- Map<String, Object> binding = getRestTestHelper().find("name", queueName, bindings);
- assertNotNull(hostName + " exchange " + exchangeName + " binding " + queueName + " is not found", binding);
- assertNode(binding, queueName);
- }
- }
}
String httpPortName = TestBrokerConfiguration.ENTRY_NAME_HTTP_PORT;
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org