summaryrefslogtreecommitdiff
path: root/qpid/java/broker/src
diff options
context:
space:
mode:
authorRobert Gemmell <robbie@apache.org>2012-07-08 15:29:04 +0000
committerRobert Gemmell <robbie@apache.org>2012-07-08 15:29:04 +0000
commit16a59fad4a73a52505cfb6ebe4ed2f6bf86f7e2c (patch)
tree56783953077bcef98f76643fc0231138834f1ac1 /qpid/java/broker/src
parent961d36e600fab24b35c6920481a55f8d022f9c85 (diff)
downloadqpid-python-16a59fad4a73a52505cfb6ebe4ed2f6bf86f7e2c.tar.gz
QPID-3923, QPID-3998: update the Adapter layer to either use UUIDGenerator itself, or use the ID directly from the entity being adapted
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1358758 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker/src')
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java42
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractAdapter.java14
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderAdapter.java3
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BindingAdapter.java5
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java2
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java6
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ConsumerAdapter.java12
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java4
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/HTTPPortAdapter.java2
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortAdapter.java2
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java2
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java2
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java2
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java3
-rw-r--r--qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java1
-rw-r--r--qpid/java/broker/src/test/java/org/apache/qpid/server/model/UUIDGeneratorTest.java188
16 files changed, 203 insertions, 87 deletions
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java
index fa59226642..36b6a454dc 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/UUIDGenerator.java
@@ -30,29 +30,51 @@ public class UUIDGenerator
return UUID.randomUUID();
}
+ private static UUID createUUID(String objectType, String... names)
+ {
+ StringBuilder sb = new StringBuilder();
+ sb.append(objectType);
+
+ for(String name : names)
+ {
+ sb.append("/").append(name);
+ }
+
+ return UUID.nameUUIDFromBytes(sb.toString().getBytes());
+ }
+
public static UUID generateExchangeUUID(String exchangeName, String virtualHostName)
{
- return generateUUID(exchangeName, virtualHostName, Exchange.class.getName());
+ return createUUID(Exchange.class.getName(), virtualHostName, exchangeName);
}
public static UUID generateQueueUUID(String queueName, String virtualHostName)
{
- return generateUUID(queueName, virtualHostName, Queue.class.getName());
+ return createUUID(Queue.class.getName(), virtualHostName, queueName);
}
- private static UUID generateUUID(String objectName, String virtualHostName, String objectType)
+ public static UUID generateBindingUUID(String exchangeName, String queueName, String bindingKey, String virtualHostName)
{
- StringBuilder sb = new StringBuilder();
- sb.append(virtualHostName).append(objectName).append(objectType);
+ return createUUID(Binding.class.getName(), virtualHostName, exchangeName, queueName, bindingKey);
+ }
- return UUID.nameUUIDFromBytes(sb.toString().getBytes());
+ public static UUID generateUserUUID(String authenticationProviderName, String userName)
+ {
+ return createUUID(User.class.getName(), authenticationProviderName, userName);
}
- public static UUID generateBindingUUID(String exchangeName, String queueName, String bindingKey, String virtualHostName)
+ public static UUID generateVhostUUID(String virtualHostName)
{
- StringBuilder sb = new StringBuilder();
- sb.append(exchangeName).append(queueName).append(bindingKey).append(virtualHostName).append(Binding.class.getName());
+ return createUUID(VirtualHost.class.getName(), virtualHostName);
+ }
- return UUID.nameUUIDFromBytes(sb.toString().getBytes());
+ public static UUID generateVhostAliasUUID(String virtualHostName, String portName)
+ {
+ return createUUID(VirtualHostAlias.class.getName(), virtualHostName, portName);
+ }
+
+ public static UUID generateConsumerUUID(String virtualHostName, String queueName, String connectionRemoteAddress, String channelNumber, String consumerName)
+ {
+ return createUUID(Consumer.class.getName(), virtualHostName, queueName, connectionRemoteAddress, channelNumber, consumerName);
}
}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractAdapter.java
index 78880c232d..7d6aa9b2cb 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AbstractAdapter.java
@@ -41,19 +41,9 @@ abstract class AbstractAdapter implements ConfiguredObject
private final UUID _id;
- protected AbstractAdapter(String... names)
+ protected AbstractAdapter(UUID id)
{
- StringBuilder sb = new StringBuilder();
- for(String name : names)
- {
- sb.append('/').append(name);
- }
- _id = UUID.nameUUIDFromBytes(sb.toString().getBytes());
- }
-
- protected AbstractAdapter()
- {
- _id = UUID.randomUUID();
+ _id = id;
}
static String getStringAttribute(String name, Map<String,Object> attributes, String defaultVal)
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderAdapter.java
index 8a75818f04..8c2bc98ba7 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/AuthenticationProviderAdapter.java
@@ -50,6 +50,7 @@ public abstract class AuthenticationProviderAdapter<T extends AuthenticationMana
private AuthenticationProviderAdapter(BrokerAdapter brokerAdapter,
final T authManager)
{
+ super(UUIDGenerator.generateRandomUUID());
_broker = brokerAdapter;
_authManager = authManager;
}
@@ -329,7 +330,7 @@ public abstract class AuthenticationProviderAdapter<T extends AuthenticationMana
public PrincipalAdapter(Principal user)
{
- super(PrincipalDatabaseAuthenticationManagerAdapter.this.getName(), user.getName());
+ super(UUIDGenerator.generateUserUUID(PrincipalDatabaseAuthenticationManagerAdapter.this.getName(), user.getName()));
_user = user;
}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BindingAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BindingAdapter.java
index d3d04be70f..f041494781 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BindingAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BindingAdapter.java
@@ -47,10 +47,7 @@ final class BindingAdapter extends AbstractAdapter implements Binding
ExchangeAdapter exchangeAdapter,
QueueAdapter queueAdapter)
{
- super(exchangeAdapter.getExchange().getVirtualHost().getName(),
- exchangeAdapter.getName(),
- queueAdapter.getName(),
- binding.getBindingKey());
+ super(binding.getId());
_binding = binding;
_exchange = exchangeAdapter;
_queue = queueAdapter;
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
index e1b7c8fb26..e1a6b6a337 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/BrokerAdapter.java
@@ -35,6 +35,7 @@ import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Statistics;
+import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.registry.IApplicationRegistry;
import org.apache.qpid.server.security.auth.manager.AuthenticationManager;
@@ -61,6 +62,7 @@ public class BrokerAdapter extends AbstractAdapter implements Broker, VirtualHos
public BrokerAdapter(final IApplicationRegistry instance)
{
+ super(UUIDGenerator.generateRandomUUID());
_applicationRegistry = instance;
_name = "Broker";
_statistics = new StatisticsAdapter(instance);
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java
index 8114156e3a..5439f6a560 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ConnectionAdapter.java
@@ -37,16 +37,13 @@ import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.Session;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Statistics;
+import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.protocol.AMQConnectionModel;
import org.apache.qpid.server.protocol.AMQSessionModel;
import org.apache.qpid.server.stats.StatisticsGatherer;
final class ConnectionAdapter extends AbstractAdapter implements Connection
{
-
-
-
-
private AMQConnectionModel _connection;
private final Map<AMQSessionModel, SessionAdapter> _sessionAdapters =
@@ -55,6 +52,7 @@ final class ConnectionAdapter extends AbstractAdapter implements Connection
public ConnectionAdapter(final AMQConnectionModel conn)
{
+ super(UUIDGenerator.generateRandomUUID());
_connection = conn;
_statistics = new ConnectionStatisticsAdapter(conn);
}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ConsumerAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ConsumerAdapter.java
index 6fb6f4971d..031d518670 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ConsumerAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ConsumerAdapter.java
@@ -26,6 +26,7 @@ import org.apache.qpid.server.model.Consumer;
import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Statistics;
+import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.subscription.Subscription;
import java.security.AccessControlException;
@@ -40,12 +41,11 @@ public class ConsumerAdapter extends AbstractAdapter implements Consumer
public ConsumerAdapter(final QueueAdapter queueAdapter, final Subscription subscription)
{
- super(queueAdapter.getVirtualHost().getName(),
- queueAdapter.getName(),
- subscription.getSessionModel().getConnectionModel().getRemoteAddressString(),
- String.valueOf(subscription.getSessionModel().getChannelId()),
- subscription.getConsumerName() );
-
+ super(UUIDGenerator.generateConsumerUUID(queueAdapter.getVirtualHost().getName(),
+ queueAdapter.getName(),
+ subscription.getSessionModel().getConnectionModel().getRemoteAddressString(),
+ String.valueOf(subscription.getSessionModel().getChannelId()),
+ subscription.getConsumerName()));
_subscription = subscription;
_queue = queueAdapter;
_statistics = new ConsumerStatistics();
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
index 12befab0d7..c0d85845d6 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
@@ -26,7 +26,6 @@ import java.util.Collection;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;
-import java.util.UUID;
import org.apache.qpid.AMQException;
import org.apache.qpid.AMQInternalException;
@@ -39,7 +38,6 @@ import org.apache.qpid.server.model.Publisher;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Statistics;
-import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.virtualhost.VirtualHost;
@@ -56,7 +54,7 @@ final class ExchangeAdapter extends AbstractAdapter implements Exchange, org.apa
public ExchangeAdapter(final VirtualHostAdapter virtualHostAdapter,
final org.apache.qpid.server.exchange.Exchange exchange)
{
- super(virtualHostAdapter.getName(), exchange.getName());
+ super(exchange.getId());
_statistics = new ExchangeStatistics();
_vhost = virtualHostAdapter;
_exchange = exchange;
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/HTTPPortAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/HTTPPortAdapter.java
index fdcc5e0184..a20185802f 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/HTTPPortAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/HTTPPortAdapter.java
@@ -33,6 +33,7 @@ import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Statistics;
import org.apache.qpid.server.model.Transport;
+import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.model.VirtualHostAlias;
public class HTTPPortAdapter extends AbstractAdapter implements Port
@@ -41,6 +42,7 @@ public class HTTPPortAdapter extends AbstractAdapter implements Port
private int _port;
public HTTPPortAdapter(BrokerAdapter brokerAdapter, int port)
{
+ super(UUIDGenerator.generateRandomUUID());
_broker = brokerAdapter;
_port = port;
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortAdapter.java
index 0021431ee3..7653fcc9b9 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/PortAdapter.java
@@ -30,6 +30,7 @@ import org.apache.qpid.server.model.Protocol;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Statistics;
import org.apache.qpid.server.model.Transport;
+import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.VirtualHostAlias;
import org.apache.qpid.server.protocol.AmqpProtocolVersion;
@@ -51,6 +52,7 @@ public class PortAdapter extends AbstractAdapter implements Port
public PortAdapter(BrokerAdapter brokerAdapter, QpidAcceptor acceptor, InetSocketAddress address)
{
+ super(UUIDGenerator.generateRandomUUID());
_broker = brokerAdapter;
_acceptor = acceptor;
_address = address;
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java
index 5c35fe5f7b..24df5e97fa 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java
@@ -76,7 +76,7 @@ final class QueueAdapter extends AbstractAdapter implements Queue, AMQQueue.Subs
public QueueAdapter(final VirtualHostAdapter virtualHostAdapter, final AMQQueue queue)
{
- super(virtualHostAdapter.getName(), queue.getName());
+ super(queue.getId());
_vhost = virtualHostAdapter;
addParent(org.apache.qpid.server.model.VirtualHost.class, virtualHostAdapter);
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java
index 25d9c6feb1..fa0293ad18 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/SessionAdapter.java
@@ -33,6 +33,7 @@ import org.apache.qpid.server.model.Session;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Statistics;
import org.apache.qpid.server.model.Consumer;
+import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.protocol.AMQSessionModel;
final class SessionAdapter extends AbstractAdapter implements Session
@@ -45,6 +46,7 @@ final class SessionAdapter extends AbstractAdapter implements Session
public SessionAdapter(final AMQSessionModel session)
{
+ super(UUIDGenerator.generateRandomUUID());
_session = session;
_statistics = new SessionStatistics();
}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
index e2efb05205..52cf806be2 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
@@ -84,7 +84,7 @@ final class VirtualHostAdapter extends AbstractAdapter implements VirtualHost, E
VirtualHostAdapter(BrokerAdapter brokerAdapter,
final org.apache.qpid.server.virtualhost.VirtualHost virtualHost)
{
- super(virtualHost.getName());
+ super(virtualHost.getId());
_broker = brokerAdapter;
_virtualHost = virtualHost;
_statistics = new VirtualHostStatisticsAdapter(virtualHost);
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java
index 22ea2e612b..367d1ff518 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAliasAdapter.java
@@ -28,6 +28,7 @@ import org.apache.qpid.server.model.LifetimePolicy;
import org.apache.qpid.server.model.Port;
import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Statistics;
+import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.model.VirtualHost;
import org.apache.qpid.server.model.VirtualHostAlias;
@@ -42,7 +43,7 @@ public class VirtualHostAliasAdapter extends AbstractAdapter implements Virtual
public VirtualHostAliasAdapter(VirtualHostAdapter virtualHostAdapter, Port port)
{
- super(virtualHostAdapter.getName(), port.getName());
+ super(UUIDGenerator.generateVhostAliasUUID(virtualHostAdapter.getName(), port.getName()));
_vhost = virtualHostAdapter;
_port = port;
}
diff --git a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java
index 2d0e61ec2e..e07464c52c 100644
--- a/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java
+++ b/qpid/java/broker/src/main/java/org/apache/qpid/server/transport/ServerConnection.java
@@ -27,7 +27,6 @@ import java.util.List;
import java.util.UUID;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.atomic.AtomicLong;
-import javax.management.JMException;
import javax.security.auth.Subject;
import org.apache.qpid.AMQException;
import org.apache.qpid.protocol.AMQConstant;
diff --git a/qpid/java/broker/src/test/java/org/apache/qpid/server/model/UUIDGeneratorTest.java b/qpid/java/broker/src/test/java/org/apache/qpid/server/model/UUIDGeneratorTest.java
index e99ac1f063..643132d371 100644
--- a/qpid/java/broker/src/test/java/org/apache/qpid/server/model/UUIDGeneratorTest.java
+++ b/qpid/java/broker/src/test/java/org/apache/qpid/server/model/UUIDGeneratorTest.java
@@ -20,6 +20,8 @@
*/
package org.apache.qpid.server.model;
+import java.util.HashSet;
+import java.util.Set;
import java.util.UUID;
import org.apache.qpid.test.utils.QpidTestCase;
@@ -28,84 +30,184 @@ public class UUIDGeneratorTest extends QpidTestCase
{
private static final String VIRTUAL_HOST_NAME_1 = "virtualHost1";
private static final String VIRTUAL_HOST_NAME_2 = "virtualHost2";
+ private static final String VHOST_ALIAS_1 = "alias1";
+ private static final String VHOST_ALIAS_2 = "alias2";
private static final String QUEUE_NAME_1 = "queue1";
private static final String QUEUE_NAME_2 = "queue2";
private static final String EXCHANGE_NAME_1 = "exchange1";
private static final String EXCHANGE_NAME_2 = "exchange2";
private static final String BINDING_KEY_1 = "bindingKey1";
private static final String BINDING_KEY_2 = "bindingKey2";
+ private static final String PORT_1 = "port1";
+ private static final String PORT_2 = "port2";
+ private static final String CONN_REMOTE_ADDR_1 = "localhost:1234";
+ private static final String CONN_REMOTE_ADDR_2 = "localhost:5678";
+ private static final String CHANNEL_NUMBER_1 = "1";
+ private static final String CHANNEL_NUMBER_2 = "2";
+ private static final String CONSUMER_NAME_1 = "consumer1";
+ private static final String CONSUMER_NAME_2 = "consumer2";
+ private static final String PROVIDER_1 = "provider1";
+ private static final String PROVIDER_2 = "provider2";
+ private static final String USER_1 = "user1";
+ private static final String USER_2 = "user2";
public void testDifferentObjectTypeReturnDifferentIdFromSameValues() throws Exception
{
- UUID id1 = UUIDGenerator.generateQueueUUID("name", "vhost");
- UUID id2 = UUIDGenerator.generateExchangeUUID("name", "vhost");
- UUID id3 = UUIDGenerator.generateBindingUUID("name", "name", "name", "vhost");
+ String value = "name";
+ Set<UUID> idSet = new HashSet<UUID>();
- assertFalse("IDs should not be equal", id1.equals(id2));
- assertFalse("IDs should not be equal", id2.equals(id3));
- assertFalse("IDs should not be equal", id1.equals(id3));
- }
+ UUID id1 = UUIDGenerator.generateQueueUUID(value, value);
+ idSet.add(id1);
+ UUID id2 = UUIDGenerator.generateExchangeUUID(value, value);
+ idSet.add(id2);
+ UUID id3 = UUIDGenerator.generateBindingUUID(value, value, value, value);
+ idSet.add(id3);
+ UUID id4 = UUIDGenerator.generateConsumerUUID(value, value, value, value, value);
+ idSet.add(id4);
+ UUID id5 = UUIDGenerator.generateUserUUID(value, value);
+ idSet.add(id5);
+ UUID id6 = UUIDGenerator.generateVhostUUID(value);
+ idSet.add(id6);
+ UUID id7 = UUIDGenerator.generateVhostAliasUUID(value, value);
+ idSet.add(id7);
- public void testRepeatedQueueIdGenerationIsDeterministic() throws Exception
- {
- UUID queueIdIteration1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID queueIdIteration2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
- assertEquals("Queue IDs should be equal", queueIdIteration1, queueIdIteration2);
+ assertEquals("The produced UUIDs were not all unique", 7, idSet.size());
}
- public void testRepeatedExchangeIdGenerationIsDeterministic() throws Exception
+ public void testQueueIdGeneration() throws Exception
{
- UUID exchangeIdIteration1 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID exchangeIdIteration2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
- assertEquals("Exchange IDs should be equal", exchangeIdIteration1, exchangeIdIteration2);
- }
+ //check repeated generation is deterministic
+ UUID queue1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
+ UUID queue2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
+ assertEquals("Queue IDs should be equal", queue1, queue2);
- public void testRepeatedBindingIdGenerationIsDeterministic() throws Exception
- {
- UUID bindingIdIteration1 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
- UUID bindingIdIteration2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
- assertEquals("Binding IDs should be equal", bindingIdIteration1, bindingIdIteration2);
- }
+ //check different name gives different ID
+ queue1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
+ queue2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_2, VIRTUAL_HOST_NAME_1);
+ assertFalse("Queue IDs should not be equal", queue1.equals(queue2));
- public void testDifferentQueueNameGivesDifferentQueueId() throws Exception
- {
- UUID queue1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID queue2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_2, VIRTUAL_HOST_NAME_1);
+ //check different vhost name gives different ID
+ queue1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
+ queue2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_2);
assertFalse("Queue IDs should not be equal", queue1.equals(queue2));
}
- public void testDifferentExchangeNameGivesDifferentExchangeId() throws Exception
+ public void testExchangeIdGeneration() throws Exception
{
+ //check repeated generation is deterministic
UUID exchange1 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID exchange2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_2, VIRTUAL_HOST_NAME_1);
+ UUID exchange2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
+ assertEquals("Exchange IDs should be equal", exchange1, exchange2);
+
+ //check different name gives different ID
+ exchange1 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
+ exchange2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_2, VIRTUAL_HOST_NAME_1);
+ assertFalse("Exchange IDs should not be equal", exchange1.equals(exchange2));
+
+ //check different vhost name gives different ID
+ exchange1 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
+ exchange2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_2);
assertFalse("Exchange IDs should not be equal", exchange1.equals(exchange2));
}
- public void testDifferentBindingNameGivesDifferentBindingId() throws Exception
+ public void testBindingIdGeneration() throws Exception
{
+ //check repeated generation is deterministic
UUID binding1 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
- UUID binding2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_2, VIRTUAL_HOST_NAME_1);
+ UUID binding2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
+ assertEquals("Binding IDs should be equal", binding1, binding2);
+
+ //check different name gives different ID
+ binding1 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
+ binding2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_2, VIRTUAL_HOST_NAME_1);
+ assertFalse("Binding IDs should not be equal", binding1.equals(binding2));
+
+ //check different vhost name gives different ID
+ binding1 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
+ binding2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_2);
assertFalse("Binding IDs should not be equal", binding1.equals(binding2));
}
- public void testDifferentVirtualHostNameGivesDifferentQueueId() throws Exception
+ public void testVhostIdGeneration() throws Exception
{
- UUID queue1 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID queue2 = UUIDGenerator.generateQueueUUID(QUEUE_NAME_1, VIRTUAL_HOST_NAME_2);
- assertFalse("Queue IDs should not be equal", queue1.equals(queue2));
+ //check repeated generation is deterministic
+ UUID vhost1 = UUIDGenerator.generateVhostUUID(VIRTUAL_HOST_NAME_1);
+ UUID vhost2 = UUIDGenerator.generateVhostUUID(VIRTUAL_HOST_NAME_1);
+ assertTrue("Virtualhost IDs should be equal", vhost1.equals(vhost2));
+
+ //check different vhost name gives different ID
+ vhost1 = UUIDGenerator.generateVhostUUID(VIRTUAL_HOST_NAME_1);
+ vhost2 = UUIDGenerator.generateVhostUUID(VIRTUAL_HOST_NAME_2);
+ assertFalse("Virtualhost IDs should not be equal", vhost1.equals(vhost2));
}
- public void testDifferentVirtualHostNameGivesDifferentExchangeId() throws Exception
+ public void testVhostAliasIdGeneration() throws Exception
{
- UUID exchange1 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_1);
- UUID exchange2 = UUIDGenerator.generateExchangeUUID(EXCHANGE_NAME_1, VIRTUAL_HOST_NAME_2);
- assertFalse("Exchange IDs should not be equal", exchange1.equals(exchange2));
+ //check repeated generation is deterministic
+ UUID alias1 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_1, PORT_1);
+ UUID alias2 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_1, PORT_1);
+ assertTrue("Virtualhost Alias IDs should be equal", alias1.equals(alias2));
+
+ //check different port name gives different ID
+ alias1 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_1, PORT_1);
+ alias2 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_2, PORT_1);
+ assertFalse("Virtualhost Alias IDs should not be equal", alias1.equals(alias2));
+
+ //check different alias name gives different ID
+ alias1 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_1, PORT_1);
+ alias2 = UUIDGenerator.generateVhostAliasUUID(VHOST_ALIAS_1, PORT_2);
+ assertFalse("Virtualhost Alias IDs should not be equal", alias1.equals(alias2));
}
- public void testDifferentVirtualHostNameGivesDifferentBindingId() throws Exception
+ public void testConsumerIdGeneration() throws Exception
{
- UUID binding1 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_1);
- UUID binding2 = UUIDGenerator.generateBindingUUID(EXCHANGE_NAME_1, QUEUE_NAME_1, BINDING_KEY_1, VIRTUAL_HOST_NAME_2);
- assertFalse("Binding IDs should not be equal", binding1.equals(binding2));
+ //check repeated generation is deterministic
+ UUID consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ UUID consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ assertTrue("Consumer IDs should be equal", consumer1.equals(consumer2));
+
+ //check different name gives different ID
+ consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_2);
+ assertFalse("Consumer IDs should not be equal", consumer1.equals(consumer2));
+
+ //check different vhost name gives different ID
+ consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_2, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ assertFalse("Consumer IDs should not be equal", consumer1.equals(consumer2));
+
+ //check different consumer name gives different ID
+ consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_2, CONSUMER_NAME_1);
+ assertFalse("Consumer IDs should not be equal", consumer1.equals(consumer2));
+
+ //check different address name gives different ID
+ consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_2, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ assertFalse("Consumer IDs should not be equal", consumer1.equals(consumer2));
+
+ //check different queue name gives different ID
+ consumer1 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_1, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ consumer2 = UUIDGenerator.generateConsumerUUID(VIRTUAL_HOST_NAME_1, QUEUE_NAME_2, CONN_REMOTE_ADDR_1, CHANNEL_NUMBER_1, CONSUMER_NAME_1);
+ assertFalse("Consumer IDs should not be equal", consumer1.equals(consumer2));
+ }
+
+ public void testUserIdGeneration() throws Exception
+ {
+ //check repeated generation is deterministic
+ UUID user1 = UUIDGenerator.generateUserUUID(PROVIDER_1, USER_1);
+ UUID user2 = UUIDGenerator.generateUserUUID(PROVIDER_1, USER_1);
+ assertTrue("User IDs should be equal", user1.equals(user2));
+
+ //check different name gives different ID
+ user1 = UUIDGenerator.generateUserUUID(PROVIDER_1, USER_1);
+ user2 = UUIDGenerator.generateUserUUID(PROVIDER_1, USER_2);
+ assertFalse("User IDs should not be equal", user1.equals(user2));
+
+ //check different provider gives different ID
+ user1 = UUIDGenerator.generateUserUUID(PROVIDER_1, USER_1);
+ user2 = UUIDGenerator.generateUserUUID(PROVIDER_2, USER_1);
+ assertFalse("User IDs should not be equal", user1.equals(user2));
}
+
}