svn commit: r1632254 - /qpid/branches/kwall_030_tmp/

2014-10-16 Thread kwall
Author: kwall
Date: Thu Oct 16 09:29:17 2014
New Revision: 1632254

URL: http://svn.apache.org/r1632254
Log:
Temporary branch based on 0.30 tag

Added:
qpid/branches/kwall_030_tmp/   (props changed)
  - copied from r1632253, qpid/tags/0.30/

Propchange: qpid/branches/kwall_030_tmp/
--
--- svn:mergeinfo (added)
+++ svn:mergeinfo Thu Oct 16 09:29:17 2014
@@ -0,0 +1,6 @@
+/qpid/branches/0.5.x-dev:892761,894875
+/qpid/branches/0.6-release-windows-installer:926803
+/qpid/branches/java-broker-bdb-ha2:1576683-1583556
+/qpid/branches/java-network-refactor:805429-825319
+/qpid/branches/mcpierce-QPID-4719:1477004-1477093
+/qpid/trunk:1617774,1618200,1618218,1618231,1618236,1620850,1620882



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



svn commit: r1632269 - in /qpid/branches/kwall_030_tmp: ./ qpid/ qpid/python/ qpid/python/qpid/messaging/endpoints.py

2014-10-16 Thread kwall
Author: kwall
Date: Thu Oct 16 10:34:03 2014
New Revision: 1632269

URL: http://svn.apache.org/r1632269
Log:
NO-JIRA: Fix timeout on python messaging.Session.commit and rollback

Fix both to take timeout arg and raise Timeout exception if timeout expires.

Merged from trunk with command:
svn merge -c r1619813 https://svn.apache.org/repos/asf/qpid/trunk/

Modified:
qpid/branches/kwall_030_tmp/   (props changed)
qpid/branches/kwall_030_tmp/qpid/   (props changed)
qpid/branches/kwall_030_tmp/qpid/python/   (props changed)
qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py

Propchange: qpid/branches/kwall_030_tmp/
--
  Merged /qpid/trunk:r1619813

Propchange: qpid/branches/kwall_030_tmp/qpid/
--
  Merged /qpid/trunk/qpid:r1619813

Propchange: qpid/branches/kwall_030_tmp/qpid/python/
--
  Merged /qpid/trunk/qpid/python:r1619813

Modified: qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py
URL: 
http://svn.apache.org/viewvc/qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py?rev=1632269r1=1632268r2=1632269view=diff
==
--- qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py 
(original)
+++ qpid/branches/kwall_030_tmp/qpid/python/qpid/messaging/endpoints.py Thu Oct 
16 10:34:03 2014
@@ -732,13 +732,14 @@ class Session(Endpoint):
   raise NontransactionalSession()
 self.committing = True
 self._wakeup()
-self._ecwait(lambda: not self.committing, timeout=timeout)
+if not self._ecwait(lambda: not self.committing, timeout=timeout):
+  raise Timeout(commit timed out)
 if self.aborted:
   raise TransactionAborted()
 assert self.committed
 
   @synchronized
-  def rollback(self):
+  def rollback(self, timeout=None):
 
 Rollback outstanding transactional work. This consists of all
 message sends and receives since the prior commit or rollback.
@@ -747,7 +748,8 @@ class Session(Endpoint):
   raise NontransactionalSession()
 self.aborting = True
 self._wakeup()
-self._ecwait(lambda: not self.aborting)
+if not self._ecwait(lambda: not self.aborting, timeout=timeout):
+  raise Timeout(rollback timed out)
 assert self.aborted
 
   @synchronized



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



svn commit: r1632285 - in /qpid/trunk/qpid/java: amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/ amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/ broke

2014-10-16 Thread rgodfrey
Author: rgodfrey
Date: Thu Oct 16 12:18:05 2014
New Revision: 1632285

URL: http://svn.apache.org/r1632285
Log:
QPID-6156 : [Java] Prevent downgrade to SSLv3 on secure connections

Added:

qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/transport/

qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/transport/TCPandSSLTransportTest.java
   (with props)
Modified:

qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java

qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java

qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPort.java

qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/port/AmqpPortImpl.java

qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/protocol/MultiVersionProtocolEngine.java

qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransport.java

qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TCPandSSLTransportProvider.java

qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/transport/TransportProvider.java

qpid/trunk/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/HttpManagement.java

qpid/trunk/qpid/java/broker-plugins/management-jmx/src/main/java/org/apache/qpid/server/jmx/QpidSslRMIServerSocketFactory.java

qpid/trunk/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketProvider.java

qpid/trunk/qpid/java/broker-plugins/websocket/src/main/java/org/apache/qpid/server/transport/websocket/WebSocketTransportProvider.java

qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/IncomingNetworkTransport.java

qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/io/IoNetworkTransport.java

qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/SecurityLayerFactory.java

qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLUtil.java

qpid/trunk/qpid/java/common/src/test/java/org/apache/qpid/transport/network/TransportTest.java

qpid/trunk/qpid/java/systests/src/test/java/org/apache/qpid/client/ssl/SSLTest.java

Modified: 
qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java?rev=1632285r1=1632284r2=1632285view=diff
==
--- 
qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java
 (original)
+++ 
qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java
 Thu Oct 16 12:18:05 2014
@@ -71,7 +71,7 @@ class WebSocketProvider implements Trans
 
 
 sslContextFactory.setSslContext(context);
-
+sslContextFactory.addExcludeProtocols(SSLv3);
 factory.start();
 
 return factory;

Modified: 
qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java?rev=1632285r1=1632284r2=1632285view=diff
==
--- 
qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java
 (original)
+++ 
qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java
 Thu Oct 16 12:18:05 2014
@@ -26,6 +26,9 @@ import java.io.OutputStream;
 import java.net.Socket;
 import java.net.SocketTimeoutException;
 import java.nio.ByteBuffer;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.logging.Level;
 import java.util.logging.Logger;
@@ -76,6 +79,13 @@ class TCPTransportProvier implements Tra
 final SSLSocketFactory socketFactory = 
sslContext.getSocketFactory();
 
 SSLSocket sslSocket = (SSLSocket) 
socketFactory.createSocket(address, port);
+ListString supportedProtocols = 
Arrays.asList(sslSocket.getSupportedProtocols());
+if(supportedProtocols.contains(SSLv3))
+{
+ListString allowedProtocols = new 
ArrayList(supportedProtocols);
+allowedProtocols.remove(SSLv3);
+   

git commit: Add some additional tests for handling unresolved foreign destination types.

2014-10-16 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master bec6b5cec - 7525ab93e


Add some additional tests for handling unresolved foreign destination
types. 

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/7525ab93
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/7525ab93
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/7525ab93

Branch: refs/heads/master
Commit: 7525ab93e2802be8d35120dad1585821dc859533
Parents: bec6b5c
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 16 09:59:51 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 16 09:59:51 2014 -0400

--
 ...ultUnresolvedDestinationTransformerTest.java | 178 +++
 1 file changed, 178 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/7525ab93/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java
new file mode 100644
index 000..89d1391
--- /dev/null
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/message/JmsDefaultUnresolvedDestinationTransformerTest.java
@@ -0,0 +1,178 @@
+/**
+ * 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.jms.message;
+
+import static org.junit.Assert.assertNotNull;
+import static org.junit.Assert.assertTrue;
+import static org.junit.Assert.fail;
+
+import javax.jms.Destination;
+import javax.jms.JMSException;
+import javax.jms.Queue;
+import javax.jms.Topic;
+
+import org.apache.qpid.jms.JmsDestination;
+import org.apache.qpid.jms.JmsQueue;
+import org.apache.qpid.jms.JmsTopic;
+import org.junit.Test;
+import org.mockito.Mockito;
+
+public class JmsDefaultUnresolvedDestinationTransformerTest {
+
+private final JmsDefaultUnresolvedDestinationTransformer transformer = new 
JmsDefaultUnresolvedDestinationTransformer();
+
+@Test
+public void testTransformDestinationDestinationWithNoNameThrowsJMSEx() 
throws JMSException {
+Destination destination = Mockito.mock(Destination.class);
+try {
+transformer.transform(destination);
+fail(Should throw a JMSException here);
+} catch (JMSException ex) {
+}
+}
+
+@Test
+public void testTransformDestinationDestinationWithoutTypeThrowsJMSEx() 
throws JMSException {
+ForeignTopicAndQueue destination = new 
ForeignTopicAndQueue(destination);
+destination.setTopic(false);
+destination.setQueue(false);
+
+try {
+transformer.transform(destination);
+fail(Should throw a JMSException here);
+} catch (JMSException ex) {
+}
+}
+
+@Test
+public void testTopicTypeIsDetectedFromComposite() throws JMSException {
+ForeignTopicAndQueue destination = new 
ForeignTopicAndQueue(destination);
+destination.setQueue(false);
+
+JmsDestination result = transformer.transform(destination);
+
+assertNotNull(result);
+assertTrue(result instanceof JmsTopic);
+}
+
+@Test
+public void testQueueTypeIsDetectedFromComposite() throws JMSException {
+ForeignTopicAndQueue destination = new 
ForeignTopicAndQueue(destination);
+destination.setTopic(false);
+
+JmsDestination result = transformer.transform(destination);
+
+assertNotNull(result);
+assertTrue(result instanceof JmsQueue);
+}
+
+@Test
+public void testTopicTypeIsDetectedFromCompositeMisMatchedNameAndType() 
throws JMSException {
+ForeignTopicAndQueue destination = new 
ForeignTopicAndQueue(destination);
+destination.setQueue(false);
+destination.setReturnTopicName(false);
+
+JmsDestination result = transformer.transform(destination);
+
+

svn commit: r1632318 - in /qpid/trunk/qpid/java/tools: pom.xml src/main/java/org/apache/qpid/tools/StressTestClient.java src/main/resources/ src/main/resources/stress-test-client.properties

2014-10-16 Thread orudyy
Author: orudyy
Date: Thu Oct 16 14:13:20 2014
New Revision: 1632318

URL: http://svn.apache.org/r1632318
Log:
QPID-6158: Add sample utility to help to perform stress testing of broker

The utility was originally implemented by Robbie Gemmell

Added:

qpid/trunk/qpid/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java
qpid/trunk/qpid/java/tools/src/main/resources/
qpid/trunk/qpid/java/tools/src/main/resources/stress-test-client.properties
Modified:
qpid/trunk/qpid/java/tools/pom.xml

Modified: qpid/trunk/qpid/java/tools/pom.xml
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/tools/pom.xml?rev=1632318r1=1632317r2=1632318view=diff
==
--- qpid/trunk/qpid/java/tools/pom.xml (original)
+++ qpid/trunk/qpid/java/tools/pom.xml Thu Oct 16 14:13:20 2014
@@ -51,7 +51,6 @@
   groupIdorg.apache.geronimo.specs/groupId
   artifactIdgeronimo-jms_1.1_spec/artifactId
   version${geronimo-jms-1-1-version}/version
-  scopeprovided/scope
 /dependency
   /dependencies


Added: 
qpid/trunk/qpid/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java?rev=1632318view=auto
==
--- 
qpid/trunk/qpid/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java
 (added)
+++ 
qpid/trunk/qpid/java/tools/src/main/java/org/apache/qpid/tools/StressTestClient.java
 Thu Oct 16 14:13:20 2014
@@ -0,0 +1,446 @@
+/*
+ *
+ * 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.tools;
+
+import java.io.InputStream;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.Properties;
+import java.util.Random;
+
+import javax.jms.BytesMessage;
+import javax.jms.Connection;
+import javax.jms.ConnectionFactory;
+import javax.jms.DeliveryMode;
+import javax.jms.Destination;
+import javax.jms.ExceptionListener;
+import javax.jms.JMSException;
+import javax.jms.Message;
+import javax.jms.MessageConsumer;
+import javax.jms.MessageProducer;
+import javax.jms.Session;
+import javax.naming.Context;
+import javax.naming.InitialContext;
+
+public class StressTestClient
+{
+private static final String QUEUE_NAME_PREFIX = 
BURL:direct://amq.direct//stress-test-queue;
+private static final String DURABLE_SUFFIX = ?durable='true';
+
+public static final String CONNECTIONS_ARG = connections;
+public static final String SESSIONS_ARG = sessions;
+public static final String CONSUME_IMMEDIATELY_ARG = consumeImmediately;
+public static final String CONSUMERS_ARG = consumers;
+public static final String CLOSE_CONSUMERS_ARG = closeconsumers;
+public static final String PRODUCERS_ARG = producers;
+public static final String MESSAGE_COUNT_ARG = messagecount;
+public static final String MESSAGE_SIZE_ARG = size;
+public static final String SUFFIX_ARG = suffix;
+public static final String REPETITIONS_ARG = repetitions;
+public static final String PERSISTENT_ARG = persistent;
+public static final String RANDOM_ARG = random;
+public static final String TIMEOUT_ARG = timeout;
+public static final String DELAYCLOSE_ARG = delayclose;
+public static final String REPORT_MOD_ARG = reportmod;
+public static final String LOW_PREFETCH_ARG = lowprefetch;
+public static final String TRANSACTED_ARG = transacted;
+public static final String TX_BATCH_ARG = txbatch;
+
+public static final String CONNECTIONS_DEFAULT = 1;
+public static final String SESSIONS_DEFAULT = 1;
+public static final String CONSUME_IMMEDIATELY_DEFAULT = true;
+public static final String CLOSE_CONSUMERS_DEFAULT = true;
+public static final String PRODUCERS_DEFAULT = 1;
+public static final String CONSUMERS_DEFAULT = 1;
+public static final String MESSAGE_COUNT_DEFAULT = 1;
+public static final String MESSAGE_SIZE_DEFAULT = 256;
+public static final String SUFFIX_DEFAULT = ;
+public static final String 

svn commit: r1632325 - /qpid/proton/trunk/proton-c/src/ssl/openssl.c

2014-10-16 Thread kgiusti
Author: kgiusti
Date: Thu Oct 16 14:52:44 2014
New Revision: 1632325

URL: http://svn.apache.org/r1632325
Log:
PROTON-717: mitigate the CRIME SSL vulnerability

Modified:
qpid/proton/trunk/proton-c/src/ssl/openssl.c

Modified: qpid/proton/trunk/proton-c/src/ssl/openssl.c
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-c/src/ssl/openssl.c?rev=1632325r1=1632324r2=1632325view=diff
==
--- qpid/proton/trunk/proton-c/src/ssl/openssl.c (original)
+++ qpid/proton/trunk/proton-c/src/ssl/openssl.c Thu Oct 16 14:52:44 2014
@@ -481,6 +481,10 @@ pn_ssl_domain_t *pn_ssl_domain( pn_ssl_m
   }
   const long reject_insecure = SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3;
   SSL_CTX_set_options(domain-ctx, reject_insecure);
+#ifdef SSL_OP_NO_COMPRESSION
+  // Mitigate the CRIME vulnerability
+  SSL_CTX_set_options(domain-ctx, SSL_OP_NO_COMPRESSION);
+#endif
 
   // by default, allow anonymous ciphers so certificates are not required 'out 
of the box'
   if (!SSL_CTX_set_cipher_list( domain-ctx, CIPHERS_ANONYMOUS )) {



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



[4/4] git commit: title and organise into sections of related tests

2014-10-16 Thread robbie
title and organise into sections of related tests


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/6bcb5546
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/6bcb5546
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/6bcb5546

Branch: refs/heads/master
Commit: 6bcb55460220f74d762d288d67dbb646f82b564f
Parents: 7525ab9
Author: Robert Gemmell rob...@apache.org
Authored: Wed Oct 15 12:45:42 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Thu Oct 16 16:55:32 2014 +0100

--
 .../jms/integration/MessageIntegrationTest.java | 64 
 1 file changed, 39 insertions(+), 25 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/6bcb5546/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java
index f46a6d0..24ecc64 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/integration/MessageIntegrationTest.java
@@ -59,7 +59,6 @@ import org.apache.qpid.proton.amqp.DescribedType;
 import org.apache.qpid.proton.amqp.Symbol;
 import org.apache.qpid.proton.amqp.UnsignedInteger;
 import org.apache.qpid.proton.amqp.UnsignedLong;
-import org.junit.Ignore;
 import org.junit.Test;
 
 public class MessageIntegrationTest extends QpidJmsTestCase
@@ -85,6 +84,9 @@ public class MessageIntegrationTest extends QpidJmsTestCase
 
 private final IntegrationTestFixture testFixture = new 
IntegrationTestFixture();
 
+// Application Properties Section 
+//
+
 @Test(timeout = 2000)
 public void testSendMessageWithApplicationProperties() throws Exception {
 try (TestAmqpPeer testPeer = new 
TestAmqpPeer(IntegrationTestFixture.PORT);) {
@@ -197,30 +199,8 @@ public class MessageIntegrationTest extends QpidJmsTestCase
 }
 }
 
-@Test(timeout = 2000)
-public void testReceiveMessageWithoutMessageId() throws Exception {
-try (TestAmqpPeer testPeer = new 
TestAmqpPeer(IntegrationTestFixture.PORT);) {
-Connection connection = testFixture.establishConnecton(testPeer);
-connection.start();
-
-testPeer.expectBegin(true);
-
-Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
-Queue queue = session.createQueue(myQueue);
-
-DescribedType amqpValueNullContent = new 
AmqpValueDescribedType(null);
-
-testPeer.expectReceiverAttach();
-testPeer.expectLinkFlowRespondWithTransfer(null, null, null, null, 
amqpValueNullContent);
-testPeer.expectDispositionThatIsAcceptedAndSettled();
-
-MessageConsumer messageConsumer = session.createConsumer(queue);
-Message receivedMessage = messageConsumer.receive(1000);
-testPeer.waitForAllHandlersToComplete(2000);
-
-assertNull(receivedMessage.getJMSMessageID());
-}
-}
+// Destination Handling 
+//==
 
 /**
  * Tests that the {@link AmqpMessageSupport#AMQP_TO_ANNOTATION} set on a 
message to
@@ -443,6 +423,9 @@ public class MessageIntegrationTest extends QpidJmsTestCase
 }
 }
 
+// TTL / Expiration Handling 
+//===
+
 /**
  * Tests that lack of the absolute-expiry-time and ttl fields on a message 
results
  * in it returning 0 for for JMSExpiration
@@ -512,6 +495,34 @@ public class MessageIntegrationTest extends QpidJmsTestCase
 }
 }
 
+// MessageID and CorrelationID Handling 
+//==
+
+@Test(timeout = 2000)
+public void testReceiveMessageWithoutMessageId() throws Exception {
+try (TestAmqpPeer testPeer = new 
TestAmqpPeer(IntegrationTestFixture.PORT);) {
+Connection connection = testFixture.establishConnecton(testPeer);
+connection.start();
+
+testPeer.expectBegin(true);
+
+Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
+Queue queue = session.createQueue(myQueue);
+
+DescribedType amqpValueNullContent = new 
AmqpValueDescribedType(null);
+
+testPeer.expectReceiverAttach();
+testPeer.expectLinkFlowRespondWithTransfer(null, null, null, null, 
amqpValueNullContent);
+

[3/4] git commit: add note about need to check limit to prevent excess provider creation attempts

2014-10-16 Thread robbie
add note about need to check limit to prevent excess provider creation attempts


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

Branch: refs/heads/master
Commit: 8b96bd5c890d5a01d526507f2e478fe8bbffc543
Parents: 47cf6e4
Author: Robert Gemmell rob...@apache.org
Authored: Thu Oct 16 12:20:08 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Thu Oct 16 16:55:32 2014 +0100

--
 .../org/apache/qpid/jms/provider/failover/FailoverProvider.java| 2 ++
 1 file changed, 2 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/8b96bd5c/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
index ca8a5e6..77820a6 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/failover/FailoverProvider.java
@@ -518,6 +518,8 @@ public class FailoverProvider extends 
DefaultProviderListener implements Provide
 return;
 }
 
+// TODO: if this is already at/past the limit when we arrive, 
we should
+// stop here rather than initialise the provider and only fail 
(again) after.
 reconnectAttempts++;
 Throwable failure = null;
 URI target = uris.getNext();


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



[2/4] git commit: add message to assertion to aid during test failure

2014-10-16 Thread robbie
add message to assertion to aid during test failure


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/47cf6e4c
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/47cf6e4c
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/47cf6e4c

Branch: refs/heads/master
Commit: 47cf6e4c0431a4b0779a2576648281dbcf18690b
Parents: 6bcb554
Author: Robert Gemmell rob...@apache.org
Authored: Thu Oct 16 11:55:06 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Thu Oct 16 16:55:32 2014 +0100

--
 .../java/org/apache/qpid/jms/failover/FailoverProviderTest.java| 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/47cf6e4c/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/failover/FailoverProviderTest.java
--
diff --git 
a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/failover/FailoverProviderTest.java
 
b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/failover/FailoverProviderTest.java
index a458ab7..7e4e5b3 100644
--- 
a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/failover/FailoverProviderTest.java
+++ 
b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/failover/FailoverProviderTest.java
@@ -87,6 +87,6 @@ public class FailoverProviderTest extends AmqpTestSupport {
 
 provider.connect();
 
-assertTrue(failed.await(2, TimeUnit.SECONDS));
+assertTrue(Did not trip latch within expected time, failed.await(2, 
TimeUnit.SECONDS));
 }
 }


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



[1/4] git commit: add support for sending+recieving byte encoded destination type info, disabled on outbound pending a final toggle

2014-10-16 Thread robbie
Repository: qpid-jms
Updated Branches:
  refs/heads/master 7525ab93e - 437a74fb9


add support for sending+recieving byte encoded destination type info, disabled 
on outbound pending a final toggle


Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/437a74fb
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/437a74fb
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/437a74fb

Branch: refs/heads/master
Commit: 437a74fb98ce172e1b8515a84416469e02d403b4
Parents: 8b96bd5
Author: Robert Gemmell rob...@apache.org
Authored: Thu Oct 16 16:51:41 2014 +0100
Committer: Robert Gemmell rob...@apache.org
Committed: Thu Oct 16 16:55:32 2014 +0100

--
 .../amqp/message/AmqpDestinationHelper.java | 164 +++
 .../amqp/message/AmqpJmsMessageFacade.java  |   4 +-
 .../jms/integration/MessageIntegrationTest.java |  86 +-
 .../amqp/message/AmqpDestinationHelperTest.java |  46 +++---
 4 files changed, 169 insertions(+), 131 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/437a74fb/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
index d492108..b3654a5 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpDestinationHelper.java
@@ -37,6 +37,13 @@ public class AmqpDestinationHelper {
 public static final String TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME = 
x-opt-to-type;
 public static final String REPLY_TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME = 
x-opt-reply-type;
 
+// For support of current byte type values
+public static final byte QUEUE_TYPE = 0x00;
+public static final byte TOPIC_TYPE = 0x01;
+public static final byte TEMP_QUEUE_TYPE = 0x02;
+public static final byte TEMP_TOPIC_TYPE = 0x03;
+
+// For support of old string type values
 static final String QUEUE_ATTRIBUTE = queue;
 static final String TOPIC_ATTRIBUTE = topic;
 static final String TEMPORARY_ATTRIBUTE = temporary;
@@ -46,18 +53,6 @@ public class AmqpDestinationHelper {
 public static final String TEMP_QUEUE_ATTRIBUTES_STRING = QUEUE_ATTRIBUTE 
+ , + TEMPORARY_ATTRIBUTE;
 public static final String TEMP_TOPIC_ATTRIBUTES_STRING = TOPIC_ATTRIBUTE 
+ , + TEMPORARY_ATTRIBUTE;
 
-// TODO - The Type Annotation seems like it could just be a byte value
-
-/*
- *  One possible way to encode destination types that isn't a string.
- *
- *  public static final byte QUEUE_TYPE = 0x01;
- *  public static final byte TOPIC_TYPE = 0x02;
- *  public static final byte TEMP_MASK = 0x04;
- *  public static final byte TEMP_TOPIC_TYPE = TOPIC_TYPE | TEMP_MASK;
- *  public static final byte TEMP_QUEUE_TYPE = QUEUE_TYPE | TEMP_MASK;
- */
-
 /**
  * Given a destination name string, create a JmsDestination object based 
on the
  * configured destination prefix values.  If no prefix values are 
configured or the
@@ -95,56 +90,42 @@ public class AmqpDestinationHelper {
  *
  * If an address and type description is provided then this will be used to
  * create the Destination. If the type information is missing, it will be
- * derived from the consumer destination if present, or default to a 
generic
+ * derived from the consumer destination if present, or default to a queue
  * destination if not.
  *
  * If the address is null then the consumer destination is returned, unless
  * the useConsumerDestForTypeOnly flag is true, in which case null will be
  * returned.
  */
-
 public JmsDestination getJmsDestination(AmqpJmsMessageFacade message, 
JmsDestination consumerDestination) {
 String to = message.getToAddress();
-String toTypeString = (String) 
message.getMessageAnnotation(TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
-SetString typeSet = null;
+Byte typeByte = getTypeByte(message, 
TO_TYPE_MSG_ANNOTATION_SYMBOL_NAME);
 
-if (toTypeString != null) {
-typeSet = splitAttributes(toTypeString);
-}
-
-return createDestination(to, typeSet, consumerDestination, false);
+return createDestination(to, typeByte, consumerDestination, false);
 }
 
 public JmsDestination getJmsReplyTo(AmqpJmsMessageFacade message, 
JmsDestination consumerDestination) {
 String replyTo = message.getReplyToAddress();
-String replyToTypeString = 

svn commit: r1632369 - in /qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model: AbstractConfiguredObject.java ConfiguredObjectTypeRegistry.java

2014-10-16 Thread rgodfrey
Author: rgodfrey
Date: Thu Oct 16 16:03:44 2014
New Revision: 1632369

URL: http://svn.apache.org/r1632369
Log:
QPID-6159 : [Java Broker] AbstractConfiguredObject.getContextKeys() should 
include default context

Modified:

qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java

qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java?rev=1632369r1=1632368r2=1632369view=diff
==
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/AbstractConfiguredObject.java
 Thu Oct 16 16:03:44 2014
@@ -1578,7 +1578,7 @@ public abstract class AbstractConfigured
 @Override
 public SetString getContextKeys(final boolean excludeSystem)
 {
-MapString,String inheritedContext = new HashMap();
+MapString,String inheritedContext = new 
HashMap(_model.getTypeRegistry().getDefaultContext());
 if(!excludeSystem)
 {
 inheritedContext.putAll(System.getenv());

Modified: 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java?rev=1632369r1=1632368r2=1632369view=diff
==
--- 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/main/java/org/apache/qpid/server/model/ConfiguredObjectTypeRegistry.java
 Thu Oct 16 16:03:44 2014
@@ -854,6 +854,9 @@ public class ConfiguredObjectTypeRegistr
 return map != null ? Collections.unmodifiableMap(map) : 
Collections.State, MapState, MethodemptyMap();
 }
 
-
+public MapString,String getDefaultContext()
+{
+return Collections.unmodifiableMap(_defaultContext);
+}
 
 }



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



svn commit: r1632372 - /qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java

2014-10-16 Thread rhs
Author: rhs
Date: Thu Oct 16 16:05:11 2014
New Revision: 1632372

URL: http://svn.apache.org/r1632372
Log:
PROTON-717: disable SSLv3

Modified:

qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java

Modified: 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java
URL: 
http://svn.apache.org/viewvc/qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java?rev=1632372r1=1632371r2=1632372view=diff
==
--- 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java
 (original)
+++ 
qpid/proton/trunk/proton-j/src/main/java/org/apache/qpid/proton/engine/impl/ssl/SslEngineFacadeFactory.java
 Thu Oct 16 16:05:11 2014
@@ -204,9 +204,24 @@ public class SslEngineFacadeFactory
 boolean useClientMode = mode == SslDomain.Mode.CLIENT ? true : false;
 sslEngine.setUseClientMode(useClientMode);
 
+removeSSLv3Support(sslEngine);
+
 return sslEngine;
 }
 
+private static final String SSLV3_PROTOCOL = SSLv3;
+
+private static void removeSSLv3Support(final SSLEngine engine)
+{
+ListString enabledProtocols = 
Arrays.asList(engine.getEnabledProtocols());
+if(enabledProtocols.contains(SSLV3_PROTOCOL))
+{
+ListString allowedProtocols = new 
ArrayListString(enabledProtocols);
+allowedProtocols.remove(SSLV3_PROTOCOL);
+engine.setEnabledProtocols(allowedProtocols.toArray(new 
String[allowedProtocols.size()]));
+}
+}
+
 /**
  * @param sslPeerDetails is allowed to be null. A non-null value is used 
to hint that SSL resumption
  * should be attempted



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



svn commit: r1632376 - in /qpid/trunk/qpid/java: amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/ amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/ commo

2014-10-16 Thread rgodfrey
Author: rgodfrey
Date: Thu Oct 16 16:12:35 2014
New Revision: 1632376

URL: http://svn.apache.org/r1632376
Log:
QPID-6156 : tidy up and ensure that there is no chance of inadvertantly adding 
an previously unenabled but supported protocol that is not SSLv3

Modified:

qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java

qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java

qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java

qpid/trunk/qpid/java/common/src/main/java/org/apache/qpid/transport/network/security/ssl/SSLUtil.java

Modified: 
qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java?rev=1632376r1=1632375r2=1632376view=diff
==
--- 
qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java
 (original)
+++ 
qpid/trunk/qpid/java/amqp-1-0-client-websocket/src/main/java/org/apache/qpid/amqp_1_0/client/websocket/WebSocketProvider.java
 Thu Oct 16 16:12:35 2014
@@ -33,6 +33,7 @@ import org.eclipse.jetty.websocket.WebSo
 import org.eclipse.jetty.websocket.WebSocketClientFactory;
 
 import org.apache.qpid.amqp_1_0.client.ConnectionException;
+import org.apache.qpid.amqp_1_0.client.SSLUtil;
 import org.apache.qpid.amqp_1_0.client.TransportProvider;
 import org.apache.qpid.amqp_1_0.codec.FrameWriter;
 import org.apache.qpid.amqp_1_0.framing.AMQFrame;
@@ -71,7 +72,7 @@ class WebSocketProvider implements Trans
 
 
 sslContextFactory.setSslContext(context);
-sslContextFactory.addExcludeProtocols(SSLv3);
+sslContextFactory.addExcludeProtocols(SSLUtil.SSLV3_PROTOCOL);
 factory.start();
 
 return factory;

Modified: 
qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java?rev=1632376r1=1632375r2=1632376view=diff
==
--- 
qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java
 (original)
+++ 
qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/SSLUtil.java
 Thu Oct 16 16:12:35 2014
@@ -20,13 +20,6 @@
  */
 package org.apache.qpid.amqp_1_0.client;
 
-import javax.net.ssl.KeyManager;
-import javax.net.ssl.KeyManagerFactory;
-import javax.net.ssl.SSLContext;
-import javax.net.ssl.SSLEngine;
-import javax.net.ssl.TrustManager;
-import javax.net.ssl.TrustManagerFactory;
-import javax.net.ssl.X509ExtendedKeyManager;
 import java.io.File;
 import java.io.FileInputStream;
 import java.io.IOException;
@@ -37,10 +30,23 @@ import java.security.KeyStore;
 import java.security.Principal;
 import java.security.PrivateKey;
 import java.security.cert.X509Certificate;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+import javax.net.ssl.KeyManager;
+import javax.net.ssl.KeyManagerFactory;
+import javax.net.ssl.SSLContext;
+import javax.net.ssl.SSLEngine;
+import javax.net.ssl.SSLSocket;
+import javax.net.ssl.TrustManager;
+import javax.net.ssl.TrustManagerFactory;
+import javax.net.ssl.X509ExtendedKeyManager;
 
 public class SSLUtil
 {
 public static final String TRANSPORT_LAYER_SECURITY_CODE = TLS;
+public static final String SSLV3_PROTOCOL = SSLv3;
 
 public static SSLContext buildSslContext(final String certAlias,
  final String keyStorePath,
@@ -212,4 +218,16 @@ public class SSLUtil
 return delegate.chooseEngineServerAlias(keyType, issuers, engine);
 }
 }
+
+public static void removeSSLv3Support(final SSLSocket socket)
+{
+ListString enabledProtocols = 
Arrays.asList(socket.getEnabledProtocols());
+if(enabledProtocols.contains(SSLV3_PROTOCOL))
+{
+ListString allowedProtocols = new ArrayList(enabledProtocols);
+allowedProtocols.remove(SSLV3_PROTOCOL);
+socket.setEnabledProtocols(allowedProtocols.toArray(new 
String[allowedProtocols.size()]));
+}
+}
+
 }

Modified: 
qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/amqp-1-0-client/src/main/java/org/apache/qpid/amqp_1_0/client/TCPTransportProvier.java?rev=1632376r1=1632375r2=1632376view=diff

svn commit: r1632383 - in /qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model: AbstractConfiguredObjectTest.java testmodel/TestChildCategory.java testmodel/TestRootCategory.ja

2014-10-16 Thread rgodfrey
Author: rgodfrey
Date: Thu Oct 16 16:51:30 2014
New Revision: 1632383

URL: http://svn.apache.org/r1632383
Log:
QPID-6159 : add test

Modified:

qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java

qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java

qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java

Modified: 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java?rev=1632383r1=1632382r2=1632383view=diff
==
--- 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/AbstractConfiguredObjectTest.java
 Thu Oct 16 16:51:30 2014
@@ -24,16 +24,15 @@ import java.util.Collections;
 import java.util.HashMap;
 import java.util.Map;
 
-import junit.framework.TestCase;
-
 import org.apache.qpid.server.configuration.IllegalConfigurationException;
 import org.apache.qpid.server.model.testmodel.TestChildCategory;
 import org.apache.qpid.server.model.testmodel.TestConfiguredObject;
 import org.apache.qpid.server.model.testmodel.TestModel;
 import org.apache.qpid.server.model.testmodel.TestRootCategory;
 import org.apache.qpid.server.store.ConfiguredObjectRecord;
+import org.apache.qpid.test.utils.QpidTestCase;
 
-public class AbstractConfiguredObjectTest extends TestCase
+public class AbstractConfiguredObjectTest extends QpidTestCase
 {
 private final Model _model = TestModel.getInstance();
 
@@ -169,6 +168,27 @@ public class AbstractConfiguredObjectTes
 System.clearProperty(sysPropertyName);
 }
 
+
+public void testDefaultContextIsInContextKeys()
+{
+final String objectName = myName;
+
+MapString, Object attributes = new HashMap();
+attributes.put(ConfiguredObject.NAME, objectName);
+
+
+TestRootCategory object = 
_model.getObjectFactory().create(TestRootCategory.class,
+
attributes);
+
+
+assertTrue(context default not in contextKeys, 
object.getContextKeys(true).contains(TestRootCategory.TEST_CONTEXT_DEFAULT));
+assertEquals(object.getContextValue(String.class, 
TestRootCategory.TEST_CONTEXT_DEFAULT), default);
+
+setTestSystemProperty(TestRootCategory.TEST_CONTEXT_DEFAULT, 
notdefault);
+assertTrue(context default not in contextKeys, 
object.getContextKeys(true).contains(TestRootCategory.TEST_CONTEXT_DEFAULT));
+assertEquals(object.getContextValue(String.class, 
TestRootCategory.TEST_CONTEXT_DEFAULT), notdefault);
+}
+
 public void 
testStringAttributeValueFromContextVariableProvidedObjectsContext()
 {
 String contextToken = ${myReplacement};

Modified: 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java?rev=1632383r1=1632382r2=1632383view=diff
==
--- 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestChildCategory.java
 Thu Oct 16 16:51:30 2014
@@ -24,12 +24,12 @@ import java.util.Set;
 
 import org.apache.qpid.server.model.ConfiguredObject;
 import org.apache.qpid.server.model.ManagedAttribute;
+import org.apache.qpid.server.model.ManagedContextDefault;
 import org.apache.qpid.server.model.ManagedObject;
 
 @ManagedObject
 public interface TestChildCategoryX extends TestChildCategoryX extends 
ConfiguredObjectX
 {
-
 String NON_INTERPOLATED_VALID_VALUE = ${file.separator};
 
 @ManagedAttribute(validValues = { NON_INTERPOLATED_VALID_VALUE }, 
defaultValue = )

Modified: 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java
URL: 
http://svn.apache.org/viewvc/qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java?rev=1632383r1=1632382r2=1632383view=diff
==
--- 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java
 (original)
+++ 
qpid/trunk/qpid/java/broker-core/src/test/java/org/apache/qpid/server/model/testmodel/TestRootCategory.java
 Thu Oct 16 16:51:30 2014

[1/2] git commit: Enable honoring of the disable message ID value in producer, broker will generate an ID for incoming messages without one.

2014-10-16 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 437a74fb9 - 0b4311225


Enable honoring of the disable message ID value in producer, broker will
generate an ID for incoming messages without one.  

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/29f2dcda
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/29f2dcda
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/29f2dcda

Branch: refs/heads/master
Commit: 29f2dcda176c2e878563f215035b7c2420791820
Parents: 437a74f
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 16 12:17:27 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 16 12:17:27 2014 -0400

--
 .../amqp/message/AmqpJmsMessageFacade.java  |  2 +-
 .../jms/producer/JmsMessageProducerTest.java| 30 
 2 files changed, 31 insertions(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/29f2dcda/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
index 8a6a20b..b767632 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacade.java
@@ -231,7 +231,7 @@ public class AmqpJmsMessageFacade implements 
JmsMessageFacade {
 if (disableMsgId) {
 // TODO - ActiveMQ will synthesize a message Id, but I don't think 
it has been
 //really well tested, so we should investigate before 
enabling this.
-// setMessageId(null);
+setMessageId(null);
 }
 
 if (disableTimestamp) {

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/29f2dcda/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
--
diff --git 
a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
 
b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
index ceb2d53..254015f 100644
--- 
a/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
+++ 
b/qpid-jms-interop-tests/qpid-jms-activemq-tests/src/test/java/org/apache/qpid/jms/producer/JmsMessageProducerTest.java
@@ -144,6 +144,36 @@ public class JmsMessageProducerTest extends 
AmqpTestSupport {
 assertEquals(0, message.getJMSExpiration());
 }
 
+@Test
+public void testProducerWithNoMessageIdCanBeConsumed() throws Exception {
+connection = createAmqpConnection();
+assertNotNull(connection);
+connection.start();
+
+Session session = connection.createSession(false, 
Session.AUTO_ACKNOWLEDGE);
+assertNotNull(session);
+Queue queue = session.createQueue(name.getMethodName());
+MessageProducer producer = session.createProducer(queue);
+producer.setDisableMessageID(true);
+
+QueueViewMBean proxy = getProxyToQueue(name.getMethodName());
+assertEquals(0, proxy.getQueueSize());
+
+for (int i = 0; i  10; ++i) {
+Message message = session.createMessage();
+producer.send(message);
+}
+
+assertEquals(10, proxy.getQueueSize());
+
+MessageConsumer consumer = session.createConsumer(queue);
+for (int i = 0; i  10; i++) {
+Message message = consumer.receive(5000);
+assertNotNull(message);
+assertEquals(0, message.getJMSExpiration());
+}
+}
+
 private String createLargeString(int sizeInBytes) {
 byte[] base = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
 StringBuilder builder = new StringBuilder();


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



[2/2] git commit: Add tests for some behaviors of onSend

2014-10-16 Thread tabish
Add tests for some behaviors of onSend

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/0b431122
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/0b431122
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/0b431122

Branch: refs/heads/master
Commit: 0b431122506f28145e707822af8f14d0b830f1c3
Parents: 29f2dcd
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 16 13:55:52 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 16 13:55:52 2014 -0400

--
 .../amqp/message/AmqpJmsMessageFacadeTest.java | 17 +
 1 file changed, 17 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/0b431122/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
index 016ad86..1966ced 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/amqp/message/AmqpJmsMessageFacadeTest.java
@@ -1855,6 +1855,23 @@ public class AmqpJmsMessageFacadeTest extends 
AmqpJmsMessageTypesTestCase  {
 // ===
 
 @Test
+public void testOnSendWithDisableMessageIdClearsMessageID() throws 
JMSException {
+Message message = Mockito.mock(Message.class);
+JmsMessageFacade amqpMessageFacade = 
createReceivedMessageFacade(createMockAmqpConsumer(), message);
+amqpMessageFacade.onSend(true, false, 0);
+Mockito.verify(message).setMessageId(null);
+}
+
+@Test
+public void testOnSendWithDisableTimestampClearsTimestamp() throws 
JMSException {
+AmqpJmsMessageFacade message = createNewMessageFacade();
+message.setTimestamp(MAX_UINT);
+assertEquals(MAX_UINT, message.getTimestamp());
+message.onSend(false, true, 0);
+assertEquals(0, message.getTimestamp());
+}
+
+@Test
 public void testIsEmpty() {
 AmqpJmsMessageFacade message = createNewMessageFacade();
 assertTrue(message.isEmpty());


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



[2/3] git commit: Create a specialized session object used soley by the connection to provide a place for things like durable unsubscribe, etc.

2014-10-16 Thread tabish
Create a specialized session object used soley by the connection to
provide a place for things like durable unsubscribe, etc. 

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/1ec8e2ca
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/1ec8e2ca
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/1ec8e2ca

Branch: refs/heads/master
Commit: 1ec8e2ca8521819b982b1ba853859a12b32014a5
Parents: 49db0e5
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 16 16:51:25 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 16 16:51:25 2014 -0400

--
 .../qpid/jms/provider/amqp/AmqpConnection.java  |  8 ++-
 .../provider/amqp/AmqpConnectionSession.java| 51 
 .../qpid/jms/provider/amqp/AmqpProvider.java|  2 +-
 3 files changed, 58 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1ec8e2ca/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
index 97118d7..f3d09b0 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnection.java
@@ -48,7 +48,7 @@ public class AmqpConnection extends 
AbstractAmqpResourceJmsConnectionInfo, Conn
 private final AmqpProvider provider;
 private boolean connected;
 private AmqpSaslAuthenticator authenticator;
-private final AmqpSession connectionSession;
+private final AmqpConnectionSession connectionSession;
 private AmqpConnectionProperties properties;
 
 private String queuePrefix;
@@ -83,7 +83,7 @@ public class AmqpConnection extends 
AbstractAmqpResourceJmsConnectionInfo, Conn
 JmsSessionInfo sessionInfo = new JmsSessionInfo(this.info, -1);
 sessionInfo.setAcknowledgementMode(Session.AUTO_ACKNOWLEDGE);
 
-this.connectionSession = new AmqpSession(this, sessionInfo);
+this.connectionSession = new AmqpConnectionSession(this, sessionInfo);
 }
 
 @Override
@@ -106,6 +106,10 @@ public class AmqpConnection extends 
AbstractAmqpResourceJmsConnectionInfo, Conn
 return temporary;
 }
 
+public void unsubscribe(String subscriptionName, AsyncResult request) {
+connectionSession.unsubscribe(subscriptionName, request);
+}
+
 /**
  * Called on receiving an event from Proton indicating a state change on 
the remote
  * side of the Connection.

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/1ec8e2ca/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java
new file mode 100644
index 000..341893e
--- /dev/null
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AmqpConnectionSession.java
@@ -0,0 +1,51 @@
+/**
+ * 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.jms.provider.amqp;
+
+import org.apache.qpid.jms.meta.JmsSessionInfo;
+import org.apache.qpid.jms.provider.AsyncResult;
+
+/**
+ * Subclass of the standard session object used solely by AmqpConnection to
+ * aid in managing connection resources that require a persistent session.
+ */
+public class AmqpConnectionSession extends AmqpSession {
+
+/**
+ * Create a new instance of a Connection owned Session object.
+ *
+ * @param connection
+ *the connection that owns this session.
+ * @param info
+ *the codeJmsSessionInfo/code for the Session to create.
+ */
+public 

[3/3] git commit: Do some cleanup and renaming to make things more consistent.

2014-10-16 Thread tabish
Do some cleanup and renaming to make things more consistent.  

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

Branch: refs/heads/master
Commit: ec13a0d50f121a71280f9f074a1a6e94e61bbfd1
Parents: 1ec8e2c
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 16 18:52:38 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 16 18:52:38 2014 -0400

--
 .../jms/provider/amqp/AbstractAmqpResource.java | 242 ---
 .../jms/provider/amqp/AmqpAbstractResource.java | 240 ++
 .../qpid/jms/provider/amqp/AmqpConnection.java  |  14 +-
 .../qpid/jms/provider/amqp/AmqpConsumer.java|  40 +--
 .../jms/provider/amqp/AmqpFixedProducer.java|   6 +-
 .../qpid/jms/provider/amqp/AmqpProducer.java|   6 +-
 .../jms/provider/amqp/AmqpQueueBrowser.java |   6 +-
 .../qpid/jms/provider/amqp/AmqpSession.java |  18 +-
 .../provider/amqp/AmqpTemporaryDestination.java |  20 +-
 .../provider/amqp/AmqpTransactionContext.java   |   6 +-
 10 files changed, 298 insertions(+), 300 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ec13a0d5/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java
deleted file mode 100644
index 1175b34..000
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/amqp/AbstractAmqpResource.java
+++ /dev/null
@@ -1,242 +0,0 @@
-/**
- * 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.jms.provider.amqp;
-
-import java.io.IOException;
-
-import javax.jms.JMSException;
-import javax.jms.JMSSecurityException;
-
-import org.apache.qpid.jms.meta.JmsResource;
-import org.apache.qpid.jms.provider.AsyncResult;
-import org.apache.qpid.proton.amqp.Symbol;
-import org.apache.qpid.proton.amqp.transport.AmqpError;
-import org.apache.qpid.proton.amqp.transport.ErrorCondition;
-import org.apache.qpid.proton.engine.Endpoint;
-import org.apache.qpid.proton.engine.EndpointState;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-
-/**
- * Abstract base for all AmqpResource implementations to extend.
- *
- * This abstract class wraps up the basic state management bits so that the 
concrete
- * object don't have to reproduce it.  Provides hooks for the subclasses to 
initialize
- * and shutdown.
- */
-public abstract class AbstractAmqpResourceR extends JmsResource, E extends 
Endpoint implements AmqpResource {
-
-private static final Logger LOG = 
LoggerFactory.getLogger(AbstractAmqpResource.class);
-
-protected AsyncResult openRequest;
-protected AsyncResult closeRequest;
-
-protected E endpoint;
-protected R info;
-
-/**
- * Creates a new AbstractAmqpResource instance with the JmsResource 
provided, and
- * sets the Endpoint to null.
- *
- * @param info
- *The JmsResource instance that this AmqpResource is managing.
- */
-public AbstractAmqpResource(R info) {
-this(info, null);
-}
-
-/**
- * Creates a new AbstractAmqpResource instance with the JmsResource 
provided, and
- * sets the Endpoint to the given value.
- *
- * @param info
- *The JmsResource instance that this AmqpResource is managing.
- * @param endpoint
- *The Proton Endpoint instance that this object maps to.
- */
-public AbstractAmqpResource(R info, E endpoint) {
-this.info = info;
-this.endpoint = endpoint;
-}
-
-@Override
-public void open(AsyncResult request) {
-this.openRequest = request;
-doOpen();
-this.endpoint.setContext(this);
-

[1/3] git commit: Tests for stat exception thrown when connection is closed.

2014-10-16 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 0b4311225 - ec13a0d50


Tests for stat exception thrown when connection is closed.

Project: http://git-wip-us.apache.org/repos/asf/qpid-jms/repo
Commit: http://git-wip-us.apache.org/repos/asf/qpid-jms/commit/49db0e5e
Tree: http://git-wip-us.apache.org/repos/asf/qpid-jms/tree/49db0e5e
Diff: http://git-wip-us.apache.org/repos/asf/qpid-jms/diff/49db0e5e

Branch: refs/heads/master
Commit: 49db0e5e84f11274c55c7dfb7ee6f30bacbb1d4f
Parents: 0b43112
Author: Timothy Bish tabish...@gmail.com
Authored: Thu Oct 16 14:51:09 2014 -0400
Committer: Timothy Bish tabish...@gmail.com
Committed: Thu Oct 16 14:51:09 2014 -0400

--
 .../org/apache/qpid/jms/JmsConnectionTest.java  | 68 
 1 file changed, 68 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/49db0e5e/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
index 841fd51..4f50a37 100644
--- a/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
+++ b/qpid-jms-client/src/test/java/org/apache/qpid/jms/JmsConnectionTest.java
@@ -25,6 +25,7 @@ import java.io.IOException;
 import java.net.URI;
 
 import javax.jms.JMSException;
+import javax.jms.Session;
 
 import org.apache.qpid.jms.message.JmsInboundMessageDispatch;
 import org.apache.qpid.jms.meta.JmsConnectionInfo;
@@ -134,4 +135,71 @@ public class JmsConnectionTest {
 connection.start();
 assertTrue(connection.isConnected());
 }
+
+//-- Test methods fail after connection closed 
---//
+
+@Test(expected=javax.jms.IllegalStateException.class)
+public void testSetClientIdAfterClose() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+connection.close();
+connection.setClientID(test-Id);
+}
+
+@Test(expected=javax.jms.IllegalStateException.class)
+public void testStartCalledAfterClose() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+connection.close();
+connection.start();
+}
+
+@Test(expected=javax.jms.IllegalStateException.class)
+public void testStopCalledAfterClose() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+connection.close();
+connection.stop();
+}
+
+@Test(expected=javax.jms.IllegalStateException.class)
+public void testSetExceptionListenerAfterClose() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+connection.close();
+connection.setExceptionListener(null);
+}
+
+@Test(expected=javax.jms.IllegalStateException.class)
+public void testFetExceptionListenerAfterClose() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+connection.close();
+connection.getExceptionListener();
+}
+
+@Test(expected=javax.jms.IllegalStateException.class)
+public void testCreateConnectionConsumerForTopicAfterClose() throws 
JMSException {
+JmsDestination destination = new JmsTopic(test);
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+connection.close();
+connection.createConnectionConsumer(destination, null, null, 0);
+}
+
+@Test(expected=javax.jms.IllegalStateException.class)
+public void testCreateConnectionConsumerForQueueAfterClose() throws 
JMSException {
+JmsDestination destination = new JmsQueue(test);
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+connection.close();
+connection.createConnectionConsumer(destination, null, null, 0);
+}
+
+@Test(expected=javax.jms.IllegalStateException.class)
+public void testCreateTopicSessionAfterClose() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+connection.close();
+connection.createTopicSession(false, Session.AUTO_ACKNOWLEDGE);
+}
+
+@Test(expected=javax.jms.IllegalStateException.class)
+public void testCreateQueueSessionAfterClose() throws JMSException {
+JmsConnection connection = new JmsConnection(ID:TEST:1, provider, 
clientIdGenerator);
+connection.close();
+connection.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
+}
 }