diff options
| author | Robert Gemmell <robbie@apache.org> | 2012-07-08 15:29:04 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2012-07-08 15:29:04 +0000 |
| commit | 16a59fad4a73a52505cfb6ebe4ed2f6bf86f7e2c (patch) | |
| tree | 56783953077bcef98f76643fc0231138834f1ac1 /qpid/java/broker/src/main | |
| parent | 961d36e600fab24b35c6920481a55f8d022f9c85 (diff) | |
| download | qpid-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/main')
15 files changed, 58 insertions, 44 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; |
