summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRobert Godfrey <rgodfrey@apache.org>2013-08-21 02:00:50 +0000
committerRobert Godfrey <rgodfrey@apache.org>2013-08-21 02:00:50 +0000
commit8678750648ed61a0ed9b1f0a5e7ae37fd6cd96ac (patch)
treefbe56c804b3d4c02250d9b58bde8b57f083a1c9d
parentbc33c0d9e43996153bd50823a436c3694460aa4e (diff)
downloadqpid-python-8678750648ed61a0ed9b1f0a5e7ae37fd6cd96ac.tar.gz
QPID-5088 : [Java Broker] Isolate use of AMQShortString and FieldTable to 0-8/9/9-1 protocol specific plugins
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk/qpid@1516058 13f79535-47bb-0310-9956-ffa450edef68
-rw-r--r--java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom4To5.java8
-rw-r--r--java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom5To6.java16
-rw-r--r--java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/RuleSetTest.java10
-rwxr-xr-xjava/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageMetaData_0_10.java5
-rw-r--r--java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageTransferMessage.java5
-rw-r--r--java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java21
-rw-r--r--java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/Subscription_0_10.java4
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java6
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/IncomingMessage.java5
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/SubscriptionImpl.java2
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicConsumeMethodHandler.java8
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicPublishMethodHandler.java2
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ExchangeBoundHandler.java5
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ExchangeDeclareHandler.java8
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueBindHandler.java15
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java10
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeleteHandler.java2
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueUnbindHandler.java4
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AcknowledgeTest.java2
-rw-r--r--java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/QueueBrowserUsesNoAckTest.java2
-rw-r--r--java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java5
-rw-r--r--java/broker-plugins/amqp-msg-conv-0-8-to-0-10/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v0_10/MessageConverter_0_10_to_0_8.java4
-rw-r--r--java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java9
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/Broker.java31
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java2
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java41
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchange.java35
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java27
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java8
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java3
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchangeType.java9
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java28
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeInitialiser.java3
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchangeType.java9
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/FilterSupport.java48
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java11
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchangeType.java9
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java30
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchangeType.java9
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicMatcherDFAState.java18
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicNormalizer.java49
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicParser.java19
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicWord.java12
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicWordDictionary.java19
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java24
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/subjects/BindingLogSubject.java6
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ExchangeLogSubject.java2
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/message/InboundMessage.java2
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java7
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java2
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java6
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/plugin/ExchangeType.java7
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java2
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java21
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/BaseQueue.java2
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java14
-rwxr-xr-xjava/broker/src/main/java/org/apache/qpid/server/queue/InboundMessageAdapter.java6
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/NotificationCheck.java20
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java30
-rwxr-xr-xjava/broker/src/main/java/org/apache/qpid/server/security/SecurityManager.java9
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/security/access/ObjectProperties.java28
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/amqplain/AmqPlainSaslServer.java8
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java6
-rwxr-xr-xjava/broker/src/main/java/org/apache/qpid/server/txn/AsyncAutoCommitTransaction.java20
-rwxr-xr-xjava/broker/src/main/java/org/apache/qpid/server/txn/AutoCommitTransaction.java18
-rwxr-xr-xjava/broker/src/main/java/org/apache/qpid/server/txn/LocalTransaction.java18
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java11
-rw-r--r--java/broker/src/main/java/org/apache/qpid/server/virtualhost/BindingRecoverer.java2
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/exchange/DefaultExchangeFactoryTest.java22
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java24
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java6
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java1
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java10
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java13
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java6
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java9
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/queue/InboundMessageAdapterTest.java8
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java13
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java60
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java23
-rw-r--r--java/broker/src/test/java/org/apache/qpid/server/subscription/MockSubscription.java4
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQConnection.java8
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQDestination.java166
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQHeadersExchange.java2
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQQueue.java8
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java2
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/AMQTopic.java10
-rw-r--r--java/client/src/main/java/org/apache/qpid/client/message/AbstractAMQMessageDelegate.java56
-rw-r--r--java/client/src/main/java/org/apache/qpid/jndi/PropertiesFileInitialContextFactory.java8
-rw-r--r--java/client/src/test/java/org/apache/qpid/test/unit/client/destinationurl/DestinationURLTest.java2
-rw-r--r--java/common/src/main/java/org/apache/qpid/AMQChannelException.java8
-rw-r--r--java/common/src/main/java/org/apache/qpid/AMQConnectionException.java3
-rw-r--r--java/common/src/main/java/org/apache/qpid/AMQException.java22
-rw-r--r--java/common/src/main/java/org/apache/qpid/exchange/ExchangeDefaults.java21
-rw-r--r--java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java120
-rw-r--r--java/common/src/main/java/org/apache/qpid/framing/amqp_8_0/MethodConverter_8_0.java6
-rw-r--r--java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java16
-rw-r--r--java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java4
-rw-r--r--java/common/src/test/java/org/apache/qpid/AMQExceptionTest.java2
-rw-r--r--java/systests/src/main/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java1
-rw-r--r--java/systests/src/main/java/org/apache/qpid/server/store/MessageStoreTest.java76
-rw-r--r--java/systests/src/main/java/org/apache/qpid/systest/management/jmx/ExchangeManagementTest.java8
-rw-r--r--java/systests/src/main/java/org/apache/qpid/systest/rest/StructureRestTest.java4
-rw-r--r--java/systests/src/main/java/org/apache/qpid/test/unit/basic/MultipleConnectionTest.java3
-rw-r--r--java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java8
-rwxr-xr-xjava/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java3
106 files changed, 606 insertions, 1009 deletions
diff --git a/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom4To5.java b/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom4To5.java
index 69fc06f2d0..4c9eae6f3e 100644
--- a/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom4To5.java
+++ b/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom4To5.java
@@ -148,7 +148,7 @@ public class UpgradeFrom4To5 extends AbstractStoreUpgrade
// if the queue name is in the gathered list then inspect its binding arguments
// only topic exchange should have a JMS selector key in binding
if (potentialDurableSubs.contains(queueName)
- && exchangeName.equals(ExchangeDefaults.TOPIC_EXCHANGE_NAME))
+ && exchangeName.equals(AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_NAME)))
{
if (arguments == null)
{
@@ -342,11 +342,11 @@ public class UpgradeFrom4To5 extends AbstractStoreUpgrade
FieldTable emptyArguments = new FieldTable();
addBindingToDatabase(bindingTuple, newBindingsDatabase, transaction, queueNameAMQ,
- ExchangeDefaults.DIRECT_EXCHANGE_NAME, queueNameAMQ, emptyArguments);
+ AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_NAME), queueNameAMQ, emptyArguments);
// TODO QPID-3490 we should not persist a default exchange binding
addBindingToDatabase(bindingTuple, newBindingsDatabase, transaction, queueNameAMQ,
- ExchangeDefaults.DEFAULT_EXCHANGE_NAME, queueNameAMQ, emptyArguments);
+ AMQShortString.valueOf(ExchangeDefaults.DEFAULT_EXCHANGE_NAME), queueNameAMQ, emptyArguments);
}
};
new DatabaseTemplate(environment, NEW_QUEUE_DB_NAME, NEW_BINDINGS_DB_NAME, transaction).run(queueCreateOperation);
@@ -364,7 +364,7 @@ public class UpgradeFrom4To5 extends AbstractStoreUpgrade
DatabaseEntry key, DatabaseEntry value)
{
ExchangeRecord record = binding.entryToObject(value);
- if (ExchangeDefaults.TOPIC_EXCHANGE_CLASS.equals(record.getType()))
+ if (AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS).equals(record.getType()))
{
topicExchanges.add(record.getName());
}
diff --git a/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom5To6.java b/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom5To6.java
index 5d84dc2c91..a478872ad0 100644
--- a/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom5To6.java
+++ b/java/bdbstore/src/main/java/org/apache/qpid/server/store/berkeleydb/upgrade/UpgradeFrom5To6.java
@@ -87,11 +87,14 @@ public class UpgradeFrom5To6 extends AbstractStoreUpgrade
static final String OLD_BRIDGES_DB_NAME = "bridges_v5";
static final String OLD_LINKS_DB_NAME = "links_v5";
- static final String[] DEFAULT_EXCHANGES = { ExchangeDefaults.DEFAULT_EXCHANGE_NAME.asString(),
- ExchangeDefaults.DEFAULT_EXCHANGE_NAME.asString(), ExchangeDefaults.FANOUT_EXCHANGE_NAME.asString(),
- ExchangeDefaults.HEADERS_EXCHANGE_NAME.asString(), ExchangeDefaults.TOPIC_EXCHANGE_NAME.asString(),
- ExchangeDefaults.DIRECT_EXCHANGE_NAME.asString() };
- private static final Set<String> DEFAULT_EXCHANGES_SET = new HashSet<String>(Arrays.asList(DEFAULT_EXCHANGES));
+ private static final Set<String> DEFAULT_EXCHANGES_SET =
+ new HashSet<String>(Arrays.asList(
+ ExchangeDefaults.DEFAULT_EXCHANGE_NAME,
+ ExchangeDefaults.FANOUT_EXCHANGE_NAME,
+ ExchangeDefaults.HEADERS_EXCHANGE_NAME,
+ ExchangeDefaults.TOPIC_EXCHANGE_NAME,
+ ExchangeDefaults.DIRECT_EXCHANGE_NAME));
+
private static final String ARGUMENTS = "arguments";
private MapJsonSerializer _serializer = new MapJsonSerializer();
@@ -454,8 +457,7 @@ public class UpgradeFrom5To6 extends AbstractStoreUpgrade
{
// TODO: check and remove orphaned bindings
BindingRecord bindingRecord = binding.entryToObject(key);
- String exchangeName = bindingRecord.getExchangeName() == null ? ExchangeDefaults.DEFAULT_EXCHANGE_NAME
- .asString() : bindingRecord.getExchangeName().asString();
+ String exchangeName = bindingRecord.getExchangeName() == null ? ExchangeDefaults.DEFAULT_EXCHANGE_NAME : bindingRecord.getExchangeName().asString();
String queueName = bindingRecord.getQueueName().asString();
String routingKey = bindingRecord.getRoutingKey().asString();
FieldTable arguments = bindingRecord.getArguments();
diff --git a/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/RuleSetTest.java b/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/RuleSetTest.java
index 181d693614..cc93c540df 100644
--- a/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/RuleSetTest.java
+++ b/java/broker-plugins/access-control/src/test/java/org/apache/qpid/server/security/access/plugins/RuleSetTest.java
@@ -42,7 +42,7 @@ import org.apache.qpid.test.utils.QpidTestCase;
* The ruleset is configured directly rather than using an external file by adding rules individually, calling the
* {@link RuleSet#grant(Integer, String, Permission, Operation, ObjectType, ObjectProperties)} method. Then, the
* access control mechanism is validated by checking whether operations would be authorised by calling the
- * {@link RuleSet#check(Principal, Operation, ObjectType, ObjectProperties)} method.
+ * {@link RuleSet#check(Subject, Operation, ObjectType, ObjectProperties)} method.
*
* It ensure that permissions can be granted correctly on users directly and on groups.
*/
@@ -53,9 +53,9 @@ public class RuleSetTest extends QpidTestCase
private static final String TEST_USER = "user";
// Common things that are passed to frame constructors
- private AMQShortString _queueName = new AMQShortString(this.getClass().getName() + "queue");
- private AMQShortString _exchangeName = new AMQShortString("amq.direct");
- private AMQShortString _exchangeType = new AMQShortString("direct");
+ private String _queueName = this.getClass().getName() + "queue";
+ private String _exchangeName = "amq.direct";
+ private String _exchangeType = "direct";
private Subject _testSubject = TestPrincipalUtils.createTestSubject(TEST_USER);
@Override
@@ -116,7 +116,7 @@ public class RuleSetTest extends QpidTestCase
public void testExchangeCreate()
{
ObjectProperties properties = new ObjectProperties(_exchangeName);
- properties.put(ObjectProperties.Property.TYPE, _exchangeType.asString());
+ properties.put(ObjectProperties.Property.TYPE, _exchangeType);
assertDenyGrantAllow(_testSubject, Operation.CREATE, ObjectType.EXCHANGE, properties);
}
diff --git a/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageMetaData_0_10.java b/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageMetaData_0_10.java
index ee2a40a5b2..092ea7c3c9 100755
--- a/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageMetaData_0_10.java
+++ b/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageMetaData_0_10.java
@@ -182,11 +182,6 @@ public class MessageMetaData_0_10 implements StorableMessageMetaData, InboundMes
return _deliveryProps == null ? null : _deliveryProps.getRoutingKey();
}
- public AMQShortString getRoutingKeyShortString()
- {
- return AMQShortString.valueOf(getRoutingKey());
- }
-
public AMQMessageHeader getMessageHeader()
{
return _messageHeader;
diff --git a/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageTransferMessage.java b/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageTransferMessage.java
index 4e8bfcb652..e5914d1d4e 100644
--- a/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageTransferMessage.java
+++ b/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/MessageTransferMessage.java
@@ -52,11 +52,6 @@ public class MessageTransferMessage extends AbstractServerMessageImpl<MessageMet
return getMetaData().getRoutingKey();
}
- public AMQShortString getRoutingKeyShortString()
- {
- return AMQShortString.valueOf(getRoutingKey());
- }
-
public AMQMessageHeader getMessageHeader()
{
return getMetaData().getMessageHeader();
diff --git a/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java b/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java
index 60211823f8..46626e3e92 100644
--- a/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java
+++ b/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/ServerSessionDelegate.java
@@ -37,12 +37,9 @@ import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.plugin.ExchangeType;
import org.apache.qpid.server.queue.AMQQueue;
-import org.apache.qpid.server.queue.AMQQueueFactory;
import org.apache.qpid.server.queue.BaseQueue;
import org.apache.qpid.server.queue.QueueArgumentsConverter;
-import org.apache.qpid.server.queue.QueueRegistry;
import org.apache.qpid.server.security.SecurityManager;
-import org.apache.qpid.server.store.DurableConfigurationStoreHelper;
import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.store.StoreFuture;
@@ -701,11 +698,11 @@ public class ServerSessionDelegate extends SessionDelegate
}
else
{
- if (!exchange.getTypeShortString().toString().equals(method.getType())
+ if (!exchange.getTypeName().equals(method.getType())
&& (method.getType() != null && method.getType().length() > 0))
{
exception(session, method, ExecutionErrorCode.NOT_ALLOWED, "Attempt to redeclare exchange: "
- + exchangeName + " of type " + exchange.getTypeShortString() + " to " + method.getType() + ".");
+ + exchangeName + " of type " + exchange.getTypeName() + " to " + method.getType() + ".");
}
}
}
@@ -738,11 +735,11 @@ public class ServerSessionDelegate extends SessionDelegate
catch(ExchangeExistsException e)
{
Exchange exchange = e.getExistingExchange();
- if(!exchange.getTypeShortString().toString().equals(method.getType()))
+ if(!exchange.getTypeName().equals(method.getType()))
{
exception(session, method, ExecutionErrorCode.NOT_ALLOWED,
"Attempt to redeclare exchange: " + exchangeName
- + " of type " + exchange.getTypeShortString()
+ + " of type " + exchange.getTypeName()
+ " to " + method.getType() +".");
}
else if(method.hasAlternateExchange()
@@ -891,7 +888,7 @@ public class ServerSessionDelegate extends SessionDelegate
{
for(ExchangeType type : registeredTypes)
{
- if(type.getDefaultExchangeName().toString().equals( exchange.getName() ))
+ if(type.getDefaultExchangeName().equals( exchange.getName() ))
{
return true;
}
@@ -910,7 +907,7 @@ public class ServerSessionDelegate extends SessionDelegate
if(exchange != null)
{
result.setDurable(exchange.isDurable());
- result.setType(exchange.getTypeShortString().toString());
+ result.setType(exchange.getTypeName());
result.setNotFound(false);
}
else
@@ -953,9 +950,9 @@ public class ServerSessionDelegate extends SessionDelegate
{
exception(session, method, ExecutionErrorCode.NOT_FOUND, "Exchange: '" + method.getExchange() + "' not found");
}
- else if(exchange.getTypeShortString().equals(HeadersExchange.TYPE.getName()) && (!method.hasArguments() || method.getArguments() == null || !method.getArguments().containsKey("x-match")))
+ else if(exchange.getType().equals(HeadersExchange.TYPE) && (!method.hasArguments() || method.getArguments() == null || !method.getArguments().containsKey("x-match")))
{
- exception(session, method, ExecutionErrorCode.INTERNAL_ERROR, "Bindings to an exchange of type " + HeadersExchange.TYPE.getName() + " require an x-match header");
+ exception(session, method, ExecutionErrorCode.INTERNAL_ERROR, "Bindings to an exchange of type " + HeadersExchange.TYPE.getType() + " require an x-match header");
}
else
{
@@ -1422,7 +1419,7 @@ public class ServerSessionDelegate extends SessionDelegate
if(queue != null)
{
- result.setQueue(queue.getNameShortString().toString());
+ result.setQueue(queue.getName());
result.setDurable(queue.isDurable());
result.setExclusive(queue.isExclusive());
result.setAutoDelete(queue.isAutoDelete());
diff --git a/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/Subscription_0_10.java b/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/Subscription_0_10.java
index 63582702cb..77b63906cc 100644
--- a/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/Subscription_0_10.java
+++ b/java/broker-plugins/amqp-0-10-protocol/src/main/java/org/apache/qpid/server/protocol/v0_10/Subscription_0_10.java
@@ -600,7 +600,7 @@ public class Subscription_0_10 implements Subscription, FlowCreditManager.FlowCr
//output operational logging for each delivery post commit
for (final BaseQueue destinationQueue : destinationQueues)
{
- logActor.message( ChannelMessages.DEADLETTERMSG(msg.getMessageNumber(), destinationQueue.getNameShortString().asString()));
+ logActor.message( ChannelMessages.DEADLETTERMSG(msg.getMessageNumber(), destinationQueue.getName()));
}
}
}
@@ -875,7 +875,7 @@ public class Subscription_0_10 implements Subscription, FlowCreditManager.FlowCr
public String toLogString()
{
String queueInfo = MessageFormat.format(QUEUE_FORMAT, _queue.getVirtualHost().getName(),
- _queue.getNameShortString());
+ _queue.getName());
String result = "[" + MessageFormat.format(SUBSCRIPTION_FORMAT, getSubscriptionID()) + "("
// queueString is "vh(/{0})/qu({1}) " so need to trim
+ queueInfo.substring(0, queueInfo.length() - 1) + ")" + "] ";
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java
index 6867ee7bb5..a603807f87 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/AMQChannel.java
@@ -1396,7 +1396,7 @@ public class AMQChannel implements AMQSessionModel, AsyncAutoCommitTransaction.F
_message,
_channelId,
_errorCode.getCode(),
- AMQShortString.valueOf(_description, true, true));
+ AMQShortString.validValueOf(_description));
}
catch (AMQException e)
{
@@ -1449,7 +1449,7 @@ public class AMQChannel implements AMQSessionModel, AsyncAutoCommitTransaction.F
if(_blocking.compareAndSet(false,true))
{
- _actor.message(_logSubject, ChannelMessages.FLOW_ENFORCED(queue.getNameShortString().toString()));
+ _actor.message(_logSubject, ChannelMessages.FLOW_ENFORCED(queue.getName()));
flow(false);
}
}
@@ -1568,7 +1568,7 @@ public class AMQChannel implements AMQSessionModel, AsyncAutoCommitTransaction.F
//output operational logging for each delivery post commit
for (final BaseQueue destinationQueue : destinationQueues)
{
- _actor.message(_logSubject, ChannelMessages.DEADLETTERMSG(msg.getMessageNumber(), destinationQueue.getNameShortString().asString()));
+ _actor.message(_logSubject, ChannelMessages.DEADLETTERMSG(msg.getMessageNumber(), destinationQueue.getName()));
}
}
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/IncomingMessage.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/IncomingMessage.java
index 90c764daac..5267651a66 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/IncomingMessage.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/IncomingMessage.java
@@ -129,11 +129,6 @@ public class IncomingMessage implements Filterable, InboundMessage, EnqueableMes
return _messagePublishInfo.getExchange();
}
- public AMQShortString getRoutingKeyShortString()
- {
- return _messagePublishInfo.getRoutingKey();
- }
-
public String getRoutingKey()
{
return _messagePublishInfo.getRoutingKey() == null ? null : _messagePublishInfo.getRoutingKey().toString();
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/SubscriptionImpl.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/SubscriptionImpl.java
index 5803135b16..d1d86fe478 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/SubscriptionImpl.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/SubscriptionImpl.java
@@ -349,7 +349,7 @@ public abstract class SubscriptionImpl implements Subscription, FlowCreditManage
_noLocal = noLocal;
- _filters = FilterManagerFactory.createManager(arguments);
+ _filters = FilterManagerFactory.createManager(FieldTable.convertToMap(arguments));
_deliveryMethod = deliveryMethod;
_recordMethod = recordMethod;
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicConsumeMethodHandler.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicConsumeMethodHandler.java
index 4e620327c9..836de44f4e 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicConsumeMethodHandler.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicConsumeMethodHandler.java
@@ -102,13 +102,13 @@ public class BasicConsumeMethodHandler implements StateAwareMethodListener<Basic
if (session == null || session.getConnectionModel() != protocolConnection)
{
throw body.getConnectionException(AMQConstant.NOT_ALLOWED,
- "Queue " + queue.getNameShortString() + " is exclusive, but not created on this Connection.");
+ "Queue " + queue.getName() + " is exclusive, but not created on this Connection.");
}
}
if (body.getConsumerTag() != null)
{
- consumerTagName = body.getConsumerTag().intern();
+ consumerTagName = body.getConsumerTag().intern(false);
}
else
{
@@ -160,14 +160,14 @@ public class BasicConsumeMethodHandler implements StateAwareMethodListener<Basic
{
throw body.getChannelException(AMQConstant.ACCESS_REFUSED,
"Cannot subscribe to queue "
- + queue.getNameShortString()
+ + queue.getName()
+ " as it already has an existing exclusive consumer");
}
catch (AMQQueue.ExistingSubscriptionPreventsExclusive e)
{
throw body.getChannelException(AMQConstant.ACCESS_REFUSED,
"Cannot subscribe to queue "
- + queue.getNameShortString()
+ + queue.getName()
+ " exclusively as it already has a consumer");
}
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicPublishMethodHandler.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicPublishMethodHandler.java
index 96936dc429..497e97db3e 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicPublishMethodHandler.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/BasicPublishMethodHandler.java
@@ -63,7 +63,7 @@ public class BasicPublishMethodHandler implements StateAwareMethodListener<Basic
// TODO: check the delivery tag field details - is it unique across the broker or per subscriber?
if (exchangeName == null)
{
- exchangeName = ExchangeDefaults.DEFAULT_EXCHANGE_NAME;
+ exchangeName = AMQShortString.valueOf(ExchangeDefaults.DEFAULT_EXCHANGE_NAME);
}
VirtualHost vHost = session.getVirtualHost();
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ExchangeBoundHandler.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ExchangeBoundHandler.java
index ba5692fc6c..0535236f94 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ExchangeBoundHandler.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ExchangeBoundHandler.java
@@ -149,7 +149,8 @@ public class ExchangeBoundHandler implements StateAwareMethodListener<ExchangeBo
}
else
{
- if (exchange.isBound(body.getRoutingKey(), queue))
+ String bindingKey = body.getRoutingKey() == null ? null : body.getRoutingKey().asString();
+ if (exchange.isBound(bindingKey, queue))
{
response = methodRegistry.createExchangeBoundOkBody(OK, // replyCode
@@ -172,7 +173,7 @@ public class ExchangeBoundHandler implements StateAwareMethodListener<ExchangeBo
}
else
{
- if (exchange.isBound(body.getRoutingKey()))
+ if (exchange.isBound(body.getRoutingKey() == null ? "" : body.getRoutingKey().asString()))
{
response = methodRegistry.createExchangeBoundOkBody(OK, // replyCode
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ExchangeDeclareHandler.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ExchangeDeclareHandler.java
index 4949fcd62b..154c38a4bf 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ExchangeDeclareHandler.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/ExchangeDeclareHandler.java
@@ -79,11 +79,11 @@ public class ExchangeDeclareHandler implements StateAwareMethodListener<Exchange
{
throw body.getChannelException(AMQConstant.NOT_FOUND, "Unknown exchange: " + exchangeName);
}
- else if (!exchange.getTypeShortString().equals(body.getType()) && !(body.getType() == null || body.getType().length() ==0))
+ else if (!(body.getType() == null || body.getType().length() ==0) && !exchange.getTypeName().equals(body.getType().asString()))
{
throw new AMQConnectionException(AMQConstant.NOT_ALLOWED, "Attempt to redeclare exchange: " +
- exchangeName + " of type " + exchange.getTypeShortString()
+ exchangeName + " of type " + exchange.getTypeName()
+ " to " + body.getType() +".",body.getClazz(), body.getMethod(),body.getMajor(),body.getMinor(),null);
}
@@ -110,11 +110,11 @@ public class ExchangeDeclareHandler implements StateAwareMethodListener<Exchange
catch(ExchangeExistsException e)
{
exchange = e.getExistingExchange();
- if(!exchange.getTypeShortString().equals(body.getType()))
+ if(!new AMQShortString(exchange.getTypeName()).equals(body.getType()))
{
throw new AMQConnectionException(AMQConstant.NOT_ALLOWED, "Attempt to redeclare exchange: "
+ exchangeName + " of type "
- + exchange.getTypeShortString()
+ + exchange.getTypeName()
+ " to " + body.getType() +".",
body.getClazz(), body.getMethod(),
body.getMajor(), body.getMinor(),null);
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueBindHandler.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueBindHandler.java
index 359bd2eb19..d95d59f75f 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueBindHandler.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueBindHandler.java
@@ -30,6 +30,8 @@ import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.framing.MethodRegistry;
import org.apache.qpid.framing.QueueBindBody;
import org.apache.qpid.protocol.AMQConstant;
+import org.apache.qpid.server.exchange.TopicExchange;
+import org.apache.qpid.server.plugin.ExchangeType;
import org.apache.qpid.server.protocol.v0_8.AMQChannel;
import org.apache.qpid.server.binding.Binding;
import org.apache.qpid.server.exchange.Exchange;
@@ -86,7 +88,7 @@ public class QueueBindHandler implements StateAwareMethodListener<QueueBindBody>
if (body.getRoutingKey() == null)
{
- routingKey = queue.getNameShortString();
+ routingKey = AMQShortString.valueOf(queue.getName());
}
else
{
@@ -119,16 +121,17 @@ public class QueueBindHandler implements StateAwareMethodListener<QueueBindBody>
if (session == null || session.getConnectionModel() != protocolConnection)
{
throw body.getConnectionException(AMQConstant.NOT_ALLOWED,
- "Queue " + queue.getNameShortString() + " is exclusive, but not created on this Connection.");
+ "Queue " + queue.getName() + " is exclusive, but not created on this Connection.");
}
}
- if (!exch.isBound(routingKey, body.getArguments(), queue))
+ Map<String,Object> arguments = FieldTable.convertToMap(body.getArguments());
+ String bindingKey = String.valueOf(routingKey);
+
+ if (!exch.isBound(bindingKey, arguments, queue))
{
- String bindingKey = String.valueOf(routingKey);
- Map<String,Object> arguments = FieldTable.convertToMap(body.getArguments());
- if(!exch.addBinding(bindingKey, queue, arguments) && ExchangeDefaults.TOPIC_EXCHANGE_CLASS.equals(exch.getTypeShortString()))
+ if(!exch.addBinding(bindingKey, queue, arguments) && TopicExchange.TYPE.equals(exch.getType()))
{
Binding oldBinding = exch.getBinding(bindingKey, queue, arguments);
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java
index fd547d4bac..3fdce83c2a 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeclareHandler.java
@@ -102,7 +102,7 @@ public class QueueDeclareHandler implements StateAwareMethodListener<QueueDeclar
&& (owningSession == null || owningSession.getConnectionModel() != protocolConnection))
{
throw body.getConnectionException(AMQConstant.NOT_ALLOWED,
- "Queue " + queue.getNameShortString() + " is exclusive, but not created on this Connection.");
+ "Queue " + queue.getName() + " is exclusive, but not created on this Connection.");
}
//set this as the default queue on the channel:
@@ -153,13 +153,13 @@ public class QueueDeclareHandler implements StateAwareMethodListener<QueueDeclar
if (queue.isExclusive() && !queue.isDurable() && (owningSession == null || owningSession.getConnectionModel() != protocolConnection))
{
throw body.getConnectionException(AMQConstant.NOT_ALLOWED,
- "Queue " + queue.getNameShortString() + " is exclusive, but not created on this Connection.");
+ "Queue " + queue.getName() + " is exclusive, but not created on this Connection.");
}
else if(queue.isExclusive() != body.getExclusive())
{
throw body.getChannelException(AMQConstant.ALREADY_EXISTS,
- "Cannot re-declare queue '" + queue.getNameShortString() + "' with different exclusivity (was: "
+ "Cannot re-declare queue '" + queue.getName() + "' with different exclusivity (was: "
+ queue.isExclusive() + " requested " + body.getExclusive() + ")");
}
else if (body.getExclusive() && !(queue.isDurable() ? String.valueOf(queue.getOwner()).equals(session.getClientID()) : (owningSession == null || owningSession.getConnectionModel() == protocolConnection)))
@@ -173,13 +173,13 @@ public class QueueDeclareHandler implements StateAwareMethodListener<QueueDeclar
else if(queue.isAutoDelete() != body.getAutoDelete())
{
throw body.getChannelException(AMQConstant.ALREADY_EXISTS,
- "Cannot re-declare queue '" + queue.getNameShortString() + "' with different auto-delete (was: "
+ "Cannot re-declare queue '" + queue.getName() + "' with different auto-delete (was: "
+ queue.isAutoDelete() + " requested " + body.getAutoDelete() + ")");
}
else if(queue.isDurable() != body.getDurable())
{
throw body.getChannelException(AMQConstant.ALREADY_EXISTS,
- "Cannot re-declare queue '" + queue.getNameShortString() + "' with different durability (was: "
+ "Cannot re-declare queue '" + queue.getName() + "' with different durability (was: "
+ queue.isDurable() + " requested " + body.getDurable() + ")");
}
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeleteHandler.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeleteHandler.java
index a39faf2e70..d3c196a789 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeleteHandler.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueDeleteHandler.java
@@ -108,7 +108,7 @@ public class QueueDeleteHandler implements StateAwareMethodListener<QueueDeleteB
if (queue.isExclusive() && !queue.isDurable() && (session == null || session.getConnectionModel() != protocolConnection))
{
throw body.getConnectionException(AMQConstant.NOT_ALLOWED,
- "Queue " + queue.getNameShortString() + " is exclusive, but not created on this Connection.");
+ "Queue " + queue.getName() + " is exclusive, but not created on this Connection.");
}
int purged = virtualHost.removeQueue(queue);
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueUnbindHandler.java b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueUnbindHandler.java
index 20405b82ab..d568e0f581 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueUnbindHandler.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/main/java/org/apache/qpid/server/protocol/v0_8/handler/QueueUnbindHandler.java
@@ -80,13 +80,13 @@ public class QueueUnbindHandler implements StateAwareMethodListener<QueueUnbindB
throw body.getChannelException(AMQConstant.NOT_FOUND, "No default queue defined on channel and queue was null");
}
- routingKey = body.getRoutingKey() == null ? null : body.getRoutingKey().intern();
+ routingKey = body.getRoutingKey() == null ? null : body.getRoutingKey().intern(false);
}
else
{
queue = virtualHost.getQueue(body.getQueue().toString());
- routingKey = body.getRoutingKey() == null ? null : body.getRoutingKey().intern();
+ routingKey = body.getRoutingKey() == null ? null : body.getRoutingKey().intern(false);
}
if (queue == null)
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AcknowledgeTest.java b/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AcknowledgeTest.java
index a9eb0ebfe7..43f88ca2a3 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AcknowledgeTest.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/AcknowledgeTest.java
@@ -126,7 +126,7 @@ public class AcknowledgeTest extends QpidTestCase
BrokerTestHelper_0_8.publishMessages(getChannel(),
sendMessageCount,
_queueName,
- ExchangeDefaults.DEFAULT_EXCHANGE_NAME.asString());
+ ExchangeDefaults.DEFAULT_EXCHANGE_NAME);
if (getChannel().isTransactional())
{
diff --git a/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/QueueBrowserUsesNoAckTest.java b/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/QueueBrowserUsesNoAckTest.java
index 21142e7ab6..4f9df3b38d 100644
--- a/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/QueueBrowserUsesNoAckTest.java
+++ b/java/broker-plugins/amqp-0-8-protocol/src/test/java/org/apache/qpid/server/protocol/v0_8/QueueBrowserUsesNoAckTest.java
@@ -99,7 +99,7 @@ public class QueueBrowserUsesNoAckTest extends QpidTestCase
BrokerTestHelper_0_8.publishMessages(getChannel(),
sendMessageCount,
_queueName,
- ExchangeDefaults.DEFAULT_EXCHANGE_NAME.asString());
+ ExchangeDefaults.DEFAULT_EXCHANGE_NAME);
//Ensure they are stored
checkStoreContents(sendMessageCount);
diff --git a/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java b/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java
index 9dc063e3ea..68e9a88b0b 100644
--- a/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java
+++ b/java/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/Message_1_0.java
@@ -97,11 +97,6 @@ public class Message_1_0 implements ServerMessage<MessageMetaData_1_0>, InboundM
}
}
- public AMQShortString getRoutingKeyShortString()
- {
- return AMQShortString.valueOf(getRoutingKey());
- }
-
private MessageMetaData_1_0 getMessageMetaData()
{
return _storedMessage.getMetaData();
diff --git a/java/broker-plugins/amqp-msg-conv-0-8-to-0-10/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v0_10/MessageConverter_0_10_to_0_8.java b/java/broker-plugins/amqp-msg-conv-0-8-to-0-10/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v0_10/MessageConverter_0_10_to_0_8.java
index c14896079f..e832ef7569 100644
--- a/java/broker-plugins/amqp-msg-conv-0-8-to-0-10/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v0_10/MessageConverter_0_10_to_0_8.java
+++ b/java/broker-plugins/amqp-msg-conv-0-8-to-0-10/src/main/java/org/apache/qpid/server/protocol/converter/v0_8_v0_10/MessageConverter_0_10_to_0_8.java
@@ -92,8 +92,8 @@ public class MessageConverter_0_10_to_0_8 implements MessageConverter<MessageTra
Exchange exchange = vhost.getExchange(exchangeName);
String exchangeClass = exchange == null
- ? ExchangeDefaults.DIRECT_EXCHANGE_CLASS.asString()
- : exchange.getType().getName().asString();
+ ? ExchangeDefaults.DIRECT_EXCHANGE_CLASS
+ : exchange.getTypeName();
props.setReplyTo(exchangeClass + "://" + exchangeName + "//?routingkey='" + (routingKey == null
? ""
: routingKey + "'"));
diff --git a/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java b/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
index 9614ded3d8..42eecb28ac 100644
--- a/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
+++ b/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/AbstractServlet.java
@@ -219,14 +219,7 @@ public abstract class AbstractServlet extends HttpServlet
}
finally
{
- try
- {
- SecurityManager.setThreadSubject(null);
- }
- finally
- {
- AMQShortString.clearLocalCache();
- }
+ SecurityManager.setThreadSubject(null);
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/Broker.java b/java/broker/src/main/java/org/apache/qpid/server/Broker.java
index 703162a609..7de0ebe1de 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/Broker.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/Broker.java
@@ -67,17 +67,11 @@ public class Broker
}
finally
{
- try
- {
- if (_applicationRegistry != null)
- {
- _applicationRegistry.close();
- }
- }
- finally
+ if (_applicationRegistry != null)
{
- clearAMQShortStringCache();
+ _applicationRegistry.close();
}
+
}
}
@@ -96,14 +90,8 @@ public class Broker
}
finally
{
- try
- {
- CurrentActor.remove();
- }
- finally
- {
- clearAMQShortStringCache();
- }
+ CurrentActor.remove();
+
}
}
@@ -269,15 +257,6 @@ public class Broker
LOGGER.debug("Skipping shutdown hook removal as there either isnt one, or we are it.");
}
}
- /**
- * Workaround that prevents AMQShortStrings cache from being left in the thread local. This is important
- * when embedding the Broker in containers where the starting thread may not belong to Qpid.
- * The long term solution here is to stop our use of AMQShortString outside the AMQP transport layer.
- */
- private void clearAMQShortStringCache()
- {
- AMQShortString.clearLocalCache();
- }
public org.apache.qpid.server.model.Broker getBroker()
{
diff --git a/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java b/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
index f37d06f117..25466d9c55 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/configuration/QueueConfiguration.java
@@ -117,7 +117,7 @@ public class QueueConfiguration extends AbstractConfiguration
public String getExchange()
{
- return getStringValue("exchange", ExchangeDefaults.DEFAULT_EXCHANGE_NAME.asString());
+ return getStringValue("exchange", ExchangeDefaults.DEFAULT_EXCHANGE_NAME);
}
public List getRoutingKeys()
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
index 631490ab5f..c30ebe17be 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/AbstractExchange.java
@@ -26,7 +26,6 @@ import org.apache.qpid.AMQException;
import org.apache.qpid.AMQInternalException;
import org.apache.qpid.AMQSecurityException;
import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.server.binding.Binding;
import org.apache.qpid.server.logging.LogSubject;
import org.apache.qpid.server.logging.actors.CurrentActor;
@@ -39,7 +38,6 @@ import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.plugin.ExchangeType;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.queue.BaseQueue;
-import org.apache.qpid.server.queue.QueueRegistry;
import org.apache.qpid.server.store.DurableConfigurationStoreHelper;
import org.apache.qpid.server.virtualhost.VirtualHost;
@@ -57,7 +55,7 @@ import java.util.concurrent.atomic.AtomicLong;
public abstract class AbstractExchange implements Exchange
{
private static final Logger _logger = Logger.getLogger(AbstractExchange.class);
- private AMQShortString _name;
+ private String _name;
private final AtomicBoolean _closed = new AtomicBoolean();
private Exchange _alternateExchange;
@@ -98,19 +96,15 @@ public abstract class AbstractExchange implements Exchange
_type = type;
}
- public AMQShortString getNameShortString()
- {
- return _name;
- }
-
- public final AMQShortString getTypeShortString()
+ @Override
+ public String getTypeName()
{
- return _type.getName();
+ return _type.getType();
}
public void initialise(UUID id,
VirtualHost host,
- AMQShortString name,
+ String name,
boolean durable,
boolean autoDelete)
throws AMQException
@@ -124,7 +118,7 @@ public abstract class AbstractExchange implements Exchange
_logSubject = new ExchangeLogSubject(this, this.getVirtualHost());
// Log Exchange creation
- CurrentActor.get().message(ExchangeMessages.CREATED(String.valueOf(getTypeShortString()), String.valueOf(name), durable));
+ CurrentActor.get().message(ExchangeMessages.CREATED(getType().getType(), name, durable));
}
public boolean isDurable()
@@ -159,7 +153,7 @@ public abstract class AbstractExchange implements Exchange
public String toString()
{
- return getClass().getSimpleName() + "[" + getNameShortString() +"]";
+ return getClass().getSimpleName() + "[" + getName() +"]";
}
public VirtualHost getVirtualHost()
@@ -167,11 +161,6 @@ public abstract class AbstractExchange implements Exchange
return _virtualHost;
}
- public final boolean isBound(AMQShortString routingKey, FieldTable ft, AMQQueue queue)
- {
- return isBound(routingKey == null ? "" : routingKey.asString(), FieldTable.convertToMap(ft), queue);
- }
-
public final boolean isBound(String bindingKey, Map<String,Object> arguments, AMQQueue queue)
{
for(Binding b : _bindings)
@@ -186,11 +175,6 @@ public abstract class AbstractExchange implements Exchange
return false;
}
- public final boolean isBound(AMQShortString routingKey, AMQQueue queue)
- {
- return isBound(routingKey==null ? "" : routingKey.asString(), queue);
- }
-
public final boolean isBound(String bindingKey, AMQQueue queue)
{
for(Binding b : _bindings)
@@ -203,11 +187,6 @@ public abstract class AbstractExchange implements Exchange
return false;
}
- public final boolean isBound(AMQShortString routingKey)
- {
- return isBound(routingKey == null ? "" : routingKey.asString());
- }
-
public final boolean isBound(String bindingKey)
{
for(Binding b : _bindings)
@@ -415,7 +394,7 @@ public abstract class AbstractExchange implements Exchange
}
if(_logger.isDebugEnabled())
{
- _logger.debug("Exchange: " + getName() + " - attempt to enqueue message onto deleted queue " + String.valueOf(q.getNameShortString()));
+ _logger.debug("Exchange: " + getName() + " - attempt to enqueue message onto deleted queue " + q.getName());
}
queues.remove(q);
}
@@ -531,7 +510,7 @@ public abstract class AbstractExchange implements Exchange
// all operations on it to succeed. It is up to the broker to prevent illegal
// attempts at binding to this exchange, not the ACLs.
// Check access
- if (!_virtualHost.getSecurityManager().authoriseUnbind(this, new AMQShortString(bindingKey), queue))
+ if (!_virtualHost.getSecurityManager().authoriseUnbind(this, bindingKey, queue))
{
throw new AMQSecurityException("Permission denied: unbinding " + bindingKey);
}
@@ -596,7 +575,7 @@ public abstract class AbstractExchange implements Exchange
}
//Perform ACLs
- if (!_virtualHost.getSecurityManager().authoriseBind(AbstractExchange.this, queue, new AMQShortString(bindingKey)))
+ if (!_virtualHost.getSecurityManager().authoriseBind(AbstractExchange.this, queue, bindingKey))
{
throw new AMQSecurityException("Permission denied: binding " + bindingKey);
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchange.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchange.java
index 8e9f980e6b..aed2ddb8cf 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchange.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchange.java
@@ -32,7 +32,6 @@ import org.apache.qpid.AMQInternalException;
import org.apache.qpid.AMQSecurityException;
import org.apache.qpid.exchange.ExchangeDefaults;
import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.server.binding.Binding;
import org.apache.qpid.server.logging.LogSubject;
import org.apache.qpid.server.logging.actors.CurrentActor;
@@ -65,7 +64,7 @@ public class DefaultExchange implements Exchange
@Override
public void initialise(UUID id,
VirtualHost host,
- AMQShortString name,
+ String name,
boolean durable,
boolean autoDelete) throws AMQException
{
@@ -76,7 +75,7 @@ public class DefaultExchange implements Exchange
@Override
public String getName()
{
- return ExchangeDefaults.DEFAULT_EXCHANGE_NAME.asString();
+ return ExchangeDefaults.DEFAULT_EXCHANGE_NAME;
}
@Override
@@ -167,7 +166,7 @@ public class DefaultExchange implements Exchange
{
String queueName = queue.getName();
- UUID exchangeId = UUIDGenerator.generateBindingUUID(ExchangeDefaults.DEFAULT_EXCHANGE_NAME.asString(),
+ UUID exchangeId = UUIDGenerator.generateBindingUUID(ExchangeDefaults.DEFAULT_EXCHANGE_NAME,
queueName,
queueName,
_virtualHost.getName());
@@ -176,15 +175,9 @@ public class DefaultExchange implements Exchange
}
@Override
- public AMQShortString getNameShortString()
+ public String getTypeName()
{
- return AMQShortString.EMPTY_STRING;
- }
-
- @Override
- public AMQShortString getTypeShortString()
- {
- return getType().getName();
+ return getType().getType();
}
@Override
@@ -227,24 +220,6 @@ public class DefaultExchange implements Exchange
}
@Override
- public boolean isBound(AMQShortString routingKey, FieldTable arguments, AMQQueue queue)
- {
- return isBound(routingKey, queue) && (arguments == null || arguments.isEmpty());
- }
-
- @Override
- public boolean isBound(AMQShortString routingKey, AMQQueue queue)
- {
- return isBound(routingKey) && isBound(queue) && queue.getNameShortString().equals(routingKey); //To change body of implemented methods use File | Settings | File Templates.
- }
-
- @Override
- public boolean isBound(AMQShortString routingKey)
- {
- return _virtualHost.getQueue(routingKey == null ? null : routingKey.toString()) != null;
- }
-
- @Override
public boolean isBound(AMQQueue queue)
{
return _virtualHost.getQueue(queue.getName()) == queue;
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java
index a0b80a601c..7263387416 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeFactory.java
@@ -44,14 +44,14 @@ public class DefaultExchangeFactory implements ExchangeFactory
private static final Logger LOGGER = Logger.getLogger(DefaultExchangeFactory.class);
- private static final AMQShortString[] BASE_EXCHANGE_TYPES =
- new AMQShortString[]{ExchangeDefaults.DIRECT_EXCHANGE_CLASS,
- ExchangeDefaults.FANOUT_EXCHANGE_CLASS,
- ExchangeDefaults.HEADERS_EXCHANGE_CLASS,
- ExchangeDefaults.TOPIC_EXCHANGE_CLASS};
+ private static final String[] BASE_EXCHANGE_TYPES =
+ new String[]{ExchangeDefaults.DIRECT_EXCHANGE_CLASS,
+ ExchangeDefaults.FANOUT_EXCHANGE_CLASS,
+ ExchangeDefaults.HEADERS_EXCHANGE_CLASS,
+ ExchangeDefaults.TOPIC_EXCHANGE_CLASS};
private final VirtualHost _host;
- private Map<AMQShortString, ExchangeType<? extends Exchange>> _exchangeClassMap = new HashMap<AMQShortString, ExchangeType<? extends Exchange>>();
+ private Map<String, ExchangeType<? extends Exchange>> _exchangeClassMap = new HashMap<String, ExchangeType<? extends Exchange>>();
public DefaultExchangeFactory(VirtualHost host)
{
@@ -61,7 +61,7 @@ public class DefaultExchangeFactory implements ExchangeFactory
Iterable<ExchangeType> exchangeTypes = loadExchangeTypes();
for (ExchangeType<?> exchangeType : exchangeTypes)
{
- AMQShortString typeName = exchangeType.getName();
+ String typeName = exchangeType.getType();
if(LOGGER.isDebugEnabled())
{
@@ -80,11 +80,11 @@ public class DefaultExchangeFactory implements ExchangeFactory
_exchangeClassMap.put(typeName, exchangeType);
}
- for(AMQShortString type : BASE_EXCHANGE_TYPES)
+ for(String type : BASE_EXCHANGE_TYPES)
{
if(!_exchangeClassMap.containsKey(type))
{
- throw new IllegalStateException("Did not find expected exchange type: " + type.asString());
+ throw new IllegalStateException("Did not find expected exchange type: " + type);
}
}
}
@@ -114,19 +114,12 @@ public class DefaultExchangeFactory implements ExchangeFactory
{
UUID id = UUIDGenerator.generateExchangeUUID(exchange, _host.getName());
- return createExchange(id, new AMQShortString(exchange), new AMQShortString(type), durable, autoDelete);
+ return createExchange(id, exchange, type, durable, autoDelete);
}
public Exchange createExchange(UUID id, String exchange, String type, boolean durable, boolean autoDelete)
throws AMQException
{
- return createExchange(id, new AMQShortString(exchange), new AMQShortString(type), durable, autoDelete);
- }
-
- private Exchange createExchange(UUID id, AMQShortString exchange, AMQShortString type, boolean durable,
- boolean autoDelete)
- throws AMQException
- {
// Check access
if (!_host.getSecurityManager().authoriseCreateExchange(autoDelete, durable, exchange, null, null, null, type))
{
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java
index d8263a3c80..b54f995b5e 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/DefaultExchangeRegistry.java
@@ -68,7 +68,7 @@ public class DefaultExchangeRegistry implements ExchangeRegistry
_defaultExchange = new DefaultExchange(_queueRegistry);
UUID defaultExchangeId =
- UUIDGenerator.generateExchangeUUID(ExchangeDefaults.DEFAULT_EXCHANGE_NAME.asString(), _host.getName());
+ UUIDGenerator.generateExchangeUUID(ExchangeDefaults.DEFAULT_EXCHANGE_NAME, _host.getName());
_defaultExchange.initialise(defaultExchangeId, _host, ExchangeDefaults.DEFAULT_EXCHANGE_NAME,false, false);
@@ -81,7 +81,7 @@ public class DefaultExchangeRegistry implements ExchangeRegistry
public void registerExchange(Exchange exchange) throws AMQException
{
- _exchangeMap.put(exchange.getNameShortString().toString(), exchange);
+ _exchangeMap.put(exchange.getName(), exchange);
synchronized (_listeners)
{
for(RegistryChangeListener listener : _listeners)
@@ -201,7 +201,7 @@ public class DefaultExchangeRegistry implements ExchangeRegistry
public boolean isReservedExchangeName(String name)
{
- if (name == null || ExchangeDefaults.DEFAULT_EXCHANGE_NAME.asString().equals(name)
+ if (name == null || ExchangeDefaults.DEFAULT_EXCHANGE_NAME.equals(name)
|| name.startsWith("amq.") || name.startsWith("qpid."))
{
return true;
@@ -209,7 +209,7 @@ public class DefaultExchangeRegistry implements ExchangeRegistry
Collection<ExchangeType<? extends Exchange>> registeredTypes = _host.getExchangeTypes();
for (ExchangeType<? extends Exchange> type : registeredTypes)
{
- if (type.getDefaultExchangeName().toString().equals(name))
+ if (type.getDefaultExchangeName().equals(name))
{
return true;
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java
index 2e2a93d638..1e022c994e 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchange.java
@@ -180,10 +180,9 @@ public class DirectExchange extends AbstractExchange
{
String bindingKey = binding.getBindingKey();
AMQQueue queue = binding.getQueue();
- AMQShortString routingKey = AMQShortString.valueOf(bindingKey);
assert queue != null;
- assert routingKey != null;
+ assert bindingKey != null;
BindingSet bindings = _bindingsByKey.get(bindingKey);
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchangeType.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchangeType.java
index afe00e1b60..d61d10155e 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchangeType.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/DirectExchangeType.java
@@ -33,16 +33,11 @@ public class DirectExchangeType implements ExchangeType<DirectExchange>
@Override
public String getType()
{
- return getName().toString();
- }
-
- public AMQShortString getName()
- {
return ExchangeDefaults.DIRECT_EXCHANGE_CLASS;
}
public DirectExchange newInstance(UUID id, VirtualHost host,
- AMQShortString name,
+ String name,
boolean durable,
boolean autoDelete) throws AMQException
{
@@ -51,7 +46,7 @@ public class DirectExchangeType implements ExchangeType<DirectExchange>
return exch;
}
- public AMQShortString getDefaultExchangeName()
+ public String getDefaultExchangeName()
{
return ExchangeDefaults.DIRECT_EXCHANGE_NAME;
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java
index 735072cc82..d05e731daa 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/Exchange.java
@@ -23,8 +23,6 @@ package org.apache.qpid.server.exchange;
import org.apache.qpid.AMQException;
import org.apache.qpid.AMQInternalException;
import org.apache.qpid.AMQSecurityException;
-import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.server.binding.Binding;
import org.apache.qpid.server.message.InboundMessage;
import org.apache.qpid.server.plugin.ExchangeType;
@@ -39,7 +37,7 @@ import java.util.UUID;
public interface Exchange extends ExchangeReferrer
{
- void initialise(UUID id, VirtualHost host, AMQShortString name, boolean durable, boolean autoDelete)
+ void initialise(UUID id, VirtualHost host, String name, boolean durable, boolean autoDelete)
throws AMQException;
@@ -47,11 +45,9 @@ public interface Exchange extends ExchangeReferrer
String getName();
- AMQShortString getNameShortString();
-
ExchangeType getType();
- AMQShortString getTypeShortString();
+ String getTypeName();
boolean isDurable();
@@ -107,30 +103,32 @@ public interface Exchange extends ExchangeReferrer
/**
* Determines whether a message would be isBound to a particular queue using a specific routing key and arguments
- * @param routingKey
+ * @param bindingKey
* @param arguments
* @param queue
* @return
* @throws AMQException
*/
- boolean isBound(AMQShortString routingKey, FieldTable arguments, AMQQueue queue);
+
+ boolean isBound(String bindingKey, Map<String,Object> arguments, AMQQueue queue);
/**
* Determines whether a message would be isBound to a particular queue using a specific routing key
- * @param routingKey
+ * @param bindingKey
* @param queue
* @return
* @throws AMQException
*/
- boolean isBound(AMQShortString routingKey, AMQQueue queue);
+
+ boolean isBound(String bindingKey, AMQQueue queue);
/**
* Determines whether a message is routing to any queue using a specific _routing key
- * @param routingKey
+ * @param bindingKey
* @return
* @throws AMQException
*/
- boolean isBound(AMQShortString routingKey);
+ boolean isBound(String bindingKey);
/**
* Returns true if this exchange has at least one binding associated with it.
@@ -141,20 +139,14 @@ public interface Exchange extends ExchangeReferrer
Collection<Binding> getBindings();
- boolean isBound(String bindingKey);
-
boolean isBound(AMQQueue queue);
boolean isBound(Map<String, Object> arguments);
- boolean isBound(String bindingKey, AMQQueue queue);
-
boolean isBound(String bindingKey, Map<String, Object> arguments);
boolean isBound(Map<String, Object> arguments, AMQQueue queue);
- boolean isBound(String bindingKey, Map<String,Object> arguments, AMQQueue queue);
-
void removeReference(ExchangeReferrer exchange);
void addReference(ExchangeReferrer exchange);
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeInitialiser.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeInitialiser.java
index fd7c6a7fe0..6dbc1d54d1 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeInitialiser.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/ExchangeInitialiser.java
@@ -22,7 +22,6 @@ package org.apache.qpid.server.exchange;
import org.apache.qpid.AMQException;
-import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.server.plugin.ExchangeType;
import org.apache.qpid.server.store.DurableConfigurationStoreHelper;
import org.apache.qpid.server.store.DurableConfigurationStore;
@@ -33,7 +32,7 @@ public class ExchangeInitialiser
{
for (ExchangeType<? extends Exchange> type : factory.getRegisteredTypes())
{
- define (registry, factory, type.getDefaultExchangeName().toString(), type.getName().toString(), store);
+ define (registry, factory, type.getDefaultExchangeName(), type.getType(), store);
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchangeType.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchangeType.java
index 43276d8eca..ac864df02c 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchangeType.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/FanoutExchangeType.java
@@ -33,15 +33,10 @@ public class FanoutExchangeType implements ExchangeType<FanoutExchange>
@Override
public String getType()
{
- return getName().toString();
- }
-
- public AMQShortString getName()
- {
return ExchangeDefaults.FANOUT_EXCHANGE_CLASS;
}
- public FanoutExchange newInstance(UUID id, VirtualHost host, AMQShortString name,
+ public FanoutExchange newInstance(UUID id, VirtualHost host, String name,
boolean durable, boolean autoDelete)
throws AMQException
{
@@ -50,7 +45,7 @@ public class FanoutExchangeType implements ExchangeType<FanoutExchange>
return exch;
}
- public AMQShortString getDefaultExchangeName()
+ public String getDefaultExchangeName()
{
return ExchangeDefaults.FANOUT_EXCHANGE_NAME;
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/FilterSupport.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/FilterSupport.java
index 81a89c9b4b..e78516cf69 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/FilterSupport.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/FilterSupport.java
@@ -43,13 +43,6 @@ public class FilterSupport
private static final Map<String, WeakReference<JMSSelectorFilter>> _selectorCache =
Collections.synchronizedMap(new WeakHashMap<String, WeakReference<JMSSelectorFilter>>());
- static MessageFilter createJMSSelectorFilter(FieldTable args) throws AMQInvalidArgumentException
- {
- final String selectorString = args.getString(AMQPFilterTypes.JMS_SELECTOR.getValue());
- return getMessageFilter(selectorString);
- }
-
-
static MessageFilter createJMSSelectorFilter(Map<String, Object> args) throws AMQInvalidArgumentException
{
final String selectorString = (String) args.get(AMQPFilterTypes.JMS_SELECTOR.toString());
@@ -85,12 +78,6 @@ public class FilterSupport
return selector;
}
- static boolean argumentsContainFilter(final FieldTable args)
- {
- return argumentsContainNoLocal(args) || argumentsContainJMSSelector(args);
- }
-
-
public static boolean argumentsContainFilter(final Map<String, Object> args)
{
return argumentsContainNoLocal(args) || argumentsContainJMSSelector(args);
@@ -112,29 +99,12 @@ public class FilterSupport
&& Boolean.TRUE.equals(args.get(AMQPFilterTypes.NO_LOCAL.toString()));
}
-
- static boolean argumentsContainNoLocal(final FieldTable args)
- {
- return args != null
- && args.containsKey(AMQPFilterTypes.NO_LOCAL.getValue())
- && Boolean.TRUE.equals(args.get(AMQPFilterTypes.NO_LOCAL.getValue()));
- }
-
-
static boolean argumentsContainJMSSelector(final Map<String,Object> args)
{
return args != null && (args.get(AMQPFilterTypes.JMS_SELECTOR.toString()) instanceof String)
&& ((String)args.get(AMQPFilterTypes.JMS_SELECTOR.toString())).trim().length() != 0;
}
-
- static boolean argumentsContainJMSSelector(final FieldTable args)
- {
- return args != null && (args.containsKey(AMQPFilterTypes.JMS_SELECTOR.getValue())
- && args.getString(AMQPFilterTypes.JMS_SELECTOR.getValue()).trim().length() != 0);
- }
-
-
static MessageFilter createMessageFilter(final Map<String,Object> args, AMQQueue queue) throws AMQInvalidArgumentException
{
if(argumentsContainNoLocal(args))
@@ -153,24 +123,6 @@ public class FilterSupport
}
}
- static MessageFilter createMessageFilter(final FieldTable args, AMQQueue queue) throws AMQInvalidArgumentException
- {
- if(argumentsContainNoLocal(args))
- {
- MessageFilter filter = new NoLocalFilter(queue);
-
- if(argumentsContainJMSSelector(args))
- {
- filter = new CompoundFilter(filter, createJMSSelectorFilter(args));
- }
- return filter;
- }
- else
- {
- return createJMSSelectorFilter(args);
- }
- }
-
static final class NoLocalFilter implements MessageFilter
{
private final AMQQueue _queue;
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
index 9fb745d553..41dd7e010c 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchange.java
@@ -89,7 +89,7 @@ public class HeadersExchange extends AbstractExchange
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Exchange " + getNameShortString() + ": routing message with headers " + payload.getMessageHeader());
+ _logger.debug("Exchange " + getName() + ": routing message with headers " + payload.getMessageHeader());
}
LinkedHashSet<BaseQueue> queues = new LinkedHashSet<BaseQueue>();
@@ -104,8 +104,8 @@ public class HeadersExchange extends AbstractExchange
if (_logger.isDebugEnabled())
{
- _logger.debug("Exchange " + getNameShortString() + ": delivering message with headers " +
- payload.getMessageHeader() + " to " + b.getQueue().getNameShortString());
+ _logger.debug("Exchange " + getName() + ": delivering message with headers " +
+ payload.getMessageHeader() + " to " + b.getQueue().getName());
}
queues.add(b.getQueue());
}
@@ -118,11 +118,10 @@ public class HeadersExchange extends AbstractExchange
{
String bindingKey = binding.getBindingKey();
AMQQueue queue = binding.getQueue();
- AMQShortString routingKey = AMQShortString.valueOf(bindingKey);
Map<String,Object> args = binding.getArguments();
assert queue != null;
- assert routingKey != null;
+ assert bindingKey != null;
CopyOnWriteArraySet<Binding> bindings = _bindingsByKey.get(bindingKey);
@@ -138,7 +137,7 @@ public class HeadersExchange extends AbstractExchange
if(_logger.isDebugEnabled())
{
- _logger.debug("Exchange " + getNameShortString() + ": Binding " + queue.getNameShortString() +
+ _logger.debug("Exchange " + getName() + ": Binding " + queue.getName() +
" with binding key '" +bindingKey + "' and args: " + args);
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchangeType.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchangeType.java
index 324a4b9e51..42d04f5a97 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchangeType.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/HeadersExchangeType.java
@@ -33,15 +33,10 @@ public class HeadersExchangeType implements ExchangeType<HeadersExchange>
@Override
public String getType()
{
- return getName().toString();
- }
-
- public AMQShortString getName()
- {
return ExchangeDefaults.HEADERS_EXCHANGE_CLASS;
}
- public HeadersExchange newInstance(UUID id, VirtualHost host, AMQShortString name, boolean durable,
+ public HeadersExchange newInstance(UUID id, VirtualHost host, String name, boolean durable,
boolean autoDelete) throws AMQException
{
HeadersExchange exch = new HeadersExchange();
@@ -50,7 +45,7 @@ public class HeadersExchangeType implements ExchangeType<HeadersExchange>
return exch;
}
- public AMQShortString getDefaultExchangeName()
+ public String getDefaultExchangeName()
{
return ExchangeDefaults.HEADERS_EXCHANGE_NAME;
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java
index 9d41856dc0..6b8b84f5dd 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchange.java
@@ -50,10 +50,10 @@ public class TopicExchange extends AbstractExchange
private final TopicParser _parser = new TopicParser();
- private final Map<AMQShortString, TopicExchangeResult> _topicExchangeResults =
- new ConcurrentHashMap<AMQShortString, TopicExchangeResult>();
+ private final Map<String, TopicExchangeResult> _topicExchangeResults =
+ new ConcurrentHashMap<String, TopicExchangeResult>();
- private final Map<Binding, FieldTable> _bindings = new HashMap<Binding, FieldTable>();
+ private final Map<Binding, Map<String,Object>> _bindings = new HashMap<Binding, Map<String,Object>>();
public TopicExchange()
{
@@ -62,21 +62,21 @@ public class TopicExchange extends AbstractExchange
protected synchronized void registerQueue(final Binding binding) throws AMQInvalidArgumentException
{
- AMQShortString rKey = new AMQShortString(binding.getBindingKey()) ;
+ final String bindingKey = binding.getBindingKey();
AMQQueue queue = binding.getQueue();
- FieldTable args = FieldTable.convertToFieldTable(binding.getArguments());
+ Map<String,Object> args = binding.getArguments();
assert queue != null;
- assert rKey != null;
+ assert bindingKey != null;
- _logger.debug("Registering queue " + queue.getNameShortString() + " with routing key " + rKey);
+ _logger.debug("Registering queue " + queue.getName() + " with routing key " + bindingKey);
- AMQShortString routingKey = TopicNormalizer.normalize(rKey);
+ String routingKey = TopicNormalizer.normalize(bindingKey);
if(_bindings.containsKey(binding))
{
- FieldTable oldArgs = _bindings.get(binding);
+ Map<String,Object> oldArgs = _bindings.get(binding);
TopicExchangeResult result = _topicExchangeResults.get(routingKey);
if(FilterSupport.argumentsContainFilter(args))
@@ -150,9 +150,9 @@ public class TopicExchange extends AbstractExchange
public ArrayList<BaseQueue> doRoute(InboundMessage payload)
{
- final AMQShortString routingKey = payload.getRoutingKeyShortString() == null
- ? AMQShortString.EMPTY_STRING
- : payload.getRoutingKeyShortString();
+ final String routingKey = payload.getRoutingKey() == null
+ ? ""
+ : payload.getRoutingKey();
final Collection<AMQQueue> matchedQueues = getMatchedQueues(payload, routingKey);
@@ -181,8 +181,8 @@ public class TopicExchange extends AbstractExchange
{
if(_bindings.containsKey(binding))
{
- FieldTable bindingArgs = _bindings.remove(binding);
- AMQShortString bindingKey = TopicNormalizer.normalize(new AMQShortString(binding.getBindingKey()));
+ Map<String,Object> bindingArgs = _bindings.remove(binding);
+ String bindingKey = TopicNormalizer.normalize(binding.getBindingKey());
TopicExchangeResult result = _topicExchangeResults.get(bindingKey);
result.removeBinding(binding);
@@ -211,7 +211,7 @@ public class TopicExchange extends AbstractExchange
}
}
- private Collection<AMQQueue> getMatchedQueues(InboundMessage message, AMQShortString routingKey)
+ private Collection<AMQQueue> getMatchedQueues(InboundMessage message, String routingKey)
{
Collection<TopicMatcherResult> results = _parser.parse(routingKey);
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchangeType.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchangeType.java
index 5882d0cdc6..3bbae700be 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchangeType.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/TopicExchangeType.java
@@ -33,16 +33,11 @@ public class TopicExchangeType implements ExchangeType<TopicExchange>
@Override
public String getType()
{
- return getName().toString();
- }
-
- public AMQShortString getName()
- {
return ExchangeDefaults.TOPIC_EXCHANGE_CLASS;
}
public TopicExchange newInstance(UUID id, VirtualHost host,
- AMQShortString name,
+ String name,
boolean durable,
boolean autoDelete) throws AMQException
{
@@ -51,7 +46,7 @@ public class TopicExchangeType implements ExchangeType<TopicExchange>
return exch;
}
- public AMQShortString getDefaultExchangeName()
+ public String getDefaultExchangeName()
{
return ExchangeDefaults.TOPIC_EXCHANGE_NAME;
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicMatcherDFAState.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicMatcherDFAState.java
index dad951c3ca..85338c0760 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicMatcherDFAState.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicMatcherDFAState.java
@@ -20,8 +20,8 @@
*/
package org.apache.qpid.server.exchange.topic;
-import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.framing.AMQShortStringTokenizer;
+import java.util.Arrays;
+import java.util.Iterator;
import java.util.ArrayList;
import java.util.Collection;
@@ -44,7 +44,7 @@ public class TopicMatcherDFAState
private final Collection<TopicMatcherResult> _results;
private final Map<TopicWord, TopicMatcherDFAState> _nextStateMap;
- private static final byte TOPIC_DELIMITTER = (byte)'.';
+ private static final String TOPIC_DELIMITTER = "\\.";
public TopicMatcherDFAState(Map<TopicWord, TopicMatcherDFAState> nextStateMap,
@@ -67,19 +67,19 @@ public class TopicMatcherDFAState
}
- public Collection<TopicMatcherResult> parse(TopicWordDictionary dictionary, AMQShortString routingKey)
+ public Collection<TopicMatcherResult> parse(TopicWordDictionary dictionary, String routingKey)
{
- return parse(dictionary, routingKey.tokenize(TOPIC_DELIMITTER));
+ return parse(dictionary, Arrays.asList(routingKey.split(TOPIC_DELIMITTER)).iterator());
}
private Collection<TopicMatcherResult> parse(final TopicWordDictionary dictionary,
- final AMQShortStringTokenizer tokens)
+ final Iterator<String> tokens)
{
- if(!tokens.hasMoreTokens())
+ if(!tokens.hasNext())
{
return _results;
}
- TopicWord word = dictionary.getWord(tokens.nextToken());
+ TopicWord word = dictionary.getWord(tokens.next());
TopicMatcherDFAState nextState = _nextStateMap.get(word);
if(nextState == null && word != TopicWord.ANY_WORD)
{
@@ -96,7 +96,7 @@ public class TopicMatcherDFAState
}
return nextState.parse(dictionary, tokens);
-
+
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicNormalizer.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicNormalizer.java
index aac696ae2d..e45d6a539d 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicNormalizer.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicNormalizer.java
@@ -20,46 +20,36 @@
*/
package org.apache.qpid.server.exchange.topic;
-import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.framing.AMQShortStringTokenizer;
-
+import java.util.Arrays;
+import java.util.Iterator;
import java.util.ArrayList;
import java.util.List;
public class TopicNormalizer
{
- private static final byte TOPIC_SEPARATOR = (byte)'.';
- private static final byte HASH_BYTE = (byte)'#';
- private static final byte STAR_BYTE = (byte)'*';
- private static final AMQShortString TOPIC_SEPARATOR_AS_SHORTSTRING = new AMQShortString(".");
- private static final AMQShortString AMQP_STAR_TOKEN = new AMQShortString("*");
- private static final AMQShortString AMQP_HASH_TOKEN = new AMQShortString("#");
+ private static final String STAR_TOKEN = "*";
+ private static final String HASH_TOKEN = "#";
+ private static final String SEPARATOR = ".";
+
private TopicNormalizer()
{
}
- public static AMQShortString normalize(AMQShortString routingKey)
+ public static String normalize(String routingKey)
{
if(routingKey == null)
{
- return AMQShortString.EMPTY_STRING;
+ return "";
}
- else if(!(routingKey.contains(HASH_BYTE) || routingKey.contains(STAR_BYTE)))
+ else if(!(routingKey.contains(HASH_TOKEN) || !routingKey.contains(STAR_TOKEN)))
{
return routingKey;
}
else
{
- AMQShortStringTokenizer routingTokens = routingKey.tokenize(TOPIC_SEPARATOR);
-
- List<AMQShortString> subscriptionList = new ArrayList<AMQShortString>();
-
- while (routingTokens.hasMoreTokens())
- {
- subscriptionList.add(routingTokens.nextToken());
- }
+ List<String> subscriptionList = new ArrayList<String>(Arrays.asList(routingKey.split("\\.")));
int size = subscriptionList.size();
@@ -68,9 +58,9 @@ public class TopicNormalizer
// if there are more levels
if ((index + 1) < size)
{
- if (subscriptionList.get(index).equals(AMQP_HASH_TOKEN))
+ if (subscriptionList.get(index).equals(HASH_TOKEN))
{
- if (subscriptionList.get(index + 1).equals(AMQP_HASH_TOKEN))
+ if (subscriptionList.get(index + 1).equals(HASH_TOKEN))
{
// we don't need #.# delete this one
subscriptionList.remove(index);
@@ -79,7 +69,7 @@ public class TopicNormalizer
index--;
}
- if (subscriptionList.get(index + 1).equals(AMQP_STAR_TOKEN))
+ if (subscriptionList.get(index + 1).equals(STAR_TOKEN))
{
// we don't want #.* swap to *.#
// remove it and put it in at index + 1
@@ -89,11 +79,14 @@ public class TopicNormalizer
} // if we have more levels
}
-
-
- AMQShortString normalizedString = AMQShortString.join(subscriptionList, TOPIC_SEPARATOR_AS_SHORTSTRING);
-
- return normalizedString;
+ Iterator<String> iter = subscriptionList.iterator();
+ StringBuilder builder = new StringBuilder(iter.next());
+ while(iter.hasNext())
+ {
+ builder.append(SEPARATOR).append(iter.next());
+ }
+ return builder.toString();
}
}
+
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicParser.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicParser.java
index 6f47e4e7f2..214ca23b49 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicParser.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicParser.java
@@ -20,9 +20,6 @@
*/
package org.apache.qpid.server.exchange.topic;
-import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.framing.AMQShortStringTokenizer;
-
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -35,7 +32,7 @@ import java.util.concurrent.atomic.AtomicReference;
public class TopicParser
{
- private static final byte TOPIC_DELIMITER = (byte)'.';
+ private static final String TOPIC_DELIMITER = "\\.";
private final TopicWordDictionary _dictionary = new TopicWordDictionary();
private final AtomicReference<TopicMatcherDFAState> _stateMachine = new AtomicReference<TopicMatcherDFAState>();
@@ -98,7 +95,7 @@ public class TopicParser
}
- public void addBinding(AMQShortString bindingKey, TopicMatcherResult result)
+ public void addBinding(String bindingKey, TopicMatcherResult result)
{
TopicMatcherDFAState startingStateMachine;
@@ -121,7 +118,7 @@ public class TopicParser
}
- public Collection<TopicMatcherResult> parse(AMQShortString routingKey)
+ public Collection<TopicMatcherResult> parse(String routingKey)
{
TopicMatcherDFAState stateMachine = _stateMachine.get();
if(stateMachine == null)
@@ -135,7 +132,7 @@ public class TopicParser
}
- TopicMatcherDFAState createStateMachine(AMQShortString bindingKey, TopicMatcherResult result)
+ TopicMatcherDFAState createStateMachine(String bindingKey, TopicMatcherResult result)
{
List<TopicWord> wordList = createTopicWordList(bindingKey);
int wildCards = 0;
@@ -422,16 +419,16 @@ public class TopicParser
}
- private List<TopicWord> createTopicWordList(final AMQShortString bindingKey)
+ private List<TopicWord> createTopicWordList(final String bindingKey)
{
- AMQShortStringTokenizer tokens = bindingKey.tokenize(TOPIC_DELIMITER);
+ String[] tokens = bindingKey.split(TOPIC_DELIMITER);
TopicWord previousWord = null;
List<TopicWord> wordList = new ArrayList<TopicWord>();
- while(tokens.hasMoreTokens())
+ for(String token : tokens)
{
- TopicWord nextWord = _dictionary.getOrCreateWord(tokens.nextToken());
+ TopicWord nextWord = _dictionary.getOrCreateWord(token);
if(previousWord == TopicWord.WILDCARD_WORD)
{
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicWord.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicWord.java
index 7345d30a0a..c905299733 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicWord.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicWord.java
@@ -21,29 +21,17 @@
package org.apache.qpid.server.exchange.topic;
-import org.apache.qpid.framing.AMQShortString;
-
public final class TopicWord
{
public static final TopicWord ANY_WORD = new TopicWord("*");
public static final TopicWord WILDCARD_WORD = new TopicWord("#");
private String _word;
- public TopicWord()
- {
-
- }
-
public TopicWord(String s)
{
_word = s;
}
- public TopicWord(final AMQShortString name)
- {
- _word = name.toString();
- }
-
public String toString()
{
return _word;
diff --git a/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicWordDictionary.java b/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicWordDictionary.java
index 181c26dd66..24c41ee7da 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicWordDictionary.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/exchange/topic/TopicWordDictionary.java
@@ -20,27 +20,20 @@
*/
package org.apache.qpid.server.exchange.topic;
-import org.apache.qpid.framing.AMQShortString;
-
import java.util.concurrent.ConcurrentHashMap;
public class TopicWordDictionary
{
- private final ConcurrentHashMap<AMQShortString,TopicWord> _dictionary =
- new ConcurrentHashMap<AMQShortString,TopicWord>();
-
-
+ private final ConcurrentHashMap<String,TopicWord> _dictionary =
+ new ConcurrentHashMap<String,TopicWord>();
public TopicWordDictionary()
{
- _dictionary.put(new AMQShortString("*"), TopicWord.ANY_WORD);
- _dictionary.put(new AMQShortString("#"), TopicWord.WILDCARD_WORD);
+ _dictionary.put("*", TopicWord.ANY_WORD);
+ _dictionary.put("#", TopicWord.WILDCARD_WORD);
}
-
-
-
- public TopicWord getOrCreateWord(AMQShortString name)
+ public TopicWord getOrCreateWord(String name)
{
TopicWord word = _dictionary.putIfAbsent(name, new TopicWord(name));
if(word == null)
@@ -51,7 +44,7 @@ public class TopicWordDictionary
}
- public TopicWord getWord(AMQShortString name)
+ public TopicWord getWord(String name)
{
TopicWord word = _dictionary.get(name);
if(word == null)
diff --git a/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java b/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java
index 56f0a6e08d..07049a6c97 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/filter/FilterManagerFactory.java
@@ -14,9 +14,9 @@
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
- * under the License.
+ * under the License.
+ *
*
- *
*/
package org.apache.qpid.server.filter;
@@ -35,7 +35,7 @@ import java.util.Map;
public class FilterManagerFactory
{
-
+
private final static Logger _logger = Logger.getLogger(FilterManagerFactory.class);
private FilterManagerFactory()
@@ -44,25 +44,23 @@ public class FilterManagerFactory
//fixme move to a common class so it can be refered to from client code.
- public static FilterManager createManager(FieldTable filters) throws AMQException
+ public static FilterManager createManager(Map<String,Object> filters) throws AMQException
{
FilterManager manager = null;
if (filters != null)
{
-
-
- if(filters.containsKey(AMQPFilterTypes.JMS_SELECTOR.getValue()))
+ if(filters.containsKey(AMQPFilterTypes.JMS_SELECTOR.toString()))
{
- String selector = filters.getString(AMQPFilterTypes.JMS_SELECTOR.getValue());
+ Object selector = filters.get(AMQPFilterTypes.JMS_SELECTOR.toString());
- if (selector != null && !selector.equals(""))
+ if (selector instanceof String && !selector.equals(""))
{
manager = new SimpleFilterManager();
try
{
- manager.add(new JMSSelectorFilter(selector));
+ manager.add(new JMSSelectorFilter((String)selector));
}
catch (ParseException e)
{
@@ -91,9 +89,5 @@ public class FilterManagerFactory
return manager;
}
-
- public static FilterManager createManager(Map<String,Object> map) throws AMQException
- {
- return createManager(FieldTable.convertToFieldTable(map));
- }
+
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/BindingLogSubject.java b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/BindingLogSubject.java
index 6f18cbcc6b..a633162e85 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/BindingLogSubject.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/BindingLogSubject.java
@@ -42,9 +42,9 @@ public class BindingLogSubject extends AbstractLogSubject
{
setLogStringWithFormat(BINDING_FORMAT,
queue.getVirtualHost().getName(),
- exchange.getTypeShortString(),
- exchange.getNameShortString(),
- queue.getNameShortString(),
+ exchange.getType().getType(),
+ exchange.getName(),
+ queue.getName(),
routingKey);
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ExchangeLogSubject.java b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ExchangeLogSubject.java
index 99a54cc6d0..5affafad75 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ExchangeLogSubject.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/logging/subjects/ExchangeLogSubject.java
@@ -32,6 +32,6 @@ public class ExchangeLogSubject extends AbstractLogSubject
public ExchangeLogSubject(Exchange exchange, VirtualHost vhost)
{
setLogStringWithFormat(EXCHANGE_FORMAT, vhost.getName(),
- exchange.getTypeShortString(), exchange.getNameShortString());
+ exchange.getType().getType(), exchange.getName());
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/message/InboundMessage.java b/java/broker/src/main/java/org/apache/qpid/server/message/InboundMessage.java
index c6dbb49061..1b3fdb1870 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/message/InboundMessage.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/message/InboundMessage.java
@@ -21,13 +21,11 @@
package org.apache.qpid.server.message;
-import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.server.queue.Filterable;
public interface InboundMessage extends Filterable
{
String getRoutingKey();
- AMQShortString getRoutingKeyShortString();
AMQMessageHeader getMessageHeader();
diff --git a/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java b/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
index 07083fc661..8efce39ea2 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/model/adapter/ExchangeAdapter.java
@@ -30,9 +30,7 @@ import java.util.Map;
import org.apache.qpid.AMQException;
import org.apache.qpid.AMQInternalException;
import org.apache.qpid.AMQSecurityException;
-import org.apache.qpid.protocol.AMQConstant;
import org.apache.qpid.server.binding.Binding;
-import org.apache.qpid.server.exchange.ExchangeRegistry;
import org.apache.qpid.server.model.ConfiguredObject;
import org.apache.qpid.server.model.Exchange;
import org.apache.qpid.server.model.LifetimePolicy;
@@ -42,7 +40,6 @@ import org.apache.qpid.server.model.State;
import org.apache.qpid.server.model.Statistics;
import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.util.MapValueConverter;
-import org.apache.qpid.server.virtualhost.ExchangeIsAlternateException;
import org.apache.qpid.server.virtualhost.RequiredExchangeException;
import org.apache.qpid.server.virtualhost.VirtualHost;
@@ -90,7 +87,7 @@ final class ExchangeAdapter extends AbstractAdapter implements Exchange, org.apa
public String getExchangeType()
{
- return _exchange.getType().getName().toString();
+ return _exchange.getType().getType();
}
public Collection<org.apache.qpid.server.model.Binding> getBindings()
@@ -357,7 +354,7 @@ final class ExchangeAdapter extends AbstractAdapter implements Exchange, org.apa
}
else if(TYPE.equals(name))
{
- return _exchange.getType().getName().asString();
+ return _exchange.getTypeName();
}
return super.getAttribute(name);
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java b/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java
index 96a7eacb92..074f7c243b 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/model/adapter/QueueAdapter.java
@@ -411,7 +411,7 @@ final class QueueAdapter extends AbstractAdapter implements Queue, AMQQueue.Subs
}
else if(OWNER.equals(name))
{
- return _queue.getOwner() == null ? null : _queue.getOwner().asString();
+ return _queue.getOwner();
}
else if(QUEUE_FLOW_CONTROL_SIZE_BYTES.equals(name))
{
diff --git a/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java b/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
index 977fd5ae56..58b0b76735 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/model/adapter/VirtualHostAdapter.java
@@ -67,13 +67,11 @@ import org.apache.qpid.server.queue.AMQQueue;
import org.apache.qpid.server.queue.AMQQueueFactory;
import org.apache.qpid.server.queue.QueueArgumentsConverter;
import org.apache.qpid.server.queue.QueueEntry;
-import org.apache.qpid.server.queue.QueueRegistry;
import org.apache.qpid.server.queue.SimpleAMQQueue;
import org.apache.qpid.server.security.SecurityManager;
import org.apache.qpid.server.security.access.Operation;
import org.apache.qpid.server.security.auth.AuthenticatedPrincipal;
import org.apache.qpid.server.stats.StatisticsGatherer;
-import org.apache.qpid.server.store.DurableConfigurationStoreHelper;
import org.apache.qpid.server.store.MessageStore;
import org.apache.qpid.server.txn.LocalTransaction;
import org.apache.qpid.server.txn.ServerTransaction;
@@ -767,7 +765,7 @@ public final class VirtualHostAdapter extends AbstractAdapter implements Virtual
for(ExchangeType<? extends org.apache.qpid.server.exchange.Exchange> type : types)
{
- exchangeTypes.add(type.getName().asString());
+ exchangeTypes.add(type.getType());
}
return Collections.unmodifiableCollection(exchangeTypes);
}
@@ -921,7 +919,7 @@ public final class VirtualHostAdapter extends AbstractAdapter implements Virtual
List<String> types = new ArrayList<String>();
for(@SuppressWarnings("rawtypes") ExchangeType type : _virtualHost.getExchangeTypes())
{
- types.add(type.getName().asString());
+ types.add(type.getType());
}
return Collections.unmodifiableCollection(types);
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/plugin/ExchangeType.java b/java/broker/src/main/java/org/apache/qpid/server/plugin/ExchangeType.java
index 8093ed3d16..ab19fa196e 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/plugin/ExchangeType.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/plugin/ExchangeType.java
@@ -30,8 +30,9 @@ import org.apache.qpid.server.virtualhost.VirtualHost;
public interface ExchangeType<T extends Exchange> extends Pluggable
{
public String getType();
- public AMQShortString getName();
- public T newInstance(UUID id, VirtualHost host, AMQShortString name,
+
+ public T newInstance(UUID id, VirtualHost host, String name,
boolean durable, boolean autoDelete) throws AMQException;
- public AMQShortString getDefaultExchangeName();
+
+ public String getDefaultExchangeName();
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java
index cb6a9249d3..ceebe4f965 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueue.java
@@ -76,7 +76,7 @@ public interface AMQQueue extends Comparable<AMQQueue>, ExchangeReferrer, Transa
boolean isAutoDelete();
- AMQShortString getOwner();
+ String getOwner();
AuthorizationHolder getAuthorizationHolder();
void setAuthorizationHolder(AuthorizationHolder principalHolder);
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java
index 5001c2fd2b..86c436389a 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/AMQQueueFactory.java
@@ -46,6 +46,7 @@ public class AMQQueueFactory implements QueueFactory
public static final String DEFAULT_DLQ_NAME_SUFFIX = "_DLQ";
public static final String DLQ_ROUTING_KEY = "dlq";
+ private static final int MAX_LENGTH = 255;
private final VirtualHost _virtualHost;
private final QueueRegistry _queueRegistry;
@@ -59,15 +60,15 @@ public class AMQQueueFactory implements QueueFactory
private abstract static class QueueProperty
{
- private final AMQShortString _argumentName;
+ private final String _argumentName;
public QueueProperty(String argumentName)
{
- _argumentName = new AMQShortString(argumentName);
+ _argumentName = argumentName;
}
- public AMQShortString getArgumentName()
+ public String getArgumentName()
{
return _argumentName;
}
@@ -280,9 +281,9 @@ public class AMQQueueFactory implements QueueFactory
{
for(QueueProperty p : DECLAREABLE_PROPERTIES)
{
- if(arguments.containsKey(p.getArgumentName().toString()))
+ if(arguments.containsKey(p.getArgumentName()))
{
- p.setPropertyValue(q, arguments.get(p.getArgumentName().toString()));
+ p.setPropertyValue(q, arguments.get(p.getArgumentName()));
}
}
@@ -305,7 +306,7 @@ public class AMQQueueFactory implements QueueFactory
{
dlExchange = _virtualHost.createExchange(dlExchangeId,
dlExchangeName,
- ExchangeDefaults.FANOUT_EXCHANGE_CLASS.toString(),
+ ExchangeDefaults.FANOUT_EXCHANGE_CLASS,
true, false, null);
}
catch(ExchangeExistsException e)
@@ -401,16 +402,16 @@ public class AMQQueueFactory implements QueueFactory
{
// check if DLQ name and DLQ exchange name do not exceed 255
String exchangeName = getDeadLetterExchangeName(name);
- if (exchangeName.length() > AMQShortString.MAX_LENGTH)
+ if (exchangeName.length() > MAX_LENGTH)
{
throw new IllegalArgumentException("DL exchange name '" + exchangeName
- + "' length exceeds limit of " + AMQShortString.MAX_LENGTH + " characters for queue " + name);
+ + "' length exceeds limit of " + MAX_LENGTH + " characters for queue " + name);
}
String queueName = getDeadLetterQueueName(name);
- if (queueName.length() > AMQShortString.MAX_LENGTH)
+ if (queueName.length() > MAX_LENGTH)
{
throw new IllegalArgumentException("DLQ queue name '" + queueName + "' length exceeds limit of "
- + AMQShortString.MAX_LENGTH + " characters for queue " + name);
+ + MAX_LENGTH + " characters for queue " + name);
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/BaseQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/BaseQueue.java
index cef7e2d0c8..6145570b0c 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/BaseQueue.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/BaseQueue.java
@@ -40,5 +40,5 @@ public interface BaseQueue extends TransactionLogResource
boolean isDurable();
boolean isDeleted();
- AMQShortString getNameShortString();
+ String getName();
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java b/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java
index 7308433759..513bbeac3d 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/DefaultQueueRegistry.java
@@ -20,7 +20,6 @@
*/
package org.apache.qpid.server.queue;
-import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.server.virtualhost.VirtualHost;
import java.util.ArrayList;
@@ -31,7 +30,7 @@ import java.util.concurrent.ConcurrentMap;
public class DefaultQueueRegistry implements QueueRegistry
{
- private ConcurrentMap<AMQShortString, AMQQueue> _queueMap = new ConcurrentHashMap<AMQShortString, AMQQueue>();
+ private ConcurrentMap<String, AMQQueue> _queueMap = new ConcurrentHashMap<String, AMQQueue>();
private final VirtualHost _virtualHost;
private final Collection<RegistryChangeListener> _listeners =
@@ -49,7 +48,7 @@ public class DefaultQueueRegistry implements QueueRegistry
public void registerQueue(AMQQueue queue)
{
- _queueMap.put(queue.getNameShortString(), queue);
+ _queueMap.put(queue.getName(), queue);
synchronized (_listeners)
{
for(RegistryChangeListener listener : _listeners)
@@ -59,9 +58,8 @@ public class DefaultQueueRegistry implements QueueRegistry
}
}
- public void unregisterQueue(String nameString)
+ public void unregisterQueue(String name)
{
- AMQShortString name = new AMQShortString(nameString);
AMQQueue q = _queueMap.remove(name);
if(q != null)
{
@@ -75,10 +73,6 @@ public class DefaultQueueRegistry implements QueueRegistry
}
}
- private AMQQueue getQueue(AMQShortString name)
- {
- return _queueMap.get(name);
- }
public Collection<AMQQueue> getQueues()
{
@@ -87,7 +81,7 @@ public class DefaultQueueRegistry implements QueueRegistry
public AMQQueue getQueue(String queue)
{
- return getQueue(new AMQShortString(queue));
+ return _queueMap.get(queue);
}
public void addRegistryChangeListener(RegistryChangeListener listener)
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/InboundMessageAdapter.java b/java/broker/src/main/java/org/apache/qpid/server/queue/InboundMessageAdapter.java
index d7dbd58537..2a78ee430c 100755
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/InboundMessageAdapter.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/InboundMessageAdapter.java
@@ -44,12 +44,6 @@ public class InboundMessageAdapter implements InboundMessage
_entry = entry;
}
-
- public AMQShortString getRoutingKeyShortString()
- {
- return AMQShortString.valueOf(_entry.getMessage().getRoutingKey());
- }
-
public String getRoutingKey()
{
return _entry.getMessage().getRoutingKey();
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/NotificationCheck.java b/java/broker/src/main/java/org/apache/qpid/server/queue/NotificationCheck.java
index 3efef9ab98..566cdd0ea5 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/NotificationCheck.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/NotificationCheck.java
@@ -28,7 +28,7 @@ public enum NotificationCheck
MESSAGE_COUNT_ALERT
{
- public boolean notifyIfNecessary(ServerMessage<?> msg, AMQQueue queue, AMQQueue.NotificationListener listener)
+ public boolean notifyIfNecessary(ServerMessage<?> msg, AMQQueue queue, AMQQueue.NotificationListener listener)
{
int msgCount;
final long maximumMessageCount = queue.getMaximumMessageCount();
@@ -45,7 +45,7 @@ public enum NotificationCheck
},
MESSAGE_SIZE_ALERT(true)
{
- public boolean notifyIfNecessary(ServerMessage<?> msg, AMQQueue queue, AMQQueue.NotificationListener listener)
+ public boolean notifyIfNecessary(ServerMessage<?> msg, AMQQueue queue, AMQQueue.NotificationListener listener)
{
final long maximumMessageSize = queue.getMaximumMessageSize();
if(maximumMessageSize != 0)
@@ -57,7 +57,7 @@ public enum NotificationCheck
if (messageSize >= maximumMessageSize)
{
String notificationMsg = messageSize + "b : Maximum message size threshold ("+ maximumMessageSize +") breached. [Message ID=" + msg.getMessageNumber() + "]";
-
+
logNotification(this, queue, notificationMsg);
listener.notifyClients(this, queue, notificationMsg);
return true;
@@ -69,7 +69,7 @@ public enum NotificationCheck
},
QUEUE_DEPTH_ALERT
{
- public boolean notifyIfNecessary(ServerMessage<?> msg, AMQQueue queue, AMQQueue.NotificationListener listener)
+ public boolean notifyIfNecessary(ServerMessage<?> msg, AMQQueue queue, AMQQueue.NotificationListener listener)
{
// Check for threshold queue depth in bytes
final long maximumQueueDepth = queue.getMaximumQueueDepth();
@@ -81,7 +81,7 @@ public enum NotificationCheck
if (queueDepth >= maximumQueueDepth)
{
String notificationMsg = (queueDepth>>10) + "Kb : Maximum queue depth threshold ("+(maximumQueueDepth>>10)+"Kb) breached.";
-
+
logNotification(this, queue, notificationMsg);
listener.notifyClients(this, queue, notificationMsg);
return true;
@@ -93,7 +93,7 @@ public enum NotificationCheck
},
MESSAGE_AGE_ALERT
{
- public boolean notifyIfNecessary(ServerMessage<?> msg, AMQQueue queue, AMQQueue.NotificationListener listener)
+ public boolean notifyIfNecessary(ServerMessage<?> msg, AMQQueue queue, AMQQueue.NotificationListener listener)
{
final long maxMessageAge = queue.getMaximumMessageAge();
@@ -107,7 +107,7 @@ public enum NotificationCheck
{
long oldestAge = currentTime - firstArrivalTime;
String notificationMsg = (oldestAge/1000) + "s : Maximum age on queue threshold ("+(maxMessageAge /1000)+"s) breached.";
-
+
logNotification(this, queue, notificationMsg);
listener.notifyClients(this, queue, notificationMsg);
@@ -115,7 +115,7 @@ public enum NotificationCheck
}
}
return false;
-
+
}
}
@@ -140,11 +140,11 @@ public enum NotificationCheck
return _messageSpecific;
}
- public abstract boolean notifyIfNecessary(ServerMessage<?> msg, AMQQueue queue, AMQQueue.NotificationListener listener);
+ public abstract boolean notifyIfNecessary(ServerMessage<?> msg, AMQQueue queue, AMQQueue.NotificationListener listener);
//A bit of a hack, only for use until we do the logging listener
private static void logNotification(NotificationCheck notification, AMQQueue queue, String notificationMsg)
{
- LOGGER.info(notification.name() + " On Queue " + queue.getNameShortString() + " - " + notificationMsg);
+ LOGGER.info(notification.name() + " On Queue " + queue.getName() + " - " + notificationMsg);
}
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
index e3dbd62b6c..fb36433799 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/queue/SimpleAMQQueue.java
@@ -78,10 +78,10 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener, Mes
private final VirtualHost _virtualHost;
- private final AMQShortString _name;
+ private final String _name;
/** null means shared */
- private final AMQShortString _owner;
+ private final String _owner;
private AuthorizationHolder _authorizationHolder;
@@ -194,25 +194,16 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener, Mes
private AMQQueue.NotificationListener _notificationListener;
private final long[] _lastNotificationTimes = new long[NotificationCheck.values().length];
- protected SimpleAMQQueue(UUID id, AMQShortString name, boolean durable, AMQShortString owner, boolean autoDelete, boolean exclusive, VirtualHost virtualHost, Map<String,Object> arguments)
- {
- this(id, name, durable, owner, autoDelete, exclusive,virtualHost, new SimpleQueueEntryList.Factory(), arguments);
- }
public SimpleAMQQueue(UUID id, String queueName, boolean durable, String owner, boolean autoDelete, boolean exclusive, VirtualHost virtualHost, Map<String, Object> arguments)
{
this(id, queueName, durable, owner, autoDelete, exclusive, virtualHost, new SimpleQueueEntryList.Factory(), arguments);
}
- public SimpleAMQQueue(UUID id, String queueName, boolean durable, String owner, boolean autoDelete, boolean exclusive, VirtualHost virtualHost, QueueEntryListFactory entryListFactory, Map<String, Object> arguments)
- {
- this(id, queueName == null ? null : new AMQShortString(queueName), durable, owner == null ? null : new AMQShortString(owner), autoDelete, exclusive, virtualHost, entryListFactory, arguments);
- }
-
protected SimpleAMQQueue(UUID id,
- AMQShortString name,
+ String name,
boolean durable,
- AMQShortString owner,
+ String owner,
boolean autoDelete,
boolean exclusive,
VirtualHost virtualHost,
@@ -311,11 +302,6 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener, Mes
}
}
- public AMQShortString getNameShortString()
- {
- return _name;
- }
-
public void setNoLocal(boolean nolocal)
{
_nolocal = nolocal;
@@ -377,7 +363,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener, Mes
return _autoDelete;
}
- public AMQShortString getOwner()
+ public String getOwner()
{
return _owner;
}
@@ -400,7 +386,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener, Mes
public String getName()
{
- return getNameShortString().toString();
+ return _name;
}
// ------ Manage Subscriptions
@@ -1066,7 +1052,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener, Mes
public int compareTo(final AMQQueue o)
{
- return _name.compareTo(o.getNameShortString());
+ return _name.compareTo(o.getName());
}
public AtomicInteger getAtomicQueueCount()
@@ -2196,7 +2182,7 @@ public class SimpleAMQQueue implements AMQQueue, Subscription.StateListener, Mes
@Override
public String toString()
{
- return String.valueOf(getNameShortString());
+ return getName();
}
public long getUnackedMessageCountHigh()
diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/SecurityManager.java b/java/broker/src/main/java/org/apache/qpid/server/security/SecurityManager.java
index 960986ec45..ff45add206 100755
--- a/java/broker/src/main/java/org/apache/qpid/server/security/SecurityManager.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/security/SecurityManager.java
@@ -20,7 +20,6 @@ package org.apache.qpid.server.security;
import org.apache.log4j.Logger;
-import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.server.exchange.Exchange;
import org.apache.qpid.server.model.AccessControlProvider;
@@ -290,7 +289,7 @@ public class SecurityManager implements ConfigurationChangeListener
return true;
}
- public boolean authoriseBind(final Exchange exch, final AMQQueue queue, final AMQShortString routingKey)
+ public boolean authoriseBind(final Exchange exch, final AMQQueue queue, final String routingKey)
{
return checkAllPlugins(new AccessCheck()
{
@@ -352,8 +351,8 @@ public class SecurityManager implements ConfigurationChangeListener
});
}
- public boolean authoriseCreateExchange(final Boolean autoDelete, final Boolean durable, final AMQShortString exchangeName,
- final Boolean internal, final Boolean nowait, final Boolean passive, final AMQShortString exchangeType)
+ public boolean authoriseCreateExchange(final Boolean autoDelete, final Boolean durable, final String exchangeName,
+ final Boolean internal, final Boolean nowait, final Boolean passive, final String exchangeType)
{
return checkAllPlugins(new AccessCheck()
{
@@ -492,7 +491,7 @@ public class SecurityManager implements ConfigurationChangeListener
});
}
- public boolean authoriseUnbind(final Exchange exch, final AMQShortString routingKey, final AMQQueue queue)
+ public boolean authoriseUnbind(final Exchange exch, final String routingKey, final AMQQueue queue)
{
return checkAllPlugins(new AccessCheck()
{
diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/access/ObjectProperties.java b/java/broker/src/main/java/org/apache/qpid/server/security/access/ObjectProperties.java
index 893b371d11..a379f85bbb 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/security/access/ObjectProperties.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/security/access/ObjectProperties.java
@@ -26,7 +26,6 @@ import java.util.Map;
import org.apache.commons.lang.StringUtils;
import org.apache.commons.lang.builder.EqualsBuilder;
-import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.server.exchange.Exchange;
import org.apache.qpid.server.queue.AMQQueue;
@@ -136,12 +135,6 @@ public class ObjectProperties
setName(name);
}
-
- public ObjectProperties(AMQShortString name)
- {
- setName(name);
- }
-
public ObjectProperties(AMQQueue queue)
{
setName(queue.getName());
@@ -164,7 +157,7 @@ public class ObjectProperties
}
}
- public ObjectProperties(Exchange exch, AMQQueue queue, AMQShortString routingKey)
+ public ObjectProperties(Exchange exch, AMQQueue queue, String routingKey)
{
this(queue);
@@ -174,11 +167,6 @@ public class ObjectProperties
put(Property.ROUTING_KEY, routingKey);
}
- public ObjectProperties(Exchange exch, AMQShortString routingKey)
- {
- this(exch.getName(), routingKey.asString());
- }
-
public ObjectProperties(String exchangeName, String routingKey, Boolean immediate)
{
this(exchangeName, routingKey);
@@ -195,8 +183,8 @@ public class ObjectProperties
put(Property.ROUTING_KEY, routingKey);
}
- public ObjectProperties(Boolean autoDelete, Boolean durable, AMQShortString exchangeName,
- Boolean internal, Boolean nowait, Boolean passive, AMQShortString exchangeType)
+ public ObjectProperties(Boolean autoDelete, Boolean durable, String exchangeName,
+ Boolean internal, Boolean nowait, Boolean passive, String exchangeType)
{
super();
@@ -257,16 +245,6 @@ public class ObjectProperties
_properties.put(Property.NAME, name);
}
- public void setName(AMQShortString name)
- {
- put(Property.NAME, name);
- }
-
- public String put(Property key, AMQShortString value)
- {
- return put(key, value == null ? "" : value.asString());
- }
-
public String put(Property key, String value)
{
return _properties.put(key, value == null ? "" : value.trim());
diff --git a/java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/amqplain/AmqPlainSaslServer.java b/java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/amqplain/AmqPlainSaslServer.java
index eecc704011..a4c4fff42f 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/amqplain/AmqPlainSaslServer.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/security/auth/sasl/amqplain/AmqPlainSaslServer.java
@@ -7,9 +7,9 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -61,13 +61,13 @@ public class AmqPlainSaslServer implements SaslServer
try
{
final FieldTable ft = FieldTableFactory.newFieldTable(new DataInputStream(new ByteArrayInputStream(response)), response.length);
- String username = (String) ft.getString("LOGIN");
+ String username = ft.getString("LOGIN");
// we do not care about the prompt but it throws if null
NameCallback nameCb = new NameCallback("prompt", username);
// we do not care about the prompt but it throws if null
PasswordCallback passwordCb = new PasswordCallback("prompt", false);
// TODO: should not get pwd as a String but as a char array...
- String pwd = (String) ft.getString("PASSWORD");
+ String pwd = ft.getString("PASSWORD");
AuthorizeCallback authzCb = new AuthorizeCallback(username, username);
Callback[] callbacks = new Callback[]{nameCb, passwordCb, authzCb};
_cbh.handle(callbacks);
diff --git a/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java b/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java
index 15c2c768bb..d311685375 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/store/DurableConfigurationStoreHelper.java
@@ -53,7 +53,7 @@ public class DurableConfigurationStoreHelper
{
Map<String, Object> attributesMap = new LinkedHashMap<String, Object>();
attributesMap.put(Queue.NAME, queue.getName());
- attributesMap.put(Queue.OWNER, AMQShortString.toString(queue.getOwner()));
+ attributesMap.put(Queue.OWNER, queue.getOwner());
attributesMap.put(Queue.EXCLUSIVE, queue.isExclusive());
if (queue.getAlternateExchange() != null)
@@ -79,7 +79,7 @@ public class DurableConfigurationStoreHelper
{
Map<String, Object> attributesMap = new HashMap<String, Object>();
attributesMap.put(Queue.NAME, queue.getName());
- attributesMap.put(Queue.OWNER, AMQShortString.toString(queue.getOwner()));
+ attributesMap.put(Queue.OWNER, queue.getOwner());
attributesMap.put(Queue.EXCLUSIVE, queue.isExclusive());
if (queue.getAlternateExchange() != null)
{
@@ -106,7 +106,7 @@ public class DurableConfigurationStoreHelper
{
Map<String, Object> attributesMap = new HashMap<String, Object>();
attributesMap.put(Exchange.NAME, exchange.getName());
- attributesMap.put(Exchange.TYPE, AMQShortString.toString(exchange.getTypeShortString()));
+ attributesMap.put(Exchange.TYPE, exchange.getTypeName());
attributesMap.put(Exchange.LIFETIME_POLICY, exchange.isAutoDelete() ? LifetimePolicy.AUTO_DELETE.name()
: LifetimePolicy.PERMANENT.name());
store.create(exchange.getId(), EXCHANGE, attributesMap);
diff --git a/java/broker/src/main/java/org/apache/qpid/server/txn/AsyncAutoCommitTransaction.java b/java/broker/src/main/java/org/apache/qpid/server/txn/AsyncAutoCommitTransaction.java
index 43e60c8e13..31e4dc6def 100755
--- a/java/broker/src/main/java/org/apache/qpid/server/txn/AsyncAutoCommitTransaction.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/txn/AsyncAutoCommitTransaction.java
@@ -38,7 +38,7 @@ import java.util.List;
/**
* An implementation of ServerTransaction where each enqueue/dequeue
* operation takes place within it own transaction.
- *
+ *
* Since there is no long-lived transaction, the commit and rollback methods of
* this implementation are empty.
*/
@@ -98,13 +98,13 @@ public class AsyncAutoCommitTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getNameShortString());
+ _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getName());
}
txn = _messageStore.newTransaction();
txn.dequeueMessage(queue, message);
future = txn.commitTranAsync();
-
+
txn = null;
}
else
@@ -172,7 +172,7 @@ public class AsyncAutoCommitTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getNameShortString());
+ _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getName());
}
if(txn == null)
@@ -220,7 +220,7 @@ public class AsyncAutoCommitTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getNameShortString());
+ _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getName());
}
txn = _messageStore.newTransaction();
@@ -262,19 +262,19 @@ public class AsyncAutoCommitTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getNameShortString());
+ _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getName());
}
if (txn == null)
{
txn = _messageStore.newTransaction();
}
-
+
txn.enqueueMessage(queue, message);
}
}
-
+
}
StoreFuture future;
if (txn != null)
@@ -320,8 +320,8 @@ public class AsyncAutoCommitTransaction implements ServerTransaction
}
});
}
- }
-
+ }
+
public void commit()
{
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/txn/AutoCommitTransaction.java b/java/broker/src/main/java/org/apache/qpid/server/txn/AutoCommitTransaction.java
index 8a9479a2d4..b081641f47 100755
--- a/java/broker/src/main/java/org/apache/qpid/server/txn/AutoCommitTransaction.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/txn/AutoCommitTransaction.java
@@ -37,7 +37,7 @@ import java.util.List;
/**
* An implementation of ServerTransaction where each enqueue/dequeue
* operation takes place within it own transaction.
- *
+ *
* Since there is no long-lived transaction, the commit and rollback methods of
* this implementation are empty.
*/
@@ -82,7 +82,7 @@ public class AutoCommitTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getNameShortString());
+ _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getName());
}
txn = _messageStore.newTransaction();
@@ -119,7 +119,7 @@ public class AutoCommitTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getNameShortString());
+ _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getName());
}
if(txn == null)
@@ -161,7 +161,7 @@ public class AutoCommitTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getNameShortString());
+ _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getName());
}
txn = _messageStore.newTransaction();
@@ -199,19 +199,19 @@ public class AutoCommitTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getNameShortString());
+ _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getName());
}
if (txn == null)
{
txn = _messageStore.newTransaction();
}
-
+
txn.enqueueMessage(queue, message);
}
}
-
+
}
if (txn != null)
{
@@ -240,8 +240,8 @@ public class AutoCommitTransaction implements ServerTransaction
public void commit(final Runnable immediatePostTransactionAction)
{
immediatePostTransactionAction.run();
- }
-
+ }
+
public void commit()
{
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/txn/LocalTransaction.java b/java/broker/src/main/java/org/apache/qpid/server/txn/LocalTransaction.java
index afa7cb0fb4..23265199c7 100755
--- a/java/broker/src/main/java/org/apache/qpid/server/txn/LocalTransaction.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/txn/LocalTransaction.java
@@ -1,5 +1,5 @@
/*
- *
+ *
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
@@ -7,16 +7,16 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
- *
+ *
*/
package org.apache.qpid.server.txn;
@@ -39,7 +39,7 @@ import java.util.List;
/**
* A concrete implementation of ServerTransaction where enqueue/dequeue
* operations share a single long-lived transaction.
- *
+ *
* The caller is responsible for invoking commit() (or rollback()) as necessary.
*/
public class LocalTransaction implements ServerTransaction
@@ -103,7 +103,7 @@ public class LocalTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getNameShortString());
+ _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getName());
}
beginTranIfNecessary();
@@ -135,7 +135,7 @@ public class LocalTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getNameShortString());
+ _logger.debug("Dequeue of message number " + message.getMessageNumber() + " from transaction log. Queue : " + queue.getName());
}
beginTranIfNecessary();
@@ -207,7 +207,7 @@ public class LocalTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getNameShortString());
+ _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getName());
}
beginTranIfNecessary();
@@ -238,7 +238,7 @@ public class LocalTransaction implements ServerTransaction
{
if (_logger.isDebugEnabled())
{
- _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getNameShortString() );
+ _logger.debug("Enqueue of message number " + message.getMessageNumber() + " to transaction log. Queue : " + queue.getName() );
}
beginTranIfNecessary();
diff --git a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
index d782594a0d..02144c6ae1 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/AbstractVirtualHost.java
@@ -479,6 +479,12 @@ public abstract class AbstractVirtualHost implements VirtualHost, IConnectionReg
boolean deleteOnNoConsumer,
Map<String, Object> arguments) throws AMQException
{
+
+ if (queueName == null)
+ {
+ throw new IllegalArgumentException("Queue name must not be null");
+ }
+
// Access check
if (!getSecurityManager().authoriseCreateQueue(autoDelete,
durable,
@@ -610,7 +616,7 @@ public abstract class AbstractVirtualHost implements VirtualHost, IConnectionReg
for(ExchangeType type : getExchangeTypes())
{
- if(type.getDefaultExchangeName().toString().equals( exchange.getName() ))
+ if(type.getDefaultExchangeName().equals( exchange.getName() ))
{
throw new RequiredExchangeException(exchange.getName());
}
@@ -890,8 +896,7 @@ public abstract class AbstractVirtualHost implements VirtualHost, IConnectionReg
q.checkMessageStatus();
} catch (Exception e)
{
- _logger.error("Exception in housekeeping for queue: "
- + q.getNameShortString().toString(), e);
+ _logger.error("Exception in housekeeping for queue: " + q.getName(), e);
//Don't throw exceptions as this will stop the
// house keeping task from running.
}
diff --git a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/BindingRecoverer.java b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/BindingRecoverer.java
index 2d3a620e91..2e1ef61567 100644
--- a/java/broker/src/main/java/org/apache/qpid/server/virtualhost/BindingRecoverer.java
+++ b/java/broker/src/main/java/org/apache/qpid/server/virtualhost/BindingRecoverer.java
@@ -114,7 +114,7 @@ public class BindingRecoverer extends AbstractDurableConfiguredObjectRecoverer<B
{
if(_exchange.getBinding(_bindingName, _queue, _bindingArgumentsMap) == null)
{
- _logger.info("Restoring binding: (Exchange: " + _exchange.getNameShortString() + ", Queue: " + _queue.getName()
+ _logger.info("Restoring binding: (Exchange: " + _exchange.getName() + ", Queue: " + _queue.getName()
+ ", Routing Key: " + _bindingName + ", Arguments: " + _bindingArgumentsMap + ")");
_exchange.restoreBinding(_bindingId, _bindingName, _queue, _bindingArgumentsMap);
diff --git a/java/broker/src/test/java/org/apache/qpid/server/exchange/DefaultExchangeFactoryTest.java b/java/broker/src/test/java/org/apache/qpid/server/exchange/DefaultExchangeFactoryTest.java
index cf6e98d6ca..86ae3e6e9c 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/exchange/DefaultExchangeFactoryTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/exchange/DefaultExchangeFactoryTest.java
@@ -95,7 +95,7 @@ public class DefaultExchangeFactoryTest extends QpidTestCase
}
catch (IllegalStateException e)
{
- assertEquals("Unexpected exception message", "Did not find expected exchange type: " + _directExchangeType.getName(), e.getMessage());
+ assertEquals("Unexpected exception message", "Did not find expected exchange type: " + _directExchangeType.getType(), e.getMessage());
}
}
@@ -112,7 +112,7 @@ public class DefaultExchangeFactoryTest extends QpidTestCase
}
catch (IllegalStateException e)
{
- assertEquals("Unexpected exception message", "Did not find expected exchange type: " + _topicExchangeType.getName(), e.getMessage());
+ assertEquals("Unexpected exception message", "Did not find expected exchange type: " + _topicExchangeType.getType(), e.getMessage());
}
}
@@ -129,7 +129,7 @@ public class DefaultExchangeFactoryTest extends QpidTestCase
}
catch (IllegalStateException e)
{
- assertEquals("Unexpected exception message", "Did not find expected exchange type: " + _fanoutExchangeType.getName(), e.getMessage());
+ assertEquals("Unexpected exception message", "Did not find expected exchange type: " + _fanoutExchangeType.getType(), e.getMessage());
}
}
@@ -146,7 +146,7 @@ public class DefaultExchangeFactoryTest extends QpidTestCase
}
catch (IllegalStateException e)
{
- assertEquals("Unexpected exception message", "Did not find expected exchange type: " + _headersExchangeType.getName(), e.getMessage());
+ assertEquals("Unexpected exception message", "Did not find expected exchange type: " + _headersExchangeType.getType(), e.getMessage());
}
}
@@ -163,7 +163,7 @@ public class DefaultExchangeFactoryTest extends QpidTestCase
catch (IllegalStateException e)
{
assertTrue( "Unexpected exception message", e.getMessage().contains("ExchangeType with type name '"
- + _directExchangeType.getName() + "' is already registered using class '"
+ + _directExchangeType.getType() + "' is already registered using class '"
+ DirectExchangeType.class.getName()));
}
}
@@ -175,24 +175,18 @@ public class DefaultExchangeFactoryTest extends QpidTestCase
@Override
public String getType()
{
- return getName().toString();
+ return "my-custom-exchange";
}
@Override
- public AMQShortString getName()
- {
- return new AMQShortString("my-custom-exchange");
- }
-
- @Override
- public Exchange newInstance(UUID id, VirtualHost host, AMQShortString name, boolean durable,
+ public Exchange newInstance(UUID id, VirtualHost host, String name, boolean durable,
boolean autoDelete) throws AMQException
{
return null;
}
@Override
- public AMQShortString getDefaultExchangeName()
+ public String getDefaultExchangeName()
{
return null;
}
diff --git a/java/broker/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java b/java/broker/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java
index f608bc8cb0..7335d43b2e 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/exchange/FanoutExchangeTest.java
@@ -22,11 +22,13 @@ package org.apache.qpid.server.exchange;
import static org.mockito.Matchers.any;
import static org.mockito.Matchers.anySet;
+import static org.mockito.Matchers.anyString;
import static org.mockito.Mockito.mock;
import static org.mockito.Mockito.when;
import java.util.Collections;
import java.util.List;
+import java.util.Map;
import java.util.Set;
import java.util.UUID;
import junit.framework.TestCase;
@@ -61,22 +63,22 @@ public class FanoutExchangeTest extends TestCase
_virtualHost = mock(VirtualHost.class);
SecurityManager securityManager = mock(SecurityManager.class);
when(_virtualHost.getSecurityManager()).thenReturn(securityManager);
- when(securityManager.authoriseBind(any(Exchange.class), any(AMQQueue.class), any(AMQShortString.class))).thenReturn(true);
- when(securityManager.authoriseUnbind(any(Exchange.class), any(AMQShortString.class), any(AMQQueue.class))).thenReturn(true);
+ when(securityManager.authoriseBind(any(Exchange.class), any(AMQQueue.class), anyString())).thenReturn(true);
+ when(securityManager.authoriseUnbind(any(Exchange.class), anyString(), any(AMQQueue.class))).thenReturn(true);
- _exchange.initialise(UUID.randomUUID(), _virtualHost, AMQShortString.valueOf("test"), false, false);
+ _exchange.initialise(UUID.randomUUID(), _virtualHost, "test", false, false);
}
- public void testIsBoundAMQShortStringFieldTableAMQQueueWhenQueueIsNull()
+ public void testIsBoundStringMapAMQQueueWhenQueueIsNull()
{
assertFalse("calling isBound(AMQShortString,FieldTable,AMQQueue) with null queue should return false",
- _exchange.isBound((AMQShortString) null, (FieldTable) null, (AMQQueue) null));
+ _exchange.isBound((String) null, (Map) null, (AMQQueue) null));
}
- public void testIsBoundAMQShortStringAMQQueueWhenQueueIsNull()
+ public void testIsBoundStringAMQQueueWhenQueueIsNull()
{
assertFalse("calling isBound(AMQShortString,AMQQueue) with null queue should return false",
- _exchange.isBound((AMQShortString) null, (AMQQueue) null));
+ _exchange.isBound((String) null, (AMQQueue) null));
}
public void testIsBoundAMQQueueWhenQueueIsNull()
@@ -84,18 +86,18 @@ public class FanoutExchangeTest extends TestCase
assertFalse("calling isBound(AMQQueue) with null queue should return false", _exchange.isBound((AMQQueue) null));
}
- public void testIsBoundAMQShortStringFieldTableAMQQueue() throws AMQSecurityException, AMQInternalException
+ public void testIsBoundStringMapAMQQueue() throws AMQSecurityException, AMQInternalException
{
AMQQueue queue = bindQueue();
assertTrue("Should return true for a bound queue",
- _exchange.isBound(new AMQShortString("matters"), (FieldTable) null, queue));
+ _exchange.isBound("matters", null, queue));
}
- public void testIsBoundAMQShortStringAMQQueue() throws AMQSecurityException, AMQInternalException
+ public void testIsBoundStringAMQQueue() throws AMQSecurityException, AMQInternalException
{
AMQQueue queue = bindQueue();
assertTrue("Should return true for a bound queue",
- _exchange.isBound(new AMQShortString("matters"), queue));
+ _exchange.isBound("matters", queue));
}
public void testIsBoundAMQQueue() throws AMQSecurityException, AMQInternalException
diff --git a/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java b/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java
index d76c7d1128..0f1ab65244 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/exchange/HeadersExchangeTest.java
@@ -65,10 +65,10 @@ public class HeadersExchangeTest extends TestCase
_virtualHost = mock(VirtualHost.class);
SecurityManager securityManager = mock(SecurityManager.class);
when(_virtualHost.getSecurityManager()).thenReturn(securityManager);
- when(securityManager.authoriseBind(any(Exchange.class), any(AMQQueue.class), any(AMQShortString.class))).thenReturn(true);
- when(securityManager.authoriseUnbind(any(Exchange.class), any(AMQShortString.class), any(AMQQueue.class))).thenReturn(true);
+ when(securityManager.authoriseBind(any(Exchange.class), any(AMQQueue.class), anyString())).thenReturn(true);
+ when(securityManager.authoriseUnbind(any(Exchange.class), anyString(), any(AMQQueue.class))).thenReturn(true);
- _exchange.initialise(UUID.randomUUID(), _virtualHost, AMQShortString.valueOf("test"), false, false);
+ _exchange.initialise(UUID.randomUUID(), _virtualHost, "test", false, false);
}
diff --git a/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java b/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java
index 7adec3d595..a84f5e1ecb 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/exchange/TopicExchangeTest.java
@@ -316,7 +316,6 @@ public class TopicExchangeTest extends QpidTestCase
{
InboundMessage inboundMessage = mock(InboundMessage.class);
when(inboundMessage.getRoutingKey()).thenReturn(routingKey);
- when(inboundMessage.getRoutingKeyShortString()).thenReturn(new AMQShortString(routingKey));
List<? extends BaseQueue> queues = _exchange.route(inboundMessage);
ServerMessage message = mock(ServerMessage.class);
MessageReference ref = mock(MessageReference.class);
diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java
index 1cb4da55c3..f1452b8b88 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/logging/messages/ExchangeMessagesTest.java
@@ -34,8 +34,8 @@ public class ExchangeMessagesTest extends AbstractTestMessages
{
Exchange exchange = BrokerTestHelper.createExchange("test");
- String type = exchange.getTypeShortString().toString();
- String name = exchange.getNameShortString().toString();
+ String type = exchange.getTypeName();
+ String name = exchange.getName();
_logMessage = ExchangeMessages.CREATED(type, name, false);
List<Object> log = performLog();
@@ -49,8 +49,8 @@ public class ExchangeMessagesTest extends AbstractTestMessages
{
Exchange exchange = BrokerTestHelper.createExchange("test");
- String type = exchange.getTypeShortString().toString();
- String name = exchange.getNameShortString().toString();
+ String type = exchange.getTypeName();
+ String name = exchange.getName();
_logMessage = ExchangeMessages.CREATED(type, name, true);
List<Object> log = performLog();
@@ -74,7 +74,7 @@ public class ExchangeMessagesTest extends AbstractTestMessages
{
Exchange exchange = BrokerTestHelper.createExchange("test");
- final String name = exchange.getNameShortString().toString();
+ final String name = exchange.getName();
final String routingKey = "routingKey";
_logMessage = ExchangeMessages.DISCARDMSG(name, routingKey);
diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java
index f779295cd4..cd8f13d52e 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/AbstractTestLogSubject.java
@@ -21,7 +21,6 @@
package org.apache.qpid.server.logging.subjects;
-import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.server.exchange.Exchange;
import org.apache.qpid.server.logging.LogActor;
import org.apache.qpid.server.logging.LogMessage;
@@ -146,14 +145,14 @@ public abstract class AbstractTestLogSubject extends QpidTestCase
* @param message The message to check
* @param routingKey The routing key to check against
*/
- protected void verifyRoutingKey(String message, AMQShortString routingKey)
+ protected void verifyRoutingKey(String message, String routingKey)
{
String routingKeySlice = getSlice("rk", message);
- assertNotNull("Routing Key not found:" + message, routingKey);
+ assertNotNull("Routing Key not found:" + message, routingKeySlice);
assertEquals("Routing key not correct",
- routingKey.toString(), routingKeySlice);
+ routingKey, routingKeySlice);
}
/**
@@ -169,7 +168,7 @@ public abstract class AbstractTestLogSubject extends QpidTestCase
assertNotNull("Queue not found:" + message, queueSlice);
assertEquals("Queue name not correct",
- queue.getNameShortString().toString(), queueSlice);
+ queue.getName(), queueSlice);
}
/**
@@ -191,10 +190,10 @@ public abstract class AbstractTestLogSubject extends QpidTestCase
exchangeParts.length);
assertEquals("Exchange type not correct",
- exchange.getTypeShortString().toString(), exchangeParts[0]);
+ exchange.getType().getType(), exchangeParts[0]);
assertEquals("Exchange name not correct",
- exchange.getNameShortString().toString(), exchangeParts[1]);
+ exchange.getName(), exchangeParts[1]);
}
diff --git a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java
index e63744af9a..e52ead451e 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/logging/subjects/BindingLogSubjectTest.java
@@ -34,7 +34,7 @@ public class BindingLogSubjectTest extends AbstractTestLogSubject
{
private AMQQueue _queue;
- private AMQShortString _routingKey;
+ private String _routingKey;
private Exchange _exchange;
private VirtualHost _testVhost;
@@ -44,12 +44,12 @@ public class BindingLogSubjectTest extends AbstractTestLogSubject
super.setUp();
_testVhost = BrokerTestHelper.createVirtualHost("test");
- _routingKey = new AMQShortString("RoutingKey");
+ _routingKey = "RoutingKey";
_exchange = _testVhost.getExchange("amq.direct");
_queue = new MockAMQQueue("BindingLogSubjectTest");
((MockAMQQueue) _queue).setVirtualHost(_testVhost);
- _subject = new BindingLogSubject(String.valueOf(_routingKey), _exchange, _queue);
+ _subject = new BindingLogSubject(_routingKey, _exchange, _queue);
}
@Override
diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java b/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java
index 62c9b4c46d..ecc20aa48a 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/queue/AMQQueueFactoryTest.java
@@ -39,7 +39,6 @@ import java.util.UUID;
import org.apache.qpid.AMQException;
import org.apache.qpid.exchange.ExchangeDefaults;
-import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.server.configuration.BrokerProperties;
import org.apache.qpid.server.configuration.QueueConfiguration;
import org.apache.qpid.server.configuration.VirtualHostConfiguration;
@@ -51,7 +50,6 @@ import org.apache.qpid.server.logging.actors.CurrentActor;
import org.apache.qpid.server.model.Queue;
import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.plugin.ExchangeType;
-import org.apache.qpid.server.security.SecurityManager;
import org.apache.qpid.server.store.DurableConfigurationStore;
import org.apache.qpid.server.virtualhost.VirtualHost;
import org.apache.qpid.test.utils.QpidTestCase;
@@ -176,9 +174,10 @@ public class AMQQueueFactoryTest extends QpidTestCase
when(exchange.getName()).thenReturn(name);
when(exchange.getId()).thenReturn(id);
when(exchange.getType()).thenReturn(exType);
+
final String typeName = type.getValue();
when(exType.getType()).thenReturn(typeName);
- when(exType.getName()).thenReturn(new AMQShortString(typeName));
+ when(exchange.getTypeName()).thenReturn(typeName);
when(_virtualHost.getExchange(eq(name))).thenReturn(exchange);
when(_virtualHost.getExchange(eq(id))).thenReturn(exchange);
@@ -277,7 +276,7 @@ public class AMQQueueFactoryTest extends QpidTestCase
Exchange altExchange = queue.getAlternateExchange();
assertNotNull("Queue should have an alternate exchange as DLQ is enabled", altExchange);
assertEquals("Alternate exchange name was not as expected", dlExchangeName, altExchange.getName());
- assertEquals("Alternate exchange type was not as expected", ExchangeDefaults.FANOUT_EXCHANGE_CLASS, altExchange.getType().getName());
+ assertEquals("Alternate exchange type was not as expected", ExchangeDefaults.FANOUT_EXCHANGE_CLASS, altExchange.getTypeName());
assertNotNull("The alternate exchange was not registered as expected", _virtualHost.getExchange(dlExchangeName));
assertEquals("The registered exchange was not the expected exchange instance", altExchange, _virtualHost.getExchange(dlExchangeName));
@@ -318,7 +317,7 @@ public class AMQQueueFactoryTest extends QpidTestCase
Exchange altExchange = queue.getAlternateExchange();
assertNotNull("Queue should have an alternate exchange as DLQ is enabled", altExchange);
assertEquals("Alternate exchange name was not as expected", dlExchangeName, altExchange.getName());
- assertEquals("Alternate exchange type was not as expected", ExchangeDefaults.FANOUT_EXCHANGE_CLASS, altExchange.getType().getName());
+ assertEquals("Alternate exchange type was not as expected", ExchangeDefaults.FANOUT_EXCHANGE_CLASS, altExchange.getTypeName());
assertNotNull("The alternate exchange was not registered as expected", _virtualHost.getExchange(dlExchangeName));
assertEquals("The registered exchange was not the expected exchange instance", altExchange, _virtualHost.getExchange(dlExchangeName));
diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/InboundMessageAdapterTest.java b/java/broker/src/test/java/org/apache/qpid/server/queue/InboundMessageAdapterTest.java
index 2f160678ba..584e26d88f 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/queue/InboundMessageAdapterTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/queue/InboundMessageAdapterTest.java
@@ -53,14 +53,6 @@ public class InboundMessageAdapterTest extends QpidTestCase
assertEquals("Unexpected value for routing key", routingKey, _inboundMessageAdapter.getRoutingKey());
}
- public void testGetRoutingKeyShortString() throws Exception
- {
- String routingKey = getTestName();
- when(_mockMessage.getRoutingKey()).thenReturn(routingKey);
-
- AMQShortString routingKeyShortString = AMQShortString.valueOf(routingKey);
- assertEquals("Unexpected value for routing key short string", routingKeyShortString, _inboundMessageAdapter.getRoutingKeyShortString());
- }
public void testGetMessageHeader() throws Exception
{
diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java b/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java
index e490db288c..2a0c12ff3e 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/queue/MockAMQQueue.java
@@ -43,7 +43,7 @@ import java.util.concurrent.CopyOnWriteArrayList;
public class MockAMQQueue implements AMQQueue
{
private boolean _deleted = false;
- private AMQShortString _name;
+ private String _name;
private VirtualHost _virtualhost;
private AuthorizationHolder _authorizationHolder;
@@ -54,7 +54,7 @@ public class MockAMQQueue implements AMQQueue
public MockAMQQueue(String name)
{
- _name = new AMQShortString(name);
+ _name = name;
}
public boolean getDeleteOnNoConsumers()
@@ -163,11 +163,6 @@ public class MockAMQQueue implements AMQQueue
return 0;
}
- public AMQShortString getNameShortString()
- {
- return _name;
- }
-
public void setNoLocal(boolean b)
{
@@ -194,7 +189,7 @@ public class MockAMQQueue implements AMQQueue
}
- public AMQShortString getOwner()
+ public String getOwner()
{
return null;
}
@@ -211,7 +206,7 @@ public class MockAMQQueue implements AMQQueue
public String getName()
{
- return _name.asString();
+ return _name;
}
public void registerSubscription(Subscription subscription, boolean exclusive) throws AMQException
diff --git a/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java b/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java
index 2328745b83..3a41bb9c72 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/queue/SimpleAMQQueueTest.java
@@ -60,41 +60,13 @@ public class SimpleAMQQueueTest extends QpidTestCase
private SimpleAMQQueue _queue;
private VirtualHost _virtualHost;
- private AMQShortString _qname = new AMQShortString("qname");
- private AMQShortString _owner = new AMQShortString("owner");
- private AMQShortString _routingKey = new AMQShortString("routing key");
+ private String _qname = "qname";
+ private String _owner = "owner";
+ private String _routingKey = "routing key";
private DirectExchange _exchange;
private MockSubscription _subscription = new MockSubscription();
private Map<String,Object> _arguments = null;
- private MessagePublishInfo info = new MessagePublishInfo()
- {
-
- public AMQShortString getExchange()
- {
- return null;
- }
-
- public void setExchange(AMQShortString exchange)
- {
- }
-
- public boolean isImmediate()
- {
- return false;
- }
-
- public boolean isMandatory()
- {
- return false;
- }
-
- public AMQShortString getRoutingKey()
- {
- return null;
- }
- };
-
@Override
public void setUp() throws Exception
{
@@ -103,10 +75,10 @@ public class SimpleAMQQueueTest extends QpidTestCase
_virtualHost = BrokerTestHelper.createVirtualHost(getClass().getName());
- _queue = (SimpleAMQQueue) _virtualHost.createQueue(UUIDGenerator.generateRandomUUID(), _qname.asString(), false, _owner.asString(),
+ _queue = (SimpleAMQQueue) _virtualHost.createQueue(UUIDGenerator.generateRandomUUID(), _qname, false, _owner,
false, false, false, _arguments);
- _exchange = (DirectExchange) _virtualHost.getExchange(ExchangeDefaults.DIRECT_EXCHANGE_NAME.toString());
+ _exchange = (DirectExchange) _virtualHost.getExchange(ExchangeDefaults.DIRECT_EXCHANGE_NAME);
}
@Override
@@ -130,7 +102,7 @@ public class SimpleAMQQueueTest extends QpidTestCase
try
{
_queue = (SimpleAMQQueue) _virtualHost.createQueue(UUIDGenerator.generateRandomUUID(), null,
- false, _owner.asString(), false,
+ false, _owner, false,
false, false, _arguments);
assertNull("Queue was created", _queue);
}
@@ -153,7 +125,7 @@ public class SimpleAMQQueueTest extends QpidTestCase
_queue = (SimpleAMQQueue) _virtualHost.createQueue(UUIDGenerator.generateRandomUUID(),
"differentName", false,
- _owner.asString(), false,
+ _owner, false,
false, false, _arguments);
assertNotNull("Queue was not created", _queue);
}
@@ -165,7 +137,7 @@ public class SimpleAMQQueueTest extends QpidTestCase
public void testBinding() throws AMQSecurityException, AMQInternalException
{
- _exchange.addBinding(String.valueOf(_routingKey), _queue, Collections.EMPTY_MAP);
+ _exchange.addBinding(_routingKey, _queue, Collections.EMPTY_MAP);
assertTrue("Routing key was not bound",
_exchange.isBound(_routingKey));
@@ -173,12 +145,12 @@ public class SimpleAMQQueueTest extends QpidTestCase
_exchange.isBound(_routingKey,_queue));
assertEquals("Exchange binding count", 1,
_queue.getBindings().size());
- assertEquals("Wrong exchange bound", String.valueOf(_routingKey),
+ assertEquals("Wrong exchange bound", _routingKey,
_queue.getBindings().get(0).getBindingKey());
assertEquals("Wrong exchange bound", _exchange,
_queue.getBindings().get(0).getExchange());
- _exchange.removeBinding(String.valueOf(_routingKey), _queue, Collections.EMPTY_MAP);
+ _exchange.removeBinding(_routingKey, _queue, Collections.EMPTY_MAP);
assertFalse("Routing key was still bound",
_exchange.isBound(_routingKey));
@@ -873,8 +845,8 @@ public class SimpleAMQQueueTest extends QpidTestCase
int dequeueMessageIndex = 1;
// create queue with overridden method deliverAsync
- SimpleAMQQueue testQueue = new SimpleAMQQueue(UUIDGenerator.generateRandomUUID(), new AMQShortString("test"),
- false, new AMQShortString("testOwner"), false, false, _virtualHost, null)
+ SimpleAMQQueue testQueue = new SimpleAMQQueue(UUIDGenerator.generateRandomUUID(), "test",
+ false, "testOwner", false, false, _virtualHost, null)
{
@Override
public void deliverAsync(Subscription sub)
@@ -944,8 +916,8 @@ public class SimpleAMQQueueTest extends QpidTestCase
public void testEnqueueDequeuedEntry()
{
// create a queue where each even entry is considered a dequeued
- SimpleAMQQueue queue = new SimpleAMQQueue(UUIDGenerator.generateRandomUUID(), new AMQShortString("test"), false,
- new AMQShortString("testOwner"), false, false, _virtualHost, new QueueEntryListFactory()
+ SimpleAMQQueue queue = new SimpleAMQQueue(UUIDGenerator.generateRandomUUID(), "test", false,
+ "testOwner", false, false, _virtualHost, new QueueEntryListFactory()
{
public QueueEntryList createQueueEntryList(AMQQueue queue)
{
@@ -1022,8 +994,8 @@ public class SimpleAMQQueueTest extends QpidTestCase
public void testActiveConsumerCount() throws Exception
{
- final SimpleAMQQueue queue = new SimpleAMQQueue(UUIDGenerator.generateRandomUUID(), new AMQShortString("testActiveConsumerCount"), false,
- new AMQShortString("testOwner"), false, false, _virtualHost, new SimpleQueueEntryList.Factory(), null);
+ final SimpleAMQQueue queue = new SimpleAMQQueue(UUIDGenerator.generateRandomUUID(), "testActiveConsumerCount", false,
+ "testOwner", false, false, _virtualHost, new SimpleQueueEntryList.Factory(), null);
//verify adding an active subscription increases the count
final MockSubscription subscription1 = new MockSubscription();
diff --git a/java/broker/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java b/java/broker/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
index 50a3582811..fd8148f2ce 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/store/AbstractDurableConfigurationStoreTestCase.java
@@ -38,8 +38,6 @@ import java.util.UUID;
import org.apache.commons.configuration.Configuration;
import org.apache.qpid.AMQStoreException;
import org.apache.qpid.common.AMQPFilterTypes;
-import org.apache.qpid.framing.AMQShortString;
-import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.server.binding.Binding;
import org.apache.qpid.server.exchange.Exchange;
import org.apache.qpid.server.message.EnqueableMessage;
@@ -80,7 +78,7 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
private Exchange _exchange = mock(Exchange.class);
private static final String ROUTING_KEY = "routingKey";
private static final String QUEUE_NAME = "queueName";
- private FieldTable _bindingArgs;
+ private Map<String,Object> _bindingArgs;
private UUID _queueId;
private UUID _exchangeId;
private DurableConfigurationStore _configStore;
@@ -108,14 +106,15 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
when(_messageStoreRecoveryHandler.begin()).thenReturn(_storedMessageRecoveryHandler);
when(_logRecoveryHandler.begin(any(MessageStore.class))).thenReturn(_queueEntryRecoveryHandler);
when(_queueEntryRecoveryHandler.completeQueueEntryRecovery()).thenReturn(_dtxRecordRecoveryHandler);
- when(_exchange.getNameShortString()).thenReturn(AMQShortString.valueOf(EXCHANGE_NAME));
+ when(_exchange.getName()).thenReturn(EXCHANGE_NAME);
+
when(_exchange.getId()).thenReturn(_exchangeId);
when(_configuration.getString(eq(MessageStoreConstants.ENVIRONMENT_PATH_PROPERTY), anyString())).thenReturn(
_storePath);
when(_virtualHost.getAttribute(eq(VirtualHost.STORE_PATH))).thenReturn(_storePath);
- _bindingArgs = new FieldTable();
- AMQShortString argKey = AMQPFilterTypes.JMS_SELECTOR.getValue();
+ _bindingArgs = new HashMap<String, Object>();
+ String argKey = AMQPFilterTypes.JMS_SELECTOR.toString();
String argValue = "some selector expression";
_bindingArgs.put(argKey, argValue);
@@ -183,7 +182,7 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
{
AMQQueue queue = createTestQueue(QUEUE_NAME, "queueOwner", false, null);
Binding binding = new Binding(UUIDGenerator.generateRandomUUID(), ROUTING_KEY, queue,
- _exchange, FieldTable.convertToMap(_bindingArgs));
+ _exchange, _bindingArgs);
DurableConfigurationStoreHelper.createBinding(_configStore, binding);
reopenStore();
@@ -192,7 +191,7 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
map.put(org.apache.qpid.server.model.Binding.EXCHANGE, _exchange.getId().toString());
map.put(org.apache.qpid.server.model.Binding.QUEUE, queue.getId().toString());
map.put(org.apache.qpid.server.model.Binding.NAME, ROUTING_KEY);
- map.put(org.apache.qpid.server.model.Binding.ARGUMENTS,FieldTable.convertToMap(_bindingArgs));
+ map.put(org.apache.qpid.server.model.Binding.ARGUMENTS,_bindingArgs);
verify(_recoveryHandler).configuredObject(eq(binding.getId()), eq(BINDING),
eq(map));
@@ -202,7 +201,7 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
{
AMQQueue queue = createTestQueue(QUEUE_NAME, "queueOwner", false, null);
Binding binding = new Binding(UUIDGenerator.generateRandomUUID(), ROUTING_KEY, queue,
- _exchange, FieldTable.convertToMap(_bindingArgs));
+ _exchange, _bindingArgs);
DurableConfigurationStoreHelper.createBinding(_configStore, binding);
DurableConfigurationStoreHelper.removeBinding(_configStore, binding);
@@ -363,8 +362,7 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
{
AMQQueue queue = mock(AMQQueue.class);
when(queue.getName()).thenReturn(queueName);
- when(queue.getNameShortString()).thenReturn(AMQShortString.valueOf(queueName));
- when(queue.getOwner()).thenReturn(AMQShortString.valueOf(queueOwner));
+ when(queue.getOwner()).thenReturn(queueOwner);
when(queue.isExclusive()).thenReturn(exclusive);
when(queue.getId()).thenReturn(_queueId);
when(queue.getAlternateExchange()).thenReturn(alternateExchange);
@@ -391,9 +389,8 @@ public abstract class AbstractDurableConfigurationStoreTestCase extends QpidTest
private Exchange createTestExchange()
{
Exchange exchange = mock(Exchange.class);
- when(exchange.getNameShortString()).thenReturn(AMQShortString.valueOf(getName()));
when(exchange.getName()).thenReturn(getName());
- when(exchange.getTypeShortString()).thenReturn(AMQShortString.valueOf(getName() + "Type"));
+ when(exchange.getTypeName()).thenReturn(getName() + "Type");
when(exchange.isAutoDelete()).thenReturn(true);
when(exchange.getId()).thenReturn(_exchangeId);
return exchange;
diff --git a/java/broker/src/test/java/org/apache/qpid/server/subscription/MockSubscription.java b/java/broker/src/test/java/org/apache/qpid/server/subscription/MockSubscription.java
index 4fa35c2ceb..b26d7530aa 100644
--- a/java/broker/src/test/java/org/apache/qpid/server/subscription/MockSubscription.java
+++ b/java/broker/src/test/java/org/apache/qpid/server/subscription/MockSubscription.java
@@ -47,7 +47,7 @@ public class MockSubscription implements Subscription
{
private boolean _closed = false;
- private AMQShortString tag = new AMQShortString("mocktag");
+ private String tag = "mocktag";
private AMQQueue queue = null;
private StateListener _listener = null;
private volatile AMQQueue.Context _queueContext = null;
@@ -84,7 +84,7 @@ public class MockSubscription implements Subscription
public String getConsumerName()
{
- return tag == null ? null : tag.asString();
+ return tag;
}
public long getSubscriptionID()
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
index aadfb44ca0..0dc5cc68c1 100644
--- a/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
+++ b/java/client/src/main/java/org/apache/qpid/client/AMQConnection.java
@@ -152,10 +152,10 @@ public class AMQConnection extends Closeable implements Connection, QueueConnect
*/
private QpidConnectionMetaData _connectionMetaData;
- private AMQShortString _defaultTopicExchangeName = ExchangeDefaults.TOPIC_EXCHANGE_NAME;
- private AMQShortString _defaultQueueExchangeName = ExchangeDefaults.DIRECT_EXCHANGE_NAME;
- private AMQShortString _temporaryTopicExchangeName = ExchangeDefaults.TOPIC_EXCHANGE_NAME;
- private AMQShortString _temporaryQueueExchangeName = ExchangeDefaults.DIRECT_EXCHANGE_NAME;
+ private AMQShortString _defaultTopicExchangeName = AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_NAME);
+ private AMQShortString _defaultQueueExchangeName = AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_NAME);
+ private AMQShortString _temporaryTopicExchangeName = AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_NAME);
+ private AMQShortString _temporaryQueueExchangeName = AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_NAME);
/** Thread Pool for executing connection level processes. Such as returning bounced messages. */
private final ExecutorService _taskPool = Executors.newCachedThreadPool();
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java b/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java
index fc7762e77d..91c23ff384 100644
--- a/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java
+++ b/java/client/src/main/java/org/apache/qpid/client/AMQDestination.java
@@ -47,7 +47,7 @@ import java.util.concurrent.atomic.AtomicLong;
public abstract class AMQDestination implements Destination, Referenceable
{
private static final Logger _logger = LoggerFactory.getLogger(AMQDestination.class);
-
+
private AMQShortString _exchangeName;
private AMQShortString _exchangeClass;
@@ -65,7 +65,7 @@ public abstract class AMQDestination implements Destination, Referenceable
private boolean _isAutoDelete;
private boolean _browseOnly;
-
+
private AtomicLong _addressResolved = new AtomicLong(0);
private AMQShortString _queueName;
@@ -113,10 +113,10 @@ public abstract class AMQDestination implements Destination, Referenceable
}
// ----- Fields required to support new address syntax -------
-
- public enum DestSyntax {
+
+ public enum DestSyntax {
BURL,ADDR;
-
+
public static DestSyntax getSyntaxType(String s)
{
if (("BURL").equals(s))
@@ -133,11 +133,11 @@ public abstract class AMQDestination implements Destination, Referenceable
" should be one of {BURL|ADDR}");
}
}
- }
-
- public enum AddressOption {
- ALWAYS, NEVER, SENDER, RECEIVER;
-
+ }
+
+ public enum AddressOption {
+ ALWAYS, NEVER, SENDER, RECEIVER;
+
public static AddressOption getOption(String str)
{
if ("always".equals(str))
@@ -162,9 +162,9 @@ public abstract class AMQDestination implements Destination, Referenceable
}
}
}
-
+
private final static DestSyntax defaultDestSyntax;
-
+
private DestSyntax _destSyntax = DestSyntax.ADDR;
private AddressHelper _addrHelper;
@@ -179,25 +179,25 @@ public abstract class AMQDestination implements Destination, Referenceable
private Node _node;
private Link _link;
-
+
// ----- / Fields required to support new address syntax -------
-
+
static
{
defaultDestSyntax = DestSyntax.getSyntaxType(
System.getProperty(ClientProperties.DEST_SYNTAX,
DestSyntax.ADDR.toString()));
-
-
+
+
}
-
+
public static DestSyntax getDefaultDestSyntax()
{
return defaultDestSyntax;
}
protected AMQDestination()
- {
+ {
}
protected AMQDestination(Address address) throws Exception
@@ -207,10 +207,10 @@ public abstract class AMQDestination implements Destination, Referenceable
_destSyntax = DestSyntax.ADDR;
_logger.debug("Based on " + address + " the selected destination syntax is " + _destSyntax);
}
-
+
public static DestSyntax getDestType(String str)
{
- if (str.startsWith("BURL:") ||
+ if (str.startsWith("BURL:") ||
(!str.startsWith("ADDR:") && defaultDestSyntax == DestSyntax.BURL))
{
return DestSyntax.BURL;
@@ -220,7 +220,7 @@ public abstract class AMQDestination implements Destination, Referenceable
return DestSyntax.ADDR;
}
}
-
+
public static String stripSyntaxPrefix(String str)
{
if (str.startsWith("BURL:") || str.startsWith("ADDR:"))
@@ -232,7 +232,7 @@ public abstract class AMQDestination implements Destination, Referenceable
return str;
}
}
-
+
protected AMQDestination(String str) throws URISyntaxException
{
parseDestinationString(str);
@@ -243,8 +243,8 @@ public abstract class AMQDestination implements Destination, Referenceable
_destSyntax = getDestType(str);
str = stripSyntaxPrefix(str);
if (_destSyntax == DestSyntax.BURL)
- {
- getInfoFromBindingURL(new AMQBindingURL(str));
+ {
+ getInfoFromBindingURL(new AMQBindingURL(str));
}
else
{
@@ -262,7 +262,7 @@ public abstract class AMQDestination implements Destination, Referenceable
}
_logger.debug("Based on " + str + " the selected destination syntax is " + _destSyntax);
}
-
+
//retained for legacy support
protected AMQDestination(BindingURL binding)
{
@@ -331,8 +331,8 @@ public abstract class AMQDestination implements Destination, Referenceable
protected AMQDestination(AMQShortString exchangeName, AMQShortString exchangeClass, AMQShortString routingKey, boolean isExclusive,
boolean isAutoDelete, AMQShortString queueName, boolean isDurable,AMQShortString[] bindingKeys, boolean browseOnly)
{
- if ( (ExchangeDefaults.DIRECT_EXCHANGE_CLASS.equals(exchangeClass) ||
- ExchangeDefaults.TOPIC_EXCHANGE_CLASS.equals(exchangeClass))
+ if ( (AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS).equals(exchangeClass) ||
+ AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS).equals(exchangeClass))
&& routingKey == null)
{
throw new IllegalArgumentException("routing/binding key must not be null");
@@ -376,16 +376,16 @@ public abstract class AMQDestination implements Destination, Referenceable
return toString();
}
- public DestSyntax getDestSyntax()
+ public DestSyntax getDestSyntax()
{
return _destSyntax;
}
-
+
protected void setDestSyntax(DestSyntax syntax)
{
_destSyntax = syntax;
}
-
+
public AMQShortString getEncodedName()
{
if(_urlAsShortString == null)
@@ -431,12 +431,12 @@ public abstract class AMQDestination implements Destination, Referenceable
public boolean isTopic()
{
- return ExchangeDefaults.TOPIC_EXCHANGE_CLASS.equals(_exchangeClass);
+ return AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS).equals(_exchangeClass);
}
public boolean isQueue()
{
- return ExchangeDefaults.DIRECT_EXCHANGE_CLASS.equals(_exchangeClass);
+ return AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS).equals(_exchangeClass);
}
public String getQueueName()
@@ -481,7 +481,7 @@ public abstract class AMQDestination implements Destination, Referenceable
{
return _isExclusive;
}
-
+
public boolean isAutoDelete()
{
return _isAutoDelete;
@@ -720,15 +720,15 @@ public abstract class AMQDestination implements Destination, Referenceable
{
AMQShortString type = binding.getExchangeClass();
- if (type.equals(ExchangeDefaults.DIRECT_EXCHANGE_CLASS))
+ if (type.equals(AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS)))
{
return new AMQQueue(binding);
}
- else if (type.equals(ExchangeDefaults.TOPIC_EXCHANGE_CLASS))
+ else if (type.equals(AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS)))
{
return new AMQTopic(binding);
}
- else if (type.equals(ExchangeDefaults.HEADERS_EXCHANGE_CLASS))
+ else if (type.equals(AMQShortString.valueOf(ExchangeDefaults.HEADERS_EXCHANGE_CLASS)))
{
return new AMQHeadersExchange(binding);
}
@@ -743,8 +743,8 @@ public abstract class AMQDestination implements Destination, Referenceable
DestSyntax syntax = getDestType(str);
str = stripSyntaxPrefix(str);
if (syntax == DestSyntax.BURL)
- {
- return createDestination(new AMQBindingURL(str));
+ {
+ return createDestination(new AMQBindingURL(str));
}
else
{
@@ -752,16 +752,16 @@ public abstract class AMQDestination implements Destination, Referenceable
return new AMQAnyDestination(address);
}
}
-
+
// ----- new address syntax -----------
-
+
public static class Binding
{
private String exchange;
private String bindingKey;
private String queue;
private Map<String,Object> args;
-
+
public Binding(String exchange,
String queue,
String bindingKey,
@@ -772,36 +772,36 @@ public abstract class AMQDestination implements Destination, Referenceable
this.bindingKey = bindingKey;
this.args = args;
}
-
- public String getExchange()
+
+ public String getExchange()
{
return exchange;
}
- public String getQueue()
+ public String getQueue()
{
return queue;
}
-
- public String getBindingKey()
+
+ public String getBindingKey()
{
return bindingKey;
}
-
- public Map<String, Object> getArgs()
+
+ public Map<String, Object> getArgs()
{
return args;
}
}
-
+
public Address getAddress() {
return _address;
}
-
+
protected void setAddress(Address addr) {
_address = addr;
}
-
+
public int getAddressType(){
return _addressType;
}
@@ -809,11 +809,11 @@ public abstract class AMQDestination implements Destination, Referenceable
public void setAddressType(int addressType){
_addressType = addressType;
}
-
+
public String getAddressName() {
return _name;
}
-
+
public void setAddressName(String name){
_name = name;
}
@@ -825,15 +825,15 @@ public abstract class AMQDestination implements Destination, Referenceable
public void setSubject(String subject) {
_subject = subject;
}
-
+
public AddressOption getCreate() {
return _create;
}
-
+
public void setCreate(AddressOption option) {
_create = option;
}
-
+
public AddressOption getAssert() {
return _assert;
}
@@ -841,7 +841,7 @@ public abstract class AMQDestination implements Destination, Referenceable
public void setAssert(AddressOption option) {
_assert = option;
}
-
+
public AddressOption getDelete() {
return _delete;
}
@@ -869,22 +869,22 @@ public abstract class AMQDestination implements Destination, Referenceable
{
_link = link;
}
-
+
public void setExchangeName(AMQShortString name)
{
this._exchangeName = name;
}
-
+
public void setExchangeClass(AMQShortString type)
{
this._exchangeClass = type;
}
-
+
public void setRoutingKey(AMQShortString rk)
{
this._routingKey = rk;
}
-
+
public boolean isAddressResolved()
{
return _addressResolved.get() > 0;
@@ -894,80 +894,80 @@ public abstract class AMQDestination implements Destination, Referenceable
{
_addressResolved.set(addressResolved);
}
-
+
private static Address createAddressFromString(String str)
{
return Address.parse(str);
}
-
+
private void getInfoFromAddress() throws Exception
{
_name = _address.getName();
_subject = _address.getSubject();
-
+
_addrHelper = new AddressHelper(_address);
-
+
_create = _addrHelper.getCreate() != null ?
AddressOption.getOption(_addrHelper.getCreate()):AddressOption.NEVER;
-
+
_assert = _addrHelper.getAssert() != null ?
AddressOption.getOption(_addrHelper.getAssert()):AddressOption.NEVER;
_delete = _addrHelper.getDelete() != null ?
AddressOption.getOption(_addrHelper.getDelete()):AddressOption.NEVER;
-
+
_browseOnly = _addrHelper.isBrowseOnly();
-
+
_addressType = _addrHelper.getNodeType();
_node = _addrHelper.getNode();
- _link = _addrHelper.getLink();
+ _link = _addrHelper.getLink();
}
-
- // ----- / new address syntax -----------
+
+ // ----- / new address syntax -----------
public boolean isBrowseOnly()
{
return _browseOnly;
}
-
+
private void setBrowseOnly(boolean b)
{
_browseOnly = b;
}
-
+
public AMQDestination copyDestination()
{
- AMQDestination dest =
+ AMQDestination dest =
new AMQAnyDestination(_exchangeName,
_exchangeClass,
_routingKey,
- _isExclusive,
+ _isExclusive,
_isAutoDelete,
- _queueName,
+ _queueName,
_isDurable,
_bindingKeys
);
-
+
dest.setDestSyntax(_destSyntax);
dest.setAddress(_address);
dest.setAddressName(_name);
dest.setSubject(_subject);
- dest.setCreate(_create);
- dest.setAssert(_assert);
- dest.setDelete(_delete);
+ dest.setCreate(_create);
+ dest.setAssert(_assert);
+ dest.setDelete(_delete);
dest.setBrowseOnly(_browseOnly);
dest.setAddressType(_addressType);
dest.setNode(_node);
dest.setLink(_link);
dest.setAddressResolved(_addressResolved.get());
- return dest;
+ return dest;
}
-
+
protected void setAutoDelete(boolean b)
{
_isAutoDelete = b;
}
-
+
protected void setDurable(boolean b)
{
_isDurable = b;
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQHeadersExchange.java b/java/client/src/main/java/org/apache/qpid/client/AMQHeadersExchange.java
index 922cc1e2a7..714c38d37b 100644
--- a/java/client/src/main/java/org/apache/qpid/client/AMQHeadersExchange.java
+++ b/java/client/src/main/java/org/apache/qpid/client/AMQHeadersExchange.java
@@ -41,7 +41,7 @@ public class AMQHeadersExchange extends AMQDestination
public AMQHeadersExchange(AMQShortString queueName)
{
- super(queueName, ExchangeDefaults.HEADERS_EXCHANGE_CLASS, queueName, true, true, null);
+ super(queueName, AMQShortString.valueOf(ExchangeDefaults.HEADERS_EXCHANGE_CLASS), queueName, true, true, null);
}
public boolean isNameRequired()
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQQueue.java b/java/client/src/main/java/org/apache/qpid/client/AMQQueue.java
index 3e37f74d98..0f375e4921 100644
--- a/java/client/src/main/java/org/apache/qpid/client/AMQQueue.java
+++ b/java/client/src/main/java/org/apache/qpid/client/AMQQueue.java
@@ -38,7 +38,7 @@ public class AMQQueue extends AMQDestination implements Queue
{
super(address);
}
-
+
/**
* Create a reference to a non temporary queue using a BindingURL object.
* Note this does not actually imply the queue exists.
@@ -70,13 +70,13 @@ public class AMQQueue extends AMQDestination implements Queue
public AMQQueue(AMQShortString exchangeName, AMQShortString routingKey, AMQShortString queueName)
{
- super(exchangeName, ExchangeDefaults.DIRECT_EXCHANGE_CLASS, routingKey, false,
+ super(exchangeName, AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS), routingKey, false,
false, queueName, false);
}
public AMQQueue(AMQShortString exchangeName, AMQShortString routingKey, AMQShortString queueName,AMQShortString[] bindingKeys)
{
- super(exchangeName, ExchangeDefaults.DIRECT_EXCHANGE_CLASS, routingKey, false,
+ super(exchangeName, AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS), routingKey, false,
false, queueName, false,bindingKeys);
}
@@ -149,7 +149,7 @@ public class AMQQueue extends AMQDestination implements Queue
public AMQQueue(AMQShortString exchangeName, AMQShortString routingKey, AMQShortString queueName, boolean exclusive, boolean autoDelete, boolean durable,AMQShortString[] bindingKeys)
{
- super(exchangeName, ExchangeDefaults.DIRECT_EXCHANGE_CLASS, routingKey, exclusive,
+ super(exchangeName, AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS), routingKey, exclusive,
autoDelete, queueName, durable, bindingKeys);
}
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java b/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
index 6b87316e87..9657a49d98 100644
--- a/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
+++ b/java/client/src/main/java/org/apache/qpid/client/AMQSession_0_10.java
@@ -1380,7 +1380,7 @@ public class AMQSession_0_10 extends AMQSession<BasicMessageConsumer_0_10, Basic
dest.setExchangeName(new AMQShortString(dest.getAddressName()));
Node node = dest.getNode();
dest.setExchangeClass(node.getExchangeType() == null?
- ExchangeDefaults.TOPIC_EXCHANGE_CLASS:
+ AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS):
new AMQShortString(node.getExchangeType()));
dest.setRoutingKey(new AMQShortString(dest.getSubject()));
}
diff --git a/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java b/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java
index d78e725a5d..4cc32022dc 100644
--- a/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java
+++ b/java/client/src/main/java/org/apache/qpid/client/AMQTopic.java
@@ -60,12 +60,12 @@ public class AMQTopic extends AMQDestination implements Topic
public AMQTopic(AMQShortString exchange, AMQShortString routingKey, AMQShortString queueName)
{
- super(exchange, ExchangeDefaults.TOPIC_EXCHANGE_CLASS, routingKey, true, true, queueName, false);
+ super(exchange, AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS), routingKey, true, true, queueName, false);
}
public AMQTopic(AMQShortString exchange, AMQShortString routingKey, AMQShortString queueName,AMQShortString[] bindingKeys)
{
- super(exchange, ExchangeDefaults.TOPIC_EXCHANGE_CLASS, routingKey, true, true, queueName, false,bindingKeys);
+ super(exchange, AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS), routingKey, true, true, queueName, false,bindingKeys);
}
public AMQTopic(AMQConnection conn, String routingKey)
@@ -73,6 +73,10 @@ public class AMQTopic extends AMQDestination implements Topic
this(conn.getDefaultTopicExchangeName(), new AMQShortString(routingKey));
}
+ public AMQTopic(String exchangeName, String routingKey)
+ {
+ this(AMQShortString.valueOf(exchangeName), new AMQShortString(routingKey));
+ }
public AMQTopic(AMQShortString exchangeName, String routingKey)
{
@@ -86,7 +90,7 @@ public class AMQTopic extends AMQDestination implements Topic
public AMQTopic(AMQShortString exchangeName, AMQShortString name, boolean isAutoDelete, AMQShortString queueName, boolean isDurable)
{
- super(exchangeName, ExchangeDefaults.TOPIC_EXCHANGE_CLASS, name, true, isAutoDelete, queueName, isDurable);
+ super(exchangeName, AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS), name, true, isAutoDelete, queueName, isDurable);
}
diff --git a/java/client/src/main/java/org/apache/qpid/client/message/AbstractAMQMessageDelegate.java b/java/client/src/main/java/org/apache/qpid/client/message/AbstractAMQMessageDelegate.java
index 1395f39b99..ad19b0e620 100644
--- a/java/client/src/main/java/org/apache/qpid/client/message/AbstractAMQMessageDelegate.java
+++ b/java/client/src/main/java/org/apache/qpid/client/message/AbstractAMQMessageDelegate.java
@@ -46,7 +46,7 @@ import java.util.concurrent.ConcurrentHashMap;
public abstract class AbstractAMQMessageDelegate implements AMQMessageDelegate
{
- private static Map<String, Integer> _exchangeTypeToDestinationType = new ConcurrentHashMap<String, Integer>();
+ private static Map<String, Integer> _exchangeTypeToDestinationType = new ConcurrentHashMap<String, Integer>();
private static Map<String,ExchangeInfo> _exchangeMap = new ConcurrentHashMap<String, ExchangeInfo>();
/**
@@ -55,32 +55,32 @@ public abstract class AbstractAMQMessageDelegate implements AMQMessageDelegate
static
{
_exchangeTypeToDestinationType.put("", AMQDestination.QUEUE_TYPE);
- _exchangeTypeToDestinationType.put(ExchangeDefaults.DIRECT_EXCHANGE_CLASS.toString(), AMQDestination.QUEUE_TYPE);
- _exchangeTypeToDestinationType.put(ExchangeDefaults.TOPIC_EXCHANGE_CLASS.toString(), AMQDestination.TOPIC_TYPE);
- _exchangeTypeToDestinationType.put(ExchangeDefaults.FANOUT_EXCHANGE_CLASS.toString(), AMQDestination.TOPIC_TYPE);
- _exchangeTypeToDestinationType.put(ExchangeDefaults.HEADERS_EXCHANGE_CLASS.toString(), AMQDestination.QUEUE_TYPE);
-
+ _exchangeTypeToDestinationType.put(ExchangeDefaults.DIRECT_EXCHANGE_CLASS, AMQDestination.QUEUE_TYPE);
+ _exchangeTypeToDestinationType.put(ExchangeDefaults.TOPIC_EXCHANGE_CLASS, AMQDestination.TOPIC_TYPE);
+ _exchangeTypeToDestinationType.put(ExchangeDefaults.FANOUT_EXCHANGE_CLASS, AMQDestination.TOPIC_TYPE);
+ _exchangeTypeToDestinationType.put(ExchangeDefaults.HEADERS_EXCHANGE_CLASS, AMQDestination.QUEUE_TYPE);
+
_exchangeMap.put("", new ExchangeInfo("","",AMQDestination.QUEUE_TYPE));
-
- _exchangeMap.put(ExchangeDefaults.DIRECT_EXCHANGE_NAME.toString(),
- new ExchangeInfo(ExchangeDefaults.DIRECT_EXCHANGE_NAME.toString(),
- ExchangeDefaults.DIRECT_EXCHANGE_CLASS.toString(),
+
+ _exchangeMap.put(ExchangeDefaults.DIRECT_EXCHANGE_NAME,
+ new ExchangeInfo(ExchangeDefaults.DIRECT_EXCHANGE_NAME,
+ ExchangeDefaults.DIRECT_EXCHANGE_CLASS,
AMQDestination.QUEUE_TYPE));
-
- _exchangeMap.put(ExchangeDefaults.TOPIC_EXCHANGE_NAME.toString(),
- new ExchangeInfo(ExchangeDefaults.TOPIC_EXCHANGE_NAME.toString(),
- ExchangeDefaults.TOPIC_EXCHANGE_CLASS.toString(),
+
+ _exchangeMap.put(ExchangeDefaults.TOPIC_EXCHANGE_NAME,
+ new ExchangeInfo(ExchangeDefaults.TOPIC_EXCHANGE_NAME,
+ ExchangeDefaults.TOPIC_EXCHANGE_CLASS,
AMQDestination.TOPIC_TYPE));
-
- _exchangeMap.put(ExchangeDefaults.FANOUT_EXCHANGE_NAME.toString(),
- new ExchangeInfo(ExchangeDefaults.FANOUT_EXCHANGE_NAME.toString(),
- ExchangeDefaults.FANOUT_EXCHANGE_CLASS.toString(),
+
+ _exchangeMap.put(ExchangeDefaults.FANOUT_EXCHANGE_NAME,
+ new ExchangeInfo(ExchangeDefaults.FANOUT_EXCHANGE_NAME,
+ ExchangeDefaults.FANOUT_EXCHANGE_CLASS,
AMQDestination.TOPIC_TYPE));
-
- _exchangeMap.put(ExchangeDefaults.HEADERS_EXCHANGE_NAME.toString(),
- new ExchangeInfo(ExchangeDefaults.HEADERS_EXCHANGE_NAME.toString(),
- ExchangeDefaults.HEADERS_EXCHANGE_CLASS.toString(),
- AMQDestination.QUEUE_TYPE));
+
+ _exchangeMap.put(ExchangeDefaults.HEADERS_EXCHANGE_NAME,
+ new ExchangeInfo(ExchangeDefaults.HEADERS_EXCHANGE_NAME,
+ ExchangeDefaults.HEADERS_EXCHANGE_CLASS,
+ AMQDestination.QUEUE_TYPE));
}
/** If the acknowledge mode is CLIENT_ACKNOWLEDGE the session is required */
@@ -115,19 +115,19 @@ public abstract class AbstractAMQMessageDelegate implements AMQMessageDelegate
{
AMQDestination dest;
ExchangeInfo exchangeInfo = _exchangeMap.get(exchange.asString());
-
+
if (exchangeInfo == null)
{
exchangeInfo = new ExchangeInfo(exchange.asString(),"",AMQDestination.UNKNOWN_TYPE);
}
-
+
if ("topic".equals(exchangeInfo.getExchangeType()))
{
dest = new AMQTopic(exchange, routingKey, null);
}
else if ("direct".equals(exchangeInfo.getExchangeType()))
{
- dest = new AMQQueue(exchange, routingKey, routingKey);
+ dest = new AMQQueue(exchange, routingKey, routingKey);
}
else
{
@@ -161,7 +161,7 @@ public abstract class AbstractAMQMessageDelegate implements AMQMessageDelegate
{
type = AMQDestination.UNKNOWN_TYPE;
}
-
+
_exchangeMap.put(exchange, new ExchangeInfo(exchange,newtype,type));
}
@@ -226,7 +226,7 @@ class ExchangeInfo
private String exchangeName;
private String exchangeType;
private int destType = AMQDestination.QUEUE_TYPE;
-
+
public ExchangeInfo(String exchangeName, String exchangeType,
int destType)
{
diff --git a/java/client/src/main/java/org/apache/qpid/jndi/PropertiesFileInitialContextFactory.java b/java/client/src/main/java/org/apache/qpid/jndi/PropertiesFileInitialContextFactory.java
index f17fb9b5f5..8c23ddad5e 100644
--- a/java/client/src/main/java/org/apache/qpid/jndi/PropertiesFileInitialContextFactory.java
+++ b/java/client/src/main/java/org/apache/qpid/jndi/PropertiesFileInitialContextFactory.java
@@ -274,11 +274,11 @@ public class PropertiesFileInitialContextFactory implements InitialContextFactor
{
if (value instanceof AMQShortString)
{
- return new AMQQueue(ExchangeDefaults.DIRECT_EXCHANGE_NAME, (AMQShortString) value);
+ return new AMQQueue(AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_NAME), (AMQShortString) value);
}
else if (value instanceof String)
{
- return new AMQQueue(ExchangeDefaults.DIRECT_EXCHANGE_NAME, new AMQShortString((String) value));
+ return new AMQQueue(AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_NAME), new AMQShortString((String) value));
}
else if (value instanceof BindingURL)
{
@@ -295,7 +295,7 @@ public class PropertiesFileInitialContextFactory implements InitialContextFactor
{
if (value instanceof AMQShortString)
{
- return new AMQTopic(ExchangeDefaults.TOPIC_EXCHANGE_NAME, (AMQShortString) value);
+ return new AMQTopic(AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_NAME), (AMQShortString) value);
}
else if (value instanceof String)
{
@@ -309,7 +309,7 @@ public class PropertiesFileInitialContextFactory implements InitialContextFactor
}
// The Destination has a dual nature. If this was used for a producer the key is used
// for the routing key. If it was used for the consumer it becomes the bindingKey
- return new AMQTopic(ExchangeDefaults.TOPIC_EXCHANGE_NAME,bindings[0],null,bindings);
+ return new AMQTopic(AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_NAME),bindings[0],null,bindings);
}
else if (value instanceof BindingURL)
{
diff --git a/java/client/src/test/java/org/apache/qpid/test/unit/client/destinationurl/DestinationURLTest.java b/java/client/src/test/java/org/apache/qpid/test/unit/client/destinationurl/DestinationURLTest.java
index 4c558906b3..9c9664931a 100644
--- a/java/client/src/test/java/org/apache/qpid/test/unit/client/destinationurl/DestinationURLTest.java
+++ b/java/client/src/test/java/org/apache/qpid/test/unit/client/destinationurl/DestinationURLTest.java
@@ -139,7 +139,7 @@ public class DestinationURLTest extends TestCase
AMQBindingURL dest = new AMQBindingURL(url);
- assertTrue(dest.getExchangeClass().equals(ExchangeDefaults.DIRECT_EXCHANGE_CLASS));
+ assertTrue(dest.getExchangeClass().equals(AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS)));
assertTrue(dest.getExchangeName().equalsCharSequence(""));
assertTrue(dest.getDestinationName().equalsCharSequence(""));
assertTrue(dest.getQueueName().equalsCharSequence("IBMPerfQueue1"));
diff --git a/java/common/src/main/java/org/apache/qpid/AMQChannelException.java b/java/common/src/main/java/org/apache/qpid/AMQChannelException.java
index 44cd603a8d..df71ece787 100644
--- a/java/common/src/main/java/org/apache/qpid/AMQChannelException.java
+++ b/java/common/src/main/java/org/apache/qpid/AMQChannelException.java
@@ -7,9 +7,9 @@
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
- *
+ *
* http://www.apache.org/licenses/LICENSE-2.0
- *
+ *
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
@@ -21,6 +21,7 @@
package org.apache.qpid;
import org.apache.qpid.framing.AMQFrame;
+import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.MethodRegistry;
import org.apache.qpid.framing.ProtocolVersion;
import org.apache.qpid.protocol.AMQConstant;
@@ -56,7 +57,8 @@ public class AMQChannelException extends AMQException
public AMQFrame getCloseFrame(int channel)
{
MethodRegistry reg = MethodRegistry.getMethodRegistry(new ProtocolVersion(major,minor));
- return new AMQFrame(channel, reg.createChannelCloseBody(getErrorCode() == null ? AMQConstant.INTERNAL_ERROR.getCode() : getErrorCode().getCode(), getMessageAsShortString(),_classId,_methodId));
+ return new AMQFrame(channel, reg.createChannelCloseBody(getErrorCode() == null ? AMQConstant.INTERNAL_ERROR.getCode() : getErrorCode().getCode(),
+ AMQShortString.validValueOf(getMessage()),_classId,_methodId));
}
}
diff --git a/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java b/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java
index c7a0816f91..ef108eeb67 100644
--- a/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java
+++ b/java/common/src/main/java/org/apache/qpid/AMQConnectionException.java
@@ -22,6 +22,7 @@
package org.apache.qpid;
import org.apache.qpid.framing.AMQFrame;
+import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.MethodRegistry;
import org.apache.qpid.framing.ProtocolVersion;
import org.apache.qpid.protocol.AMQConstant;
@@ -64,7 +65,7 @@ public class AMQConnectionException extends AMQException
MethodRegistry reg = MethodRegistry.getMethodRegistry(new ProtocolVersion(major,minor));
return new AMQFrame(0,
reg.createConnectionCloseBody(getErrorCode().getCode(),
- getMessageAsShortString(),
+ AMQShortString.validValueOf(getMessage()),
_classId,
_methodId));
diff --git a/java/common/src/main/java/org/apache/qpid/AMQException.java b/java/common/src/main/java/org/apache/qpid/AMQException.java
index 40ecc3a946..591202d934 100644
--- a/java/common/src/main/java/org/apache/qpid/AMQException.java
+++ b/java/common/src/main/java/org/apache/qpid/AMQException.java
@@ -39,7 +39,7 @@ public class AMQException extends Exception
{
/** Holds the AMQ error code constant associated with this exception. */
private AMQConstant _errorCode;
-
+
private boolean _isHardError;
/**
@@ -75,13 +75,13 @@ public class AMQException extends Exception
* Deprecated constructors brought from M2.1
*/
@Deprecated
- public AMQException(String msg)
+ public AMQException(String msg)
{
this(null, (msg == null) ? "" : msg);
}
-
- @Deprecated
- public AMQException(AMQConstant errorCode, String msg)
+
+ @Deprecated
+ public AMQException(AMQConstant errorCode, String msg)
{
this(errorCode, (msg == null) ? "" : msg, null);
}
@@ -97,7 +97,7 @@ public class AMQException extends Exception
{
return getClass().getName() + ": " + getMessage() + (_errorCode == null ? "" : " [error code " + _errorCode + "]");
}
-
+
/**
* Gets the AMQ protocol exception code associated with this exception.
*
@@ -141,14 +141,4 @@ public class AMQException extends Exception
return newAMQE;
}
- /**
- * Truncates the exception message to 255 characters if its length exceeds 255.
- *
- * @return exception message
- */
- public AMQShortString getMessageAsShortString()
- {
- String message = getMessage();
- return AMQShortString.valueOf(message, true, true);
- }
}
diff --git a/java/common/src/main/java/org/apache/qpid/exchange/ExchangeDefaults.java b/java/common/src/main/java/org/apache/qpid/exchange/ExchangeDefaults.java
index c9bf67c11d..5e59628fb6 100644
--- a/java/common/src/main/java/org/apache/qpid/exchange/ExchangeDefaults.java
+++ b/java/common/src/main/java/org/apache/qpid/exchange/ExchangeDefaults.java
@@ -41,31 +41,30 @@ public class ExchangeDefaults
}
/** The default direct exchange, which is a special internal exchange that cannot be explicitly bound to. */
- public static final AMQShortString DEFAULT_EXCHANGE_NAME = AMQShortString.EMPTY_STRING;
+ public static final String DEFAULT_EXCHANGE_NAME = "";
/** The pre-defined topic exchange, the broker SHOULD provide this. */
- public static final AMQShortString TOPIC_EXCHANGE_NAME = new AMQShortString("amq.topic");
+ public static final String TOPIC_EXCHANGE_NAME = "amq.topic";
/** Defines the identifying type name of topic exchanges. */
- public static final AMQShortString TOPIC_EXCHANGE_CLASS = new AMQShortString("topic");
+ public static final String TOPIC_EXCHANGE_CLASS = "topic";
/** The pre-defined direct exchange, the broker MUST provide this. */
- public static final AMQShortString DIRECT_EXCHANGE_NAME = new AMQShortString("amq.direct");
+ public static final String DIRECT_EXCHANGE_NAME = "amq.direct";
/** Defines the identifying type name of direct exchanges. */
- public static final AMQShortString DIRECT_EXCHANGE_CLASS = new AMQShortString("direct");
+ public static final String DIRECT_EXCHANGE_CLASS = "direct";
/** The pre-defined headers exchange, the specification does not say this needs to be provided. */
- public static final AMQShortString HEADERS_EXCHANGE_NAME = new AMQShortString("amq.match");
+ public static final String HEADERS_EXCHANGE_NAME = "amq.match";
/** Defines the identifying type name of headers exchanges. */
- public static final AMQShortString HEADERS_EXCHANGE_CLASS = new AMQShortString("headers");
+ public static final String HEADERS_EXCHANGE_CLASS = "headers";
/** The pre-defined fanout exchange, the boker MUST provide this. */
- public static final AMQShortString FANOUT_EXCHANGE_NAME = new AMQShortString("amq.fanout");
+ public static final String FANOUT_EXCHANGE_NAME = "amq.fanout";
/** Defines the identifying type name of fanout exchanges. */
- public static final AMQShortString FANOUT_EXCHANGE_CLASS = new AMQShortString("fanout");
-
- public static final AMQShortString WILDCARD_ANY = new AMQShortString("*");
+ public static final String FANOUT_EXCHANGE_CLASS = "fanout";
+
}
diff --git a/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java b/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java
index 4adc59b158..a06fa2d15b 100644
--- a/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java
+++ b/java/common/src/main/java/org/apache/qpid/framing/AMQShortString.java
@@ -21,18 +21,15 @@
package org.apache.qpid.framing;
+import java.util.concurrent.ConcurrentHashMap;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.io.DataInput;
import java.io.DataOutput;
import java.io.IOException;
-import java.lang.ref.WeakReference;
import java.util.Arrays;
import java.util.Collection;
-import java.util.LinkedHashMap;
-import java.util.Map;
-import java.util.WeakHashMap;
/**
* A short string is a representation of an AMQ Short String
@@ -64,7 +61,7 @@ public final class AMQShortString implements CharSequence, Comparable<AMQShortSt
{
if(_count == -1)
{
- _count = 1 + AMQShortString.this.occurences(_delim);
+ _count = 1 + AMQShortString.this.occurrences(_delim);
}
return _count;
}
@@ -100,40 +97,8 @@ public final class AMQShortString implements CharSequence, Comparable<AMQShortSt
return new AMQShortString(_data, from+_offset, to-from);
}
-
- private static final int LOCAL_INTERN_CACHE_SIZE = 2048;
-
- private static final ThreadLocal<Map<AMQShortString, AMQShortString>> _localInternMap =
- new ThreadLocal<Map<AMQShortString, AMQShortString>>()
- {
- protected Map<AMQShortString, AMQShortString> initialValue()
- {
- return new LinkedHashMap<AMQShortString, AMQShortString>()
- {
- @Override
- protected boolean removeEldestEntry(Map.Entry<AMQShortString, AMQShortString> eldest)
- {
- return size() > LOCAL_INTERN_CACHE_SIZE;
- }
- };
- };
- };
-
- private static final Map<AMQShortString, WeakReference<AMQShortString>> _globalInternMap =
- new WeakHashMap<AMQShortString, WeakReference<AMQShortString>>();
-
-
- private static final ThreadLocal<Map<String, WeakReference<AMQShortString>>> _localStringMap =
- new ThreadLocal<Map<String, WeakReference<AMQShortString>>>()
- {
- protected Map<String, WeakReference<AMQShortString>> initialValue()
- {
- return new WeakHashMap<String, WeakReference<AMQShortString>>();
- };
- };
-
- private static final Map<String, WeakReference<AMQShortString>> _globalStringMap =
- new WeakHashMap<String, WeakReference<AMQShortString>>();
+ private static final ConcurrentHashMap<AMQShortString, AMQShortString> _globalInternMap =
+ new ConcurrentHashMap<AMQShortString, AMQShortString>();
private static final Logger _logger = LoggerFactory.getLogger(AMQShortString.class);
@@ -443,7 +408,7 @@ public final class AMQShortString implements CharSequence, Comparable<AMQShortSt
{
if (_asString == null)
{
- AMQShortString intern = intern();
+ AMQShortString intern = intern(false);
if(intern == this)
{
@@ -641,35 +606,9 @@ public final class AMQShortString implements CharSequence, Comparable<AMQShortSt
public AMQShortString intern(boolean keep)
{
- hashCode();
-
- Map<AMQShortString, AMQShortString> localMap =
- _localInternMap.get();
-
- AMQShortString internString = localMap.get(this);
-
+ AMQShortString internString = keep ? _globalInternMap.putIfAbsent(this,this) : _globalInternMap.get(this);
- if(internString != null)
- {
- return internString;
- }
-
-
- WeakReference<AMQShortString> ref;
- synchronized(_globalInternMap)
- {
-
- ref = _globalInternMap.get(this);
- if((ref == null) || ((internString = ref.get()) == null))
- {
- internString = keep ? shrink() : copy();
- ref = new WeakReference(internString);
- _globalInternMap.put(internString, ref);
- }
-
- }
- localMap.put(internString, internString);
- return internString;
+ return internString == null ? this : internString;
}
@@ -680,7 +619,7 @@ public final class AMQShortString implements CharSequence, Comparable<AMQShortSt
return new AMQShortString(dataBytes,0,_length);
}
- private int occurences(final byte delim)
+ private int occurrences(final byte delim)
{
int count = 0;
final int end = _offset + _length;
@@ -794,7 +733,12 @@ public final class AMQShortString implements CharSequence, Comparable<AMQShortSt
return false; //To change body of created methods use File | Settings | File Templates.
}
- public static AMQShortString valueOf(Object obj, boolean truncate, boolean nullAsEmptyString)
+ public static AMQShortString validValueOf(Object obj)
+ {
+ return valueOf(obj,true,true);
+ }
+
+ static AMQShortString valueOf(Object obj, boolean truncate, boolean nullAsEmptyString)
{
if (obj == null)
{
@@ -826,37 +770,11 @@ public final class AMQShortString implements CharSequence, Comparable<AMQShortSt
{
return null;
}
-
- Map<String, WeakReference<AMQShortString>> localMap =
- _localStringMap.get();
-
- WeakReference<AMQShortString> ref = localMap.get(obj);
- AMQShortString internString;
-
- if(ref != null)
+ else
{
- internString = ref.get();
- if(internString != null)
- {
- return internString;
- }
+ return new AMQShortString(obj);
}
-
- synchronized(_globalStringMap)
- {
-
- ref = _globalStringMap.get(obj);
- if((ref == null) || ((internString = ref.get()) == null))
- {
- internString = (new AMQShortString(obj)).intern();
- ref = new WeakReference<AMQShortString>(internString);
- _globalStringMap.put(obj, ref);
- }
-
- }
- localMap.put(obj, ref);
- return internString;
}
public static String toString(AMQShortString amqShortString)
@@ -864,10 +782,4 @@ public final class AMQShortString implements CharSequence, Comparable<AMQShortSt
return amqShortString == null ? null : amqShortString.asString();
}
- public static void clearLocalCache()
- {
- _localInternMap.remove();
- _localStringMap.remove();
- }
-
}
diff --git a/java/common/src/main/java/org/apache/qpid/framing/amqp_8_0/MethodConverter_8_0.java b/java/common/src/main/java/org/apache/qpid/framing/amqp_8_0/MethodConverter_8_0.java
index 4c7772a3a9..575816db4f 100644
--- a/java/common/src/main/java/org/apache/qpid/framing/amqp_8_0/MethodConverter_8_0.java
+++ b/java/common/src/main/java/org/apache/qpid/framing/amqp_8_0/MethodConverter_8_0.java
@@ -79,9 +79,9 @@ public class MethodConverter_8_0 extends AbstractMethodConverter implements Prot
_basicPublishClassId = BasicPublishBodyImpl.CLASS_ID;
_basicPublishMethodId = BasicPublishBodyImpl.METHOD_ID;
-
+
}
-
+
public AMQBody convertToBody(byte[] data)
{
return new ContentBody(data);
@@ -97,7 +97,7 @@ public class MethodConverter_8_0 extends AbstractMethodConverter implements Prot
return new MessagePublishInfoImpl(exchange == null ? null : exchange.intern(),
publishBody.getImmediate(),
publishBody.getMandatory(),
- routingKey == null ? null : routingKey.intern());
+ routingKey == null ? null : routingKey.intern(false));
}
diff --git a/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java b/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java
index 11a5a3ad62..77902c3531 100644
--- a/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java
+++ b/java/common/src/main/java/org/apache/qpid/url/AMQBindingURL.java
@@ -34,9 +34,9 @@ public class AMQBindingURL implements BindingURL
private static final Logger _logger = LoggerFactory.getLogger(AMQBindingURL.class);
private String _url;
- private AMQShortString _exchangeClass = ExchangeDefaults.DIRECT_EXCHANGE_CLASS;
+ private AMQShortString _exchangeClass = AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS);
private AMQShortString _exchangeName = new AMQShortString("");
- private AMQShortString _destinationName = new AMQShortString("");;
+ private AMQShortString _destinationName = new AMQShortString("");
private AMQShortString _queueName = new AMQShortString("");
private AMQShortString[] _bindingKeys = new AMQShortString[0];
private HashMap<String, String> _options;
@@ -93,7 +93,7 @@ public class AMQBindingURL implements BindingURL
{
_exchangeClass = exchangeClass;
- if (exchangeClass.equals(ExchangeDefaults.TOPIC_EXCHANGE_CLASS))
+ if (exchangeClass.equals(AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS)))
{
setOption(BindingURL.OPTION_EXCLUSIVE, "true");
}
@@ -147,11 +147,11 @@ public class AMQBindingURL implements BindingURL
public AMQShortString getRoutingKey()
{
- if (_exchangeClass.equals(ExchangeDefaults.DIRECT_EXCHANGE_CLASS))
+ if (_exchangeClass.equals(AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS)))
{
if (containsOption(BindingURL.OPTION_ROUTING_KEY))
{
- return new AMQShortString((String)getOption(OPTION_ROUTING_KEY));
+ return new AMQShortString(getOption(OPTION_ROUTING_KEY));
}
else
{
@@ -161,7 +161,7 @@ public class AMQBindingURL implements BindingURL
if (containsOption(BindingURL.OPTION_ROUTING_KEY))
{
- return new AMQShortString((String)getOption(OPTION_ROUTING_KEY));
+ return new AMQShortString(getOption(OPTION_ROUTING_KEY));
}
return getDestinationName();
@@ -191,7 +191,7 @@ public class AMQBindingURL implements BindingURL
public String toString()
{
- StringBuffer sb = new StringBuffer();
+ StringBuilder sb = new StringBuilder();
sb.append(_exchangeClass);
sb.append("://");
@@ -207,7 +207,7 @@ public class AMQBindingURL implements BindingURL
if (getRoutingKey() == null || getRoutingKey().toString().equals(""))
{
- if (sb.toString().indexOf("?") == -1)
+ if (!sb.toString().contains("?"))
{
sb.append("?");
}
diff --git a/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java b/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java
index 2adac843ef..ee823978b4 100644
--- a/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java
+++ b/java/common/src/main/java/org/apache/qpid/url/BindingURLParser.java
@@ -204,14 +204,14 @@ public class BindingURLParser
// "myQueue?durable='true'" use case
else if (nextChar == QUESTION_MARK_CHAR)
{
- _bindingURL.setExchangeClass(ExchangeDefaults.DIRECT_EXCHANGE_CLASS.asString());
+ _bindingURL.setExchangeClass(ExchangeDefaults.DIRECT_EXCHANGE_CLASS);
_bindingURL.setExchangeName("");
_bindingURL.setQueueName(builder.toString());
return BindingURLParserState.QUESTION_MARK_CHAR;
}
else
{
- _bindingURL.setExchangeClass(ExchangeDefaults.DIRECT_EXCHANGE_CLASS.asString());
+ _bindingURL.setExchangeClass(ExchangeDefaults.DIRECT_EXCHANGE_CLASS);
_bindingURL.setExchangeName("");
_bindingURL.setQueueName(builder.toString());
return BindingURLParserState.BINDING_URL_END;
diff --git a/java/common/src/test/java/org/apache/qpid/AMQExceptionTest.java b/java/common/src/test/java/org/apache/qpid/AMQExceptionTest.java
index 575058b7f8..9fceef337c 100644
--- a/java/common/src/test/java/org/apache/qpid/AMQExceptionTest.java
+++ b/java/common/src/test/java/org/apache/qpid/AMQExceptionTest.java
@@ -101,7 +101,7 @@ public class AMQExceptionTest extends TestCase
sb.append("message [" + i + "]");
}
AMQException e = new AMQException(AMQConstant.INTERNAL_ERROR, sb.toString(), null);
- AMQShortString message = e.getMessageAsShortString();
+ AMQShortString message = AMQShortString.validValueOf(e.getMessage());
assertEquals(sb.substring(0, AMQShortString.MAX_LENGTH - 3) + "...", message.toString());
}
diff --git a/java/systests/src/main/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java b/java/systests/src/main/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java
index 91f56f369b..69b529cf40 100644
--- a/java/systests/src/main/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java
+++ b/java/systests/src/main/java/org/apache/qpid/server/exchange/ReturnUnroutableMandatoryMessageTest.java
@@ -30,6 +30,7 @@ import org.apache.qpid.client.AMQSession;
import org.apache.qpid.client.AMQTopic;
import org.apache.qpid.configuration.ClientProperties;
import org.apache.qpid.exchange.ExchangeDefaults;
+import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.framing.FieldTable;
import org.apache.qpid.test.utils.QpidBrokerTestCase;
import org.apache.qpid.url.AMQBindingURL;
diff --git a/java/systests/src/main/java/org/apache/qpid/server/store/MessageStoreTest.java b/java/systests/src/main/java/org/apache/qpid/server/store/MessageStoreTest.java
index a57eca23bd..f89e33ccc4 100644
--- a/java/systests/src/main/java/org/apache/qpid/server/store/MessageStoreTest.java
+++ b/java/systests/src/main/java/org/apache/qpid/server/store/MessageStoreTest.java
@@ -47,7 +47,6 @@ import org.apache.qpid.server.model.UUIDGenerator;
import org.apache.qpid.server.plugin.ExchangeType;
import org.apache.qpid.server.queue.AMQPriorityQueue;
import org.apache.qpid.server.queue.AMQQueue;
-import org.apache.qpid.server.queue.AMQQueueFactory;
import org.apache.qpid.server.queue.BaseQueue;
import org.apache.qpid.server.queue.ConflationQueue;
import org.apache.qpid.server.protocol.v0_8.IncomingMessage;
@@ -97,10 +96,10 @@ public class MessageStoreTest extends QpidTestCase
private String priorityQueueName = "MST-PriorityQueue";
private String queueName = "MST-Queue";
- private AMQShortString directRouting = new AMQShortString("MST-direct");
- private AMQShortString topicRouting = new AMQShortString("MST-topic");
+ private String directRouting = "MST-direct";
+ private String topicRouting = "MST-topic";
- private AMQShortString queueOwner = new AMQShortString("MST");
+ private String queueOwner = "MST";
private PropertiesConfiguration _config;
@@ -448,7 +447,7 @@ public class MessageStoreTest extends QpidTestCase
//create durable queue and exchange, bind them
Exchange exch = createExchange(DirectExchange.TYPE, directExchangeName, true);
createQueue(durableQueueName, false, true, false, false);
- bindQueueToExchange(exch, directRouting, getVirtualHost().getQueue(durableQueueName), false, null);
+ bindQueueToExchange(exch, directRouting, getVirtualHost().getQueue(durableQueueName), false);
assertEquals("Incorrect number of bindings registered before recovery",
1, getVirtualHost().getQueue(durableQueueName).getBindings().size());
@@ -463,7 +462,7 @@ public class MessageStoreTest extends QpidTestCase
assertNotNull("Exchange was not recovered", exch);
//remove the binding and verify result after recovery
- unbindQueueFromExchange(exch, directRouting, getVirtualHost().getQueue(durableQueueName), false, null);
+ unbindQueueFromExchange(exch, directRouting, getVirtualHost().getQueue(durableQueueName), false);
reloadVirtualHost();
@@ -604,7 +603,7 @@ public class MessageStoreTest extends QpidTestCase
}
}
- private void sendMessageOnExchange(Exchange exchange, AMQShortString routingKey, boolean deliveryMode)
+ private void sendMessageOnExchange(Exchange exchange, String routingKey, boolean deliveryMode)
{
//Set MessagePersistence
BasicContentHeaderProperties properties = new BasicContentHeaderProperties();
@@ -733,7 +732,7 @@ public class MessageStoreTest extends QpidTestCase
//Ideally we would be able to use the QueueDeclareHandler here.
try
{
- queue = getVirtualHost().createQueue(UUIDGenerator.generateRandomUUID(), queueName, durable, queueOwner.asString(), false, exclusive,
+ queue = getVirtualHost().createQueue(UUIDGenerator.generateRandomUUID(), queueName, durable, queueOwner, false, exclusive,
false, queueArguments);
validateQueueProperties(queue, usePriority, durable, exclusive, lastValueQueue);
@@ -766,7 +765,7 @@ public class MessageStoreTest extends QpidTestCase
try
{
- exchange = getVirtualHost().createExchange(null, name, type.getName().toString(), durable, false, null);
+ exchange = getVirtualHost().createExchange(null, name, type.getType(), durable, false, null);
}
catch (AMQException e)
{
@@ -776,43 +775,40 @@ public class MessageStoreTest extends QpidTestCase
return exchange;
}
- private void bindAllQueuesToExchange(Exchange exchange, AMQShortString routingKey)
+ private void bindAllQueuesToExchange(Exchange exchange, String routingKey)
{
- FieldTable queueArguments = new FieldTable();
- queueArguments.put(new AMQShortString(QueueArgumentsConverter.X_QPID_PRIORITIES), DEFAULT_PRIORTY_LEVEL);
-
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durablePriorityQueueName), false, queueArguments);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durableQueueName), false, null);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(priorityQueueName), false, queueArguments);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(queueName), false, null);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durableExclusiveQueueName), false, null);
+ bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durablePriorityQueueName), false);
+ bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durableQueueName), false);
+ bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(priorityQueueName), false);
+ bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(queueName), false);
+ bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durableExclusiveQueueName), false);
}
- private void bindAllTopicQueuesToExchange(Exchange exchange, AMQShortString routingKey)
+ private void bindAllTopicQueuesToExchange(Exchange exchange, String routingKey)
{
- FieldTable queueArguments = new FieldTable();
- queueArguments.put(new AMQShortString(QueueArgumentsConverter.X_QPID_PRIORITIES), DEFAULT_PRIORTY_LEVEL);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durablePriorityTopicQueueName), true, queueArguments);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durableTopicQueueName), true, null);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(priorityTopicQueueName), true, queueArguments);
- bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(topicQueueName), true, null);
+ bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durablePriorityTopicQueueName), true);
+ bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(durableTopicQueueName), true);
+ bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(priorityTopicQueueName), true);
+ bindQueueToExchange(exchange, routingKey, getVirtualHost().getQueue(topicQueueName), true);
}
- protected void bindQueueToExchange(Exchange exchange, AMQShortString routingKey, AMQQueue queue, boolean useSelector, FieldTable queueArguments)
+ protected void bindQueueToExchange(Exchange exchange,
+ String routingKey,
+ AMQQueue queue,
+ boolean useSelector)
{
- FieldTable bindArguments = null;
+ Map<String,Object> bindArguments = new HashMap<String, Object>();
if (useSelector)
{
- bindArguments = new FieldTable();
- bindArguments.put(AMQPFilterTypes.JMS_SELECTOR.getValue(), SELECTOR_VALUE );
+ bindArguments.put(AMQPFilterTypes.JMS_SELECTOR.toString(), SELECTOR_VALUE );
}
try
{
- exchange.addBinding(String.valueOf(routingKey), queue, FieldTable.convertToMap(bindArguments));
+ exchange.addBinding(routingKey, queue, bindArguments);
}
catch (Exception e)
{
@@ -820,19 +816,21 @@ public class MessageStoreTest extends QpidTestCase
}
}
- protected void unbindQueueFromExchange(Exchange exchange, AMQShortString routingKey, AMQQueue queue, boolean useSelector, FieldTable queueArguments)
+ protected void unbindQueueFromExchange(Exchange exchange,
+ String routingKey,
+ AMQQueue queue,
+ boolean useSelector)
{
- FieldTable bindArguments = null;
+ Map<String,Object> bindArguments = new HashMap<String, Object>();
if (useSelector)
{
- bindArguments = new FieldTable();
- bindArguments.put(AMQPFilterTypes.JMS_SELECTOR.getValue(), SELECTOR_VALUE );
+ bindArguments.put(AMQPFilterTypes.JMS_SELECTOR.toString(), SELECTOR_VALUE );
}
try
{
- exchange.removeBinding(String.valueOf(routingKey), queue, FieldTable.convertToMap(bindArguments));
+ exchange.removeBinding(routingKey, queue, bindArguments);
}
catch (Exception e)
{
@@ -879,9 +877,9 @@ public class MessageStoreTest extends QpidTestCase
Exchange _exchange;
boolean _immediate;
boolean _mandatory;
- AMQShortString _routingKey;
+ String _routingKey;
- TestMessagePublishInfo(Exchange exchange, boolean immediate, boolean mandatory, AMQShortString routingKey)
+ TestMessagePublishInfo(Exchange exchange, boolean immediate, boolean mandatory, String routingKey)
{
_exchange = exchange;
_immediate = immediate;
@@ -891,7 +889,7 @@ public class MessageStoreTest extends QpidTestCase
public AMQShortString getExchange()
{
- return _exchange.getNameShortString();
+ return new AMQShortString(_exchange.getName());
}
public void setExchange(AMQShortString exchange)
@@ -911,7 +909,7 @@ public class MessageStoreTest extends QpidTestCase
public AMQShortString getRoutingKey()
{
- return _routingKey;
+ return new AMQShortString(_routingKey);
}
}
}
diff --git a/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/ExchangeManagementTest.java b/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/ExchangeManagementTest.java
index cc662bddca..594239b2ee 100644
--- a/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/ExchangeManagementTest.java
+++ b/java/systests/src/main/java/org/apache/qpid/systest/management/jmx/ExchangeManagementTest.java
@@ -53,10 +53,10 @@ public class ExchangeManagementTest extends QpidBrokerTestCase
_managedBroker = _jmxUtils.getManagedBroker(VIRTUAL_HOST);
_testQueueName = getTestName();
_managedBroker.createNewQueue(_testQueueName, null, true);
- _directExchange = _jmxUtils.getManagedExchange(ExchangeDefaults.DIRECT_EXCHANGE_NAME.asString());
- _topicExchange = _jmxUtils.getManagedExchange(ExchangeDefaults.TOPIC_EXCHANGE_NAME.asString());
- _fanoutExchange = _jmxUtils.getManagedExchange(ExchangeDefaults.FANOUT_EXCHANGE_NAME.asString());
- _headersExchange = _jmxUtils.getManagedExchange(ExchangeDefaults.HEADERS_EXCHANGE_NAME.asString());
+ _directExchange = _jmxUtils.getManagedExchange(ExchangeDefaults.DIRECT_EXCHANGE_NAME);
+ _topicExchange = _jmxUtils.getManagedExchange(ExchangeDefaults.TOPIC_EXCHANGE_NAME);
+ _fanoutExchange = _jmxUtils.getManagedExchange(ExchangeDefaults.FANOUT_EXCHANGE_NAME);
+ _headersExchange = _jmxUtils.getManagedExchange(ExchangeDefaults.HEADERS_EXCHANGE_NAME);
_connection = getConnection();
_connection.start();
diff --git a/java/systests/src/main/java/org/apache/qpid/systest/rest/StructureRestTest.java b/java/systests/src/main/java/org/apache/qpid/systest/rest/StructureRestTest.java
index 664b8fffa4..da72dd6f05 100644
--- a/java/systests/src/main/java/org/apache/qpid/systest/rest/StructureRestTest.java
+++ b/java/systests/src/main/java/org/apache/qpid/systest/rest/StructureRestTest.java
@@ -80,8 +80,8 @@ public class StructureRestTest extends QpidRestTestCase
Map<String, Object> exchange = getRestTestHelper().find("name", exchangeName, exchanges);
assertNotNull("Exchange " + exchangeName + " is not found ", exchange);
assertNode(exchange, exchangeName);
- if (ExchangeDefaults.DIRECT_EXCHANGE_NAME.asString().equalsIgnoreCase(exchangeName) ||
- ExchangeDefaults.DEFAULT_EXCHANGE_NAME.asString().equalsIgnoreCase(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");
diff --git a/java/systests/src/main/java/org/apache/qpid/test/unit/basic/MultipleConnectionTest.java b/java/systests/src/main/java/org/apache/qpid/test/unit/basic/MultipleConnectionTest.java
index 3c26cbb3c9..2d8847ea33 100644
--- a/java/systests/src/main/java/org/apache/qpid/test/unit/basic/MultipleConnectionTest.java
+++ b/java/systests/src/main/java/org/apache/qpid/test/unit/basic/MultipleConnectionTest.java
@@ -19,6 +19,7 @@
*/
package org.apache.qpid.test.unit.basic;
+import org.apache.qpid.framing.AMQShortString;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -190,7 +191,7 @@ public class MultipleConnectionTest extends QpidBrokerTestCase
String broker = _connectionString;
int messages = 10;
- AMQTopic topic = new AMQTopic(ExchangeDefaults.TOPIC_EXCHANGE_NAME, "amq.topic");
+ AMQTopic topic = new AMQTopic(AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_NAME), "amq.topic");
Receiver[] receivers = new Receiver[] { new Receiver(broker, topic, 2), new Receiver(broker, topic, 14) };
diff --git a/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java b/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java
index 67b2e099bf..963a23b0ba 100644
--- a/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java
+++ b/java/systests/src/main/java/org/apache/qpid/test/unit/client/connection/ConnectionTest.java
@@ -88,16 +88,16 @@ public class ConnectionTest extends QpidBrokerTestCase
AMQSession sess = (AMQSession) conn.createSession(false, Session.AUTO_ACKNOWLEDGE);
sess.declareExchange(new AMQShortString("test.direct"),
- ExchangeDefaults.DIRECT_EXCHANGE_CLASS, false);
+ AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS), false);
sess.declareExchange(new AMQShortString("tmp.direct"),
- ExchangeDefaults.DIRECT_EXCHANGE_CLASS, false);
+ AMQShortString.valueOf(ExchangeDefaults.DIRECT_EXCHANGE_CLASS), false);
sess.declareExchange(new AMQShortString("tmp.topic"),
- ExchangeDefaults.TOPIC_EXCHANGE_CLASS, false);
+ AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS), false);
sess.declareExchange(new AMQShortString("test.topic"),
- ExchangeDefaults.TOPIC_EXCHANGE_CLASS, false);
+ AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_CLASS), false);
QueueSession queueSession = conn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
diff --git a/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java b/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
index 3828cd8ea0..38a7b90ebd 100755
--- a/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
+++ b/java/systests/src/main/java/org/apache/qpid/test/utils/QpidBrokerTestCase.java
@@ -57,6 +57,7 @@ import org.apache.qpid.client.AMQConnectionURL;
import org.apache.qpid.client.AMQQueue;
import org.apache.qpid.client.AMQTopic;
import org.apache.qpid.exchange.ExchangeDefaults;
+import org.apache.qpid.framing.AMQShortString;
import org.apache.qpid.jms.BrokerDetails;
import org.apache.qpid.jms.ConnectionURL;
import org.apache.qpid.server.Broker;
@@ -1190,7 +1191,7 @@ public class QpidBrokerTestCase extends QpidTestCase
*/
public Topic getTestTopic()
{
- return new AMQTopic(ExchangeDefaults.TOPIC_EXCHANGE_NAME, getTestQueueName());
+ return new AMQTopic(AMQShortString.valueOf(ExchangeDefaults.TOPIC_EXCHANGE_NAME), getTestQueueName());
}
@Override