You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2018/02/28 20:38:01 UTC

[1/3] qpid-broker-j git commit: NO-JIRA: Add AMQP 1.0 protocol tests for source filter

Repository: qpid-broker-j
Updated Branches:
  refs/heads/master 8dd9bd6cc -> 8df4ff38b


NO-JIRA: Add AMQP 1.0 protocol tests for source filter


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/359b6ffd
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/359b6ffd
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/359b6ffd

Branch: refs/heads/master
Commit: 359b6ffd198ad11ddf7e7430755d7ddb053e57ba
Parents: f50be6e
Author: Alex Rudyy <or...@apache.org>
Authored: Wed Feb 28 20:21:46 2018 +0000
Committer: Alex Rudyy <or...@apache.org>
Committed: Wed Feb 28 20:34:10 2018 +0000

----------------------------------------------------------------------
 .../qpid/tests/protocol/v1_0/Interaction.java   |  17 ++
 .../tests/protocol/v1_0/MessageDecoder.java     |  12 ++
 .../tests/protocol/v1_0/MessageEncoder.java     |  13 ++
 .../v1_0/extensions/filter/FilterTest.java      | 164 +++++++++++++++++++
 4 files changed, 206 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/359b6ffd/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java
----------------------------------------------------------------------
diff --git a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java
index 0a9f882..77f20d0 100644
--- a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java
+++ b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/Interaction.java
@@ -57,6 +57,7 @@ import org.apache.qpid.server.protocol.v1_0.type.UnsignedShort;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Accepted;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.AmqpValue;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.AmqpValueSection;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.Filter;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Rejected;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Source;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Target;
@@ -111,6 +112,7 @@ public class Interaction extends AbstractInteraction<Interaction>
     private List<Transfer> _latestDelivery;
     private Object _decodedLatestDelivery;
     private UnsignedInteger _latestDeliveryId;
+    private Map<String, Object> _latestDeliveryApplicationProperties;
 
     Interaction(final FrameTransport frameTransport)
     {
@@ -490,6 +492,15 @@ public class Interaction extends AbstractInteraction<Interaction>
         return this;
     }
 
+
+    public Interaction attachSourceFilter(final Map<Symbol, Filter> filters)
+    {
+        Source source = ((Source) _attach.getSource());
+        source.setFilter(filters);
+        _attach.setSource(source);
+        return this;
+    }
+
     public Interaction attachTargetAddress(final String address)
     {
         final Target target = ((Target) _attach.getTarget());
@@ -1071,6 +1082,7 @@ public class Interaction extends AbstractInteraction<Interaction>
                                     transfer.dispose();
                                 });
         _decodedLatestDelivery = messageDecoder.getData();
+        _latestDeliveryApplicationProperties = messageDecoder.getApplicationProperties();
         _latestDelivery = null;
         return this;
     }
@@ -1085,6 +1097,11 @@ public class Interaction extends AbstractInteraction<Interaction>
         return _decodedLatestDelivery;
     }
 
+    public Map<String, Object> getLatestDeliveryApplicationProperties()
+    {
+        return _latestDeliveryApplicationProperties;
+    }
+
     private List<Transfer> receiveAllTransfers(final Class<?>... ignore) throws Exception
     {
         List<Transfer> transfers = new ArrayList<>();

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/359b6ffd/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/MessageDecoder.java
----------------------------------------------------------------------
diff --git a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/MessageDecoder.java b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/MessageDecoder.java
index 1a513f7..0df1abd 100644
--- a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/MessageDecoder.java
+++ b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/MessageDecoder.java
@@ -24,9 +24,11 @@ import static org.apache.qpid.server.protocol.v1_0.MessageConverter_from_1_0.con
 
 import java.nio.ByteBuffer;
 import java.util.ArrayList;
+import java.util.Collections;
 import java.util.Iterator;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.qpid.server.bytebuffer.QpidByteBuffer;
 import org.apache.qpid.server.protocol.v1_0.codec.SectionDecoderRegistry;
@@ -201,4 +203,14 @@ public class MessageDecoder
         }
         return bodyObject;
     }
+
+    public Map<String, Object> getApplicationProperties() throws AmqpErrorException
+    {
+        parse();
+        if (_applicationPropertiesSection != null)
+        {
+            return _applicationPropertiesSection.getValue();
+        }
+        return Collections.emptyMap();
+    }
 }

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/359b6ffd/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/MessageEncoder.java
----------------------------------------------------------------------
diff --git a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/MessageEncoder.java b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/MessageEncoder.java
index 0849376..2897661 100644
--- a/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/MessageEncoder.java
+++ b/systests/protocol-tests-amqp-1-0/src/main/java/org/apache/qpid/tests/protocol/v1_0/MessageEncoder.java
@@ -23,9 +23,11 @@ package org.apache.qpid.tests.protocol.v1_0;
 import java.util.ArrayList;
 import java.util.LinkedList;
 import java.util.List;
+import java.util.Map;
 
 import org.apache.qpid.server.bytebuffer.QpidByteBuffer;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.AmqpValue;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.ApplicationProperties;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.EncodingRetainingSection;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Header;
 import org.apache.qpid.server.protocol.v1_0.type.messaging.Properties;
@@ -35,6 +37,7 @@ public class MessageEncoder
     private Properties _properties;
     private Header _header;
     private List<String> _data = new LinkedList<>();
+    private Map<String, Object> _applicationProperties;
 
     public void addData(final String data)
     {
@@ -51,6 +54,11 @@ public class MessageEncoder
         _properties = properties;
     }
 
+    public void setApplicationProperties(Map<String, Object> applicationProperties)
+    {
+        _applicationProperties = applicationProperties;
+    }
+
     public QpidByteBuffer getPayload()
     {
         List<QpidByteBuffer> payload = new ArrayList<>();
@@ -64,6 +72,11 @@ public class MessageEncoder
             payload.add(_properties.createEncodingRetainingSection().getEncodedForm());
         }
 
+        if (_applicationProperties != null)
+        {
+            payload.add(new ApplicationProperties(_applicationProperties).createEncodingRetainingSection().getEncodedForm());
+        }
+
         if (_data.isEmpty())
         {
             throw new IllegalStateException("Message should have at least one data section");

http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/359b6ffd/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java
----------------------------------------------------------------------
diff --git a/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java
new file mode 100644
index 0000000..027c785
--- /dev/null
+++ b/systests/protocol-tests-amqp-1-0/src/test/java/org/apache/qpid/tests/protocol/v1_0/extensions/filter/FilterTest.java
@@ -0,0 +1,164 @@
+/*
+ *
+ * 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
+ * regarding copyright ownership.  The ASF licenses this file
+ * 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.tests.protocol.v1_0.extensions.filter;
+
+import static org.apache.qpid.tests.utils.BrokerAdmin.KIND_BROKER_J;
+import static org.hamcrest.MatcherAssert.assertThat;
+import static org.hamcrest.Matchers.equalTo;
+import static org.hamcrest.Matchers.greaterThan;
+import static org.hamcrest.Matchers.is;
+import static org.hamcrest.Matchers.notNullValue;
+import static org.junit.Assume.assumeThat;
+
+import java.net.InetSocketAddress;
+import java.util.Collections;
+import java.util.Map;
+
+import org.junit.After;
+import org.junit.Before;
+import org.junit.Test;
+
+import org.apache.qpid.server.bytebuffer.QpidByteBuffer;
+import org.apache.qpid.server.protocol.v1_0.type.Symbol;
+import org.apache.qpid.server.protocol.v1_0.type.UnsignedInteger;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.Accepted;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.Filter;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.JMSSelectorFilter;
+import org.apache.qpid.server.protocol.v1_0.type.messaging.Rejected;
+import org.apache.qpid.server.protocol.v1_0.type.transport.Attach;
+import org.apache.qpid.server.protocol.v1_0.type.transport.Begin;
+import org.apache.qpid.server.protocol.v1_0.type.transport.Disposition;
+import org.apache.qpid.server.protocol.v1_0.type.transport.Flow;
+import org.apache.qpid.server.protocol.v1_0.type.transport.Open;
+import org.apache.qpid.server.protocol.v1_0.type.transport.ReceiverSettleMode;
+import org.apache.qpid.server.protocol.v1_0.type.transport.Role;
+import org.apache.qpid.tests.protocol.Response;
+import org.apache.qpid.tests.protocol.SpecificationTest;
+import org.apache.qpid.tests.protocol.v1_0.FrameTransport;
+import org.apache.qpid.tests.protocol.v1_0.Interaction;
+import org.apache.qpid.tests.protocol.v1_0.MessageEncoder;
+import org.apache.qpid.tests.utils.BrokerAdmin;
+import org.apache.qpid.tests.utils.BrokerAdminUsingTestBase;
+import org.apache.qpid.tests.utils.BrokerSpecific;
+
+public class FilterTest extends BrokerAdminUsingTestBase
+{
+    public static final String TEST_MESSAGE_CONTENT = "testContent";
+    private InetSocketAddress _brokerAddress;
+    private String _originalMmsMessageStorePersistence;
+
+    @Before
+    public void setUp()
+    {
+        _originalMmsMessageStorePersistence = System.getProperty("qpid.tests.mms.messagestore.persistence");
+        System.setProperty("qpid.tests.mms.messagestore.persistence", "false");
+
+        getBrokerAdmin().createQueue(BrokerAdmin.TEST_QUEUE_NAME);
+        _brokerAddress = getBrokerAdmin().getBrokerAddress(BrokerAdmin.PortType.ANONYMOUS_AMQP);
+    }
+
+    @After
+    public void tearDown()
+    {
+        if (_originalMmsMessageStorePersistence != null)
+        {
+            System.setProperty("qpid.tests.mms.messagestore.persistence", _originalMmsMessageStorePersistence);
+        }
+        else
+        {
+            System.clearProperty("qpid.tests.mms.messagestore.persistence");
+        }
+    }
+
+    @Test
+    @BrokerSpecific(kind = KIND_BROKER_J)
+    @SpecificationTest(section = "3.5.1", description = "A source can restrict the messages transferred from a source by specifying a filter.")
+    public void selectorFilter() throws Exception
+    {
+        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        {
+            final Interaction interaction = transport.newInteraction();
+            interaction.negotiateProtocol().consumeResponse()
+                       .open().consumeResponse(Open.class)
+                       .begin().consumeResponse(Begin.class)
+                       .attachRole(Role.SENDER)
+                       .attachTargetAddress(BrokerAdmin.TEST_QUEUE_NAME)
+                       .attach().consumeResponse(Attach.class)
+                       .consumeResponse(Flow.class);
+            Flow flow = interaction.getLatestResponse(Flow.class);
+            assumeThat("insufficient credit for the test", flow.getLinkCredit().intValue(), is(greaterThan(1)));
+
+            for (int i = 0; i < 2; i++)
+            {
+                QpidByteBuffer payload =
+                        generateMessagePayloadWithApplicationProperties(Collections.singletonMap("index", i),
+                                                                        TEST_MESSAGE_CONTENT);
+                interaction.transferPayload(payload)
+                           .transferSettled(true)
+                           .transfer();
+            }
+            interaction.detachClose(true).detach().close().sync();
+        }
+
+        try (FrameTransport transport = new FrameTransport(_brokerAddress).connect())
+        {
+            final Interaction interaction = transport.newInteraction();
+            interaction.negotiateProtocol().consumeResponse()
+                       .open().consumeResponse(Open.class)
+                       .begin().consumeResponse(Begin.class)
+                       .attachRole(Role.RECEIVER)
+                       .attachSourceAddress(BrokerAdmin.TEST_QUEUE_NAME)
+                       .attachRcvSettleMode(ReceiverSettleMode.FIRST)
+                       .attachSourceFilter(Collections.singletonMap(Symbol.valueOf("selector-filter"),
+                                                                    new JMSSelectorFilter("index=1")))
+                       .attach().consumeResponse()
+                       .flowIncomingWindow(UnsignedInteger.ONE)
+                       .flowNextIncomingId(UnsignedInteger.ZERO)
+                       .flowOutgoingWindow(UnsignedInteger.ZERO)
+                       .flowNextOutgoingId(UnsignedInteger.ZERO)
+                       .flowLinkCredit(UnsignedInteger.ONE)
+                       .flowHandleFromLinkHandle()
+                       .flow();
+
+            Object data = interaction.receiveDelivery().decodeLatestDelivery().getDecodedLatestDelivery();
+            assertThat(data, is(equalTo(TEST_MESSAGE_CONTENT)));
+
+            Map<String, Object> applicationProperties = interaction.getLatestDeliveryApplicationProperties();
+            assertThat(applicationProperties, is(notNullValue()));
+            assertThat(applicationProperties.get("index"), is(equalTo(1)));
+
+            interaction.dispositionSettled(true)
+                       .dispositionRole(Role.RECEIVER)
+                       .dispositionState(new Accepted())
+                       .disposition();
+            interaction.close().sync();
+        }
+
+    }
+
+    private QpidByteBuffer generateMessagePayloadWithApplicationProperties(final Map<String, Object> applicationProperties, String content)
+    {
+        MessageEncoder messageEncoder = new MessageEncoder();
+        messageEncoder.setApplicationProperties(applicationProperties);
+        messageEncoder.addData(content);
+        return messageEncoder.getPayload();
+    }
+}


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[3/3] qpid-broker-j git commit: QPID-8115: [Broker-J][AMQP 1.0] Fix symbolic descriptor for 'no local filter'

Posted by or...@apache.org.
QPID-8115: [Broker-J][AMQP 1.0] Fix symbolic descriptor for 'no local filter'


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/8df4ff38
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/8df4ff38
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/8df4ff38

Branch: refs/heads/master
Commit: 8df4ff38b30e7277706976defdfefb6680d029df
Parents: 359b6ff
Author: Alex Rudyy <or...@apache.org>
Authored: Wed Feb 28 20:37:50 2018 +0000
Committer: Alex Rudyy <or...@apache.org>
Committed: Wed Feb 28 20:37:50 2018 +0000

----------------------------------------------------------------------
 .../v1_0/type/messaging/codec/NoLocalFilterConstructor.java     | 5 ++++-
 1 file changed, 4 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/8df4ff38/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/codec/NoLocalFilterConstructor.java
----------------------------------------------------------------------
diff --git a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/codec/NoLocalFilterConstructor.java b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/codec/NoLocalFilterConstructor.java
index 86052c5..2774cde 100644
--- a/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/codec/NoLocalFilterConstructor.java
+++ b/broker-plugins/amqp-1-0-protocol/src/main/java/org/apache/qpid/server/protocol/v1_0/type/messaging/codec/NoLocalFilterConstructor.java
@@ -33,7 +33,10 @@ public class NoLocalFilterConstructor extends AbstractDescribedTypeConstructor<N
 {
     private static final Object[] DESCRIPTORS =
     {
-            Symbol.valueOf("apache.org:jms-no-local-filter:list"), UnsignedLong.valueOf(0x0000468C00000003L)
+            Symbol.valueOf("apache.org:no-local-filter:list"),
+            UnsignedLong.valueOf(0x0000468C00000003L),
+            // This incorrect value was originally specified here - retaining solely for backwards compatibility
+            Symbol.valueOf("apache.org:jms-no-local-filter:list")
     };
 
     private static final NoLocalFilterConstructor INSTANCE = new NoLocalFilterConstructor();


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org


[2/3] qpid-broker-j git commit: QPID-8083: [System Tests] [REST/HTTP] Check whether sun.security API is available

Posted by or...@apache.org.
QPID-8083: [System Tests] [REST/HTTP] Check whether sun.security API is available


Project: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/commit/f50be6e3
Tree: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/tree/f50be6e3
Diff: http://git-wip-us.apache.org/repos/asf/qpid-broker-j/diff/f50be6e3

Branch: refs/heads/master
Commit: f50be6e3a1fc3a3405a0ce985a768523da25f6d8
Parents: 8dd9bd6
Author: Alex Rudyy <or...@apache.org>
Authored: Wed Feb 28 15:32:49 2018 +0000
Committer: Alex Rudyy <or...@apache.org>
Committed: Wed Feb 28 20:34:10 2018 +0000

----------------------------------------------------------------------
 .../tests/http/authentication/PreemptiveAuthenticationTest.java  | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-broker-j/blob/f50be6e3/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/authentication/PreemptiveAuthenticationTest.java
----------------------------------------------------------------------
diff --git a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/authentication/PreemptiveAuthenticationTest.java b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/authentication/PreemptiveAuthenticationTest.java
index 40c655c..c7d0146 100644
--- a/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/authentication/PreemptiveAuthenticationTest.java
+++ b/systests/qpid-systests-http-management/src/test/java/org/apache/qpid/tests/http/authentication/PreemptiveAuthenticationTest.java
@@ -23,6 +23,7 @@ package org.apache.qpid.tests.http.authentication;
 import static javax.servlet.http.HttpServletResponse.SC_CREATED;
 import static javax.servlet.http.HttpServletResponse.SC_OK;
 import static javax.servlet.http.HttpServletResponse.SC_UNAUTHORIZED;
+import static org.apache.qpid.server.transport.network.security.ssl.SSLUtil.canGenerateCerts;
 import static org.apache.qpid.server.transport.network.security.ssl.SSLUtil.generateSelfSignedCertificate;
 import static org.hamcrest.Matchers.equalTo;
 import static org.hamcrest.Matchers.greaterThan;
@@ -32,6 +33,7 @@ import static org.hamcrest.Matchers.not;
 import static org.hamcrest.Matchers.startsWith;
 import static org.junit.Assert.assertThat;
 import static org.junit.Assert.fail;
+import static org.junit.Assume.assumeThat;
 
 import java.io.ByteArrayOutputStream;
 import java.net.HttpURLConnection;
@@ -105,6 +107,7 @@ public class PreemptiveAuthenticationTest extends HttpTestBase
     @Test
     public void clientAuthSuccess() throws Exception
     {
+        assumeThat(canGenerateCerts(), is(true));
         HttpTestHelper helper = configForClientAuth("CN=foo");
 
         String userId = helper.getJson("broker/getUser", STRING_TYPE_REF, SC_OK);
@@ -114,6 +117,7 @@ public class PreemptiveAuthenticationTest extends HttpTestBase
     @Test
     public void clientAuthUnrecognisedCert() throws Exception
     {
+        assumeThat(canGenerateCerts(), is(true));
         HttpTestHelper helper = configForClientAuth("CN=foo");
 
         String keyStore = createKeyStoreDataUrl(getKeyCertPair("CN=bar"), STORE_PASSWORD);


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@qpid.apache.org
For additional commands, e-mail: commits-help@qpid.apache.org