qpid-dispatch git commit: DISPATCH-1041 - Uncommented test that was accidentally commented out

2018-06-25 Thread gmurthy
Repository: qpid-dispatch
Updated Branches:
  refs/heads/master a9bf29237 -> af997544e


DISPATCH-1041 - Uncommented test that was accidentally commented out


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

Branch: refs/heads/master
Commit: af997544e1c7954f5ff0bdb3b17bdc69c21557d9
Parents: a9bf292
Author: Ganesh Murthy 
Authored: Mon Jun 25 14:04:05 2018 -0400
Committer: Ganesh Murthy 
Committed: Mon Jun 25 14:04:05 2018 -0400

--
 tests/CMakeLists.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/af997544/tests/CMakeLists.txt
--
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index a16653a..408c574 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -106,7 +106,7 @@ foreach(py_test_module
 system_tests_topology_disposition
 system_tests_topology_addition
 system_tests_disallow_link_resumable_link_route
-#system_tests_global_delivery_counts
+system_tests_global_delivery_counts
 system_tests_exchange_bindings
 system_tests_cmdline_parsing
 system_tests_bad_configuration


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



qpid-jms git commit: QPIDJMS-395 Resend message in flight when remote closed

2018-06-25 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master c66d88811 -> fe0307b58


QPIDJMS-395 Resend message in flight when remote closed

When the remote closes the connection and an inflight send
is outstanding we should handle the close and resend those
messages that are still awaiting dispositions in the same
manner as we do when the connection unexpectedly drops when
using the Failover feature.


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

Branch: refs/heads/master
Commit: fe0307b58beb7ec344f728e34a7ca0e3ef103add
Parents: c66d888
Author: Timothy Bish 
Authored: Mon Jun 25 13:38:30 2018 -0400
Committer: Timothy Bish 
Committed: Mon Jun 25 13:38:30 2018 -0400

--
 .../java/org/apache/qpid/jms/JmsConnection.java |   5 +-
 .../jms/provider/ProviderClosedException.java   |   8 +-
 .../qpid/jms/provider/ProviderException.java|  32 ++
 .../jms/provider/ProviderFailedException.java   |   4 +-
 .../provider/ProviderRedirectedException.java   |   2 +-
 .../ProviderResourceClosedException.java|  30 ++
 .../qpid/jms/provider/amqp/AmqpConnection.java  |  21 
 .../failover/FailoverIntegrationTest.java   | 105 ++-
 8 files changed, 195 insertions(+), 12 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fe0307b5/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
index 52c314d..7d09a9c 100644
--- a/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
+++ b/qpid-jms-client/src/main/java/org/apache/qpid/jms/JmsConnection.java
@@ -76,9 +76,8 @@ import org.apache.qpid.jms.policy.JmsPresettlePolicy;
 import org.apache.qpid.jms.policy.JmsRedeliveryPolicy;
 import org.apache.qpid.jms.provider.AsyncResult;
 import org.apache.qpid.jms.provider.Provider;
-import org.apache.qpid.jms.provider.ProviderClosedException;
 import org.apache.qpid.jms.provider.ProviderConstants.ACK_TYPE;
-import org.apache.qpid.jms.provider.ProviderFailedException;
+import org.apache.qpid.jms.provider.ProviderException;
 import org.apache.qpid.jms.provider.ProviderFuture;
 import org.apache.qpid.jms.provider.ProviderListener;
 import org.apache.qpid.jms.provider.ProviderSynchronization;
@@ -230,7 +229,7 @@ public class JmsConnection implements AutoCloseable, 
Connection, TopicConnection
 }
 LOG.debug("Failed destroying Connection resource: 
{}", ex.getMessage());
 }
-} catch(ProviderClosedException | ProviderFailedException 
pfe) {
+} catch(ProviderException prodiverError) {
 LOG.debug("Ignoring provider exception during 
connection close");
 } finally {
 requests.remove(request);

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fe0307b5/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderClosedException.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderClosedException.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderClosedException.java
index 0fbf753..cc7c140 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderClosedException.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderClosedException.java
@@ -16,13 +16,15 @@
  */
 package org.apache.qpid.jms.provider;
 
-import java.io.IOException;
-
-public class ProviderClosedException extends IOException {
+public class ProviderClosedException extends ProviderException {
 
 private static final long serialVersionUID = 1L;
 
 public ProviderClosedException(String message) {
 super(message);
 }
+
+public ProviderClosedException(String message, Throwable cause) {
+super(message, cause);
+}
 }

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/fe0307b5/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderException.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderException.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderException.java
new file mode 100644
index 000..e680df6
--- /dev/null
+++ 

qpid-proton git commit: PROTON-1866: provide method to determine whether expiry policy was set explicitly or not

2018-06-25 Thread gsim
Repository: qpid-proton
Updated Branches:
  refs/heads/master b1b8322b2 -> ccb9e5a38


PROTON-1866: provide method to determine whether expiry policy was set 
explicitly or not


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

Branch: refs/heads/master
Commit: ccb9e5a388022e529502dcc547b7862b2185d6bc
Parents: b1b8322
Author: Gordon Sim 
Authored: Mon Jun 25 17:52:19 2018 +0100
Committer: Gordon Sim 
Committed: Mon Jun 25 17:52:40 2018 +0100

--
 c/include/proton/terminus.h  | 11 ++
 c/src/core/engine-internal.h |  1 +
 c/src/core/engine.c  |  8 
 c/src/core/transport.c   | 43 +++
 4 files changed, 41 insertions(+), 22 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccb9e5a3/c/include/proton/terminus.h
--
diff --git a/c/include/proton/terminus.h b/c/include/proton/terminus.h
index b2344c0..096ab17 100644
--- a/c/include/proton/terminus.h
+++ b/c/include/proton/terminus.h
@@ -191,6 +191,15 @@ PN_EXTERN int pn_terminus_set_durability(pn_terminus_t 
*terminus,
 PN_EXTERN pn_expiry_policy_t pn_terminus_get_expiry_policy(pn_terminus_t 
*terminus);
 
 /**
+ * Return true if the terminus has an explicit expiry policy set,
+ * false if it does not.
+ *
+ * @param[in] terminus a terminus object
+ * @return whether the terminus has an explicit expiry-policy
+ */
+PN_EXTERN bool pn_terminus_has_expiry_policy(const pn_terminus_t *terminus);
+
+/**
  * Set the expiry policy of a terminus object.
  *
  * @param[in] terminus a terminus object
@@ -199,6 +208,8 @@ PN_EXTERN pn_expiry_policy_t 
pn_terminus_get_expiry_policy(pn_terminus_t *termin
  */
 PN_EXTERN int pn_terminus_set_expiry_policy(pn_terminus_t *terminus, 
pn_expiry_policy_t policy);
 
+
+
 /**
  * Get the timeout of a terminus object.
  *

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccb9e5a3/c/src/core/engine-internal.h
--
diff --git a/c/src/core/engine-internal.h b/c/src/core/engine-internal.h
index b1c6123..66a892d 100644
--- a/c/src/core/engine-internal.h
+++ b/c/src/core/engine-internal.h
@@ -274,6 +274,7 @@ struct pn_terminus_t {
   pn_data_t *filter;
   pn_durability_t durability;
   pn_expiry_policy_t expiry_policy;
+  bool has_expiry_policy;
   pn_seconds_t timeout;
   pn_terminus_type_t type;
   pn_distribution_mode_t distribution_mode;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccb9e5a3/c/src/core/engine.c
--
diff --git a/c/src/core/engine.c b/c/src/core/engine.c
index 070c751..e70117e 100644
--- a/c/src/core/engine.c
+++ b/c/src/core/engine.c
@@ -1085,6 +1085,7 @@ static void pni_terminus_init(pn_terminus_t *terminus, 
pn_terminus_type_t type)
   terminus->type = type;
   terminus->address = pn_string(NULL);
   terminus->durability = PN_NONDURABLE;
+  terminus->has_expiry_policy = false;
   terminus->expiry_policy = PN_EXPIRE_WITH_SESSION;
   terminus->timeout = 0;
   terminus->dynamic = false;
@@ -1267,10 +1268,16 @@ pn_expiry_policy_t 
pn_terminus_get_expiry_policy(pn_terminus_t *terminus)
   return terminus ? terminus->expiry_policy : (pn_expiry_policy_t) 0;
 }
 
+bool pn_terminus_has_expiry_policy(const pn_terminus_t *terminus)
+{
+return terminus && terminus->has_expiry_policy;
+}
+
 int pn_terminus_set_expiry_policy(pn_terminus_t *terminus, pn_expiry_policy_t 
expiry_policy)
 {
   if (!terminus) return PN_ARG_ERR;
   terminus->expiry_policy = expiry_policy;
+  terminus->has_expiry_policy = true;
   return 0;
 }
 
@@ -1340,6 +1347,7 @@ int pn_terminus_copy(pn_terminus_t *terminus, 
pn_terminus_t *src)
   int err = pn_terminus_set_address(terminus, pn_terminus_get_address(src));
   if (err) return err;
   terminus->durability = src->durability;
+  terminus->has_expiry_policy = src->has_expiry_policy;
   terminus->expiry_policy = src->expiry_policy;
   terminus->timeout = src->timeout;
   terminus->dynamic = src->dynamic;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/ccb9e5a3/c/src/core/transport.c
--
diff --git a/c/src/core/transport.c b/c/src/core/transport.c
index bfa66c1..dde4b37 100644
--- a/c/src/core/transport.c
+++ b/c/src/core/transport.c
@@ -1274,21 +1274,18 @@ static pn_link_t *pni_find_link(pn_session_t *ssn, 
pn_bytes_t name, bool is_send
   return NULL;
 }
 
-static pn_expiry_policy_t symbol2policy(pn_bytes_t symbol)
+static void 

qpid-dispatch git commit: DISPATCH-1041 - Add tests to validate each global delivery count accurately

2018-06-25 Thread gmurthy
Repository: qpid-dispatch
Updated Branches:
  refs/heads/master 2e766f35c -> a9bf29237


DISPATCH-1041 - Add tests to validate each global delivery count accurately


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

Branch: refs/heads/master
Commit: a9bf2923717d3ae9efb36fe72284a544e02d9b44
Parents: 2e766f3
Author: Ganesh Murthy 
Authored: Fri Jun 22 10:34:10 2018 -0400
Committer: Ganesh Murthy 
Committed: Mon Jun 25 12:06:00 2018 -0400

--
 tests/CMakeLists.txt |   1 +
 tests/system_tests_global_delivery_counts.py | 911 ++
 2 files changed, 912 insertions(+)
--


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/a9bf2923/tests/CMakeLists.txt
--
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 159521d..a16653a 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -106,6 +106,7 @@ foreach(py_test_module
 system_tests_topology_disposition
 system_tests_topology_addition
 system_tests_disallow_link_resumable_link_route
+#system_tests_global_delivery_counts
 system_tests_exchange_bindings
 system_tests_cmdline_parsing
 system_tests_bad_configuration

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/a9bf2923/tests/system_tests_global_delivery_counts.py
--
diff --git a/tests/system_tests_global_delivery_counts.py 
b/tests/system_tests_global_delivery_counts.py
new file mode 100644
index 000..db4a868
--- /dev/null
+++ b/tests/system_tests_global_delivery_counts.py
@@ -0,0 +1,911 @@
+#
+# 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.
+#
+
+from time import sleep
+
+from proton import Condition, Message, Delivery, PENDING, ACCEPTED, REJECTED, 
Url, symbol, Timeout
+from system_test import TestCase, Qdrouterd, TIMEOUT
+from proton.handlers import MessagingHandler
+from proton.reactor import Container
+from qpid_dispatch.management.client import Node
+
+
+class OneRouterModifiedTest(TestCase):
+@classmethod
+def setUpClass(cls):
+"""Start three routers"""
+super(OneRouterModifiedTest, cls).setUpClass()
+
+listen_port = cls.tester.get_port()
+config = Qdrouterd.Config([
+('router', {'mode': 'standalone', 'id': 'A'}),
+('listener', {'port': listen_port, 'authenticatePeer': False, 
'saslMechanisms': 'ANONYMOUS'})])
+
+cls.router = Qdrouterd(name="A", config=config, wait=True)
+
+def test_one_router_modified_counts(self):
+address = self.router.addresses[0]
+
+test = ModifieddDeliveriesTest(address)
+test.run()
+
+local_node = Node.connect(address, timeout=TIMEOUT)
+outs = local_node.query(type='org.apache.qpid.dispatch.router')
+
+deliveries_modified_index = 
outs.attribute_names.index('modifiedDeliveries')
+
+results = outs.results[0]
+
+self.assertEqual(results[deliveries_modified_index], 10)
+
+
+class OneRouterRejectedTest(TestCase):
+@classmethod
+def setUpClass(cls):
+"""Start three routers"""
+super(OneRouterRejectedTest, cls).setUpClass()
+
+listen_port = cls.tester.get_port()
+config = Qdrouterd.Config([
+('router', {'mode': 'standalone', 'id': 'A'}),
+('listener', {'port': listen_port, 'authenticatePeer': False, 
'saslMechanisms': 'ANONYMOUS'})])
+
+cls.router = Qdrouterd(name="A", config=config, wait=True)
+
+def test_one_router_rejected_counts(self):
+address = self.router.addresses[0]
+
+test = RejectedDeliveriesTest(address)
+test.run()
+
+local_node = Node.connect(address, timeout=TIMEOUT)
+outs = local_node.query(type='org.apache.qpid.dispatch.router')
+
+deliveries_rejected_index = 

qpid-jms git commit: QPIDJMS-396 Allow for faster reaction times on sync operations

2018-06-25 Thread tabish
Repository: qpid-jms
Updated Branches:
  refs/heads/master 02c76f64c -> c66d88811


QPIDJMS-396 Allow for faster reaction times on sync operations

For sync operations from the JMS layer into the provider we can
more quickly process the events by using a spin-wait future that
checks in a short spin for the completion of the target event.
The spin will back off and eventually back down to a parked wait
that will be signalled by the normal wait / notify pattern.


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

Branch: refs/heads/master
Commit: c66d888114021da31d9032c841c08903dd31cc89
Parents: 02c76f6
Author: Timothy Bish 
Authored: Mon Jun 25 13:05:07 2018 -0400
Committer: Timothy Bish 
Committed: Mon Jun 25 13:05:07 2018 -0400

--
 .../qpid/jms/provider/ProviderFuture.java   | 164 ---
 .../qpid/jms/provider/ProviderFutureTest.java   |  11 ++
 2 files changed, 156 insertions(+), 19 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/c66d8881/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFuture.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFuture.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFuture.java
index 01b3c6e..c708593 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFuture.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFuture.java
@@ -17,9 +17,9 @@
 package org.apache.qpid.jms.provider;
 
 import java.io.IOException;
-import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicIntegerFieldUpdater;
+import java.util.concurrent.locks.LockSupport;
 
 import org.apache.qpid.jms.util.IOExceptionSupport;
 
@@ -28,15 +28,30 @@ import org.apache.qpid.jms.util.IOExceptionSupport;
  */
 public class ProviderFuture implements AsyncResult {
 
-private static final AtomicIntegerFieldUpdater 
COMPLETE_UPDATER =
-AtomicIntegerFieldUpdater.newUpdater(ProviderFuture.class, 
"complete");
+// Using a progressive wait strategy helps to avoid await happening before 
countDown
+// and avoids expensive thread signaling
+private static final int SPIN_COUNT = 10;
+private static final int YIELD_COUNT = 100;
+private static final int TINY_PARK_COUNT = 1000;
+private static final int TINY_PARK_NANOS = 1;
+private static final int SMALL_PARK_COUNT = 101_000;
+private static final int SMALL_PARK_NANOS = 10_000;
 
-private final CountDownLatch latch = new CountDownLatch(1);
-private final ProviderSynchronization synchronization;
+// States used to track progress of this future
+private static final int INCOMPLETE = 0;
+private static final int COMPLETING = 1;
+private static final int SUCCESS = 2;
+private static final int FAILURE = 3;
+
+private static final AtomicIntegerFieldUpdater 
STATE_FIELD_UPDATER =
+AtomicIntegerFieldUpdater.newUpdater(ProviderFuture.class,"state");
+
+private volatile int state = INCOMPLETE;
 private volatile Throwable error;
 
-@SuppressWarnings("unused")
-private volatile int complete;
+private int waiting;
+
+private final ProviderSynchronization synchronization;
 
 public ProviderFuture() {
 this(null);
@@ -48,27 +63,41 @@ public class ProviderFuture implements AsyncResult {
 
 @Override
 public boolean isComplete() {
-return latch.getCount() == 0;
+return state > COMPLETING;
 }
 
 @Override
 public void onFailure(Throwable result) {
-if (COMPLETE_UPDATER.compareAndSet(this, 0, 1)) {
+if (STATE_FIELD_UPDATER.compareAndSet(this, INCOMPLETE, COMPLETING)) {
 error = result;
 if (synchronization != null) {
 synchronization.onPendingFailure(error);
 }
-latch.countDown();
+
+STATE_FIELD_UPDATER.lazySet(this, FAILURE);
+
+synchronized(this) {
+if (waiting > 0) {
+notifyAll();
+}
+}
 }
 }
 
 @Override
 public void onSuccess() {
-if (COMPLETE_UPDATER.compareAndSet(this, 0, 1)) {
+if (STATE_FIELD_UPDATER.compareAndSet(this, INCOMPLETE, COMPLETING)) {
 if (synchronization != null) {
 synchronization.onPendingSuccess();
 }
-latch.countDown();
+
+STATE_FIELD_UPDATER.lazySet(this, SUCCESS);
+
+

[2/8] qpid-dispatch git commit: DISPATCH-1049 Add console tests

2018-06-25 Thread eallen
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/b5deb035/console/stand-alone/plugin/js/topology/qdrTopology.js
--
diff --git a/console/stand-alone/plugin/js/topology/qdrTopology.js 
b/console/stand-alone/plugin/js/topology/qdrTopology.js
index 15e73c4..9a48ba2 100644
--- a/console/stand-alone/plugin/js/topology/qdrTopology.js
+++ b/console/stand-alone/plugin/js/topology/qdrTopology.js
@@ -16,1593 +16,1091 @@ KIND, either express or implied.  See the License for 
the
 specific language governing permissions and limitations
 under the License.
 */
-'use strict';
 
-/* global angular d3 separateAddresses Traffic */
+/* global angular d3 */
 /**
  * @module QDR
  */
-var QDR = (function(QDR) {
-
-  /**
-   * @method TopologyController
-   *
-   * Controller that handles the QDR topology page
-   */
-
-  QDR.module.controller('QDR.TopologyController', ['$scope', '$rootScope', 
'QDRService', '$location', '$timeout', '$uibModal', '$sce',
-function($scope, $rootScope, QDRService, $location, $timeout, $uibModal, 
$sce) {
-
-  const TOPOOPTIONSKEY = 'topoOptions';
-  const radius = 25;
-  const radiusNormal = 15;
-
-  //  - nodes is an array of router/client info. these are the circles
-  //  - links is an array of connections between the routers. these are 
the lines with arrows
-  let nodes = [];
-  let links = [];
-  let forceData = {nodes: nodes, links: links};
-  let urlPrefix = $location.absUrl();
-  urlPrefix = urlPrefix.split('#')[0];
-  QDR.log.debug('started QDR.TopologyController with urlPrefix: ' + 
urlPrefix);
-
-  $scope.legendOptions = angular.fromJson(localStorage[TOPOOPTIONSKEY]) || 
{showTraffic: false, trafficType: 'dots'};
-  if (!$scope.legendOptions.trafficType)
-$scope.legendOptions.trafficType = 'dots';
-  $scope.legend = {status: {legendOpen: true, optionsOpen: true}};
-  $scope.legend.status.optionsOpen = $scope.legendOptions.showTraffic;
-  let traffic = new Traffic($scope, $timeout, QDRService, 
separateAddresses, 
-radius, forceData, nextHop, $scope.legendOptions.trafficType, 
urlPrefix);
-
-  // the showTraaffic checkbox was just toggled (or initialized)
-  $scope.$watch('legend.status.optionsOpen', function () {
-$scope.legendOptions.showTraffic = $scope.legend.status.optionsOpen;
-localStorage[TOPOOPTIONSKEY] = JSON.stringify($scope.legendOptions);
-if ($scope.legend.status.optionsOpen) {
-  traffic.start();
-} else {
-  traffic.stop();
-  traffic.remove();
-  restart();
-}
-  });
-  $scope.$watch('legendOptions.trafficType', function () {
-localStorage[TOPOOPTIONSKEY] = JSON.stringify($scope.legendOptions);
-if ($scope.legendOptions.showTraffic) {
-  restart();
-  traffic.setAnimationType($scope.legendOptions.trafficType, 
separateAddresses, radius);
-  traffic.start();
-}
-  });
-
-  // mouse event vars
-  let selected_node = null,
-selected_link = null,
-mousedown_link = null,
-mousedown_node = null,
-mouseover_node = null,
-mouseup_node = null,
-initial_mouse_down_position = null;
-
-  $scope.schema = 'Not connected';
-
-  $scope.contextNode = null; // node that is associated with the current 
context menu
-  $scope.isRight = function(mode) {
-return mode.right;
-  };
-
-  var setNodesFixed = function (name, b) {
-nodes.some(function (n) {
-  if (n.name === name) {
-n.fixed = b;
-return true;
-  }
-});
-  };
-  $scope.setFixed = function(b) {
-if ($scope.contextNode) {
-  $scope.contextNode.fixed = b;
-  setNodesFixed($scope.contextNode.name, b);
-  savePositions();
-}
+import { QDRLogger, QDRRedirectWhenConnected } from '../qdrGlobals.js';
+import { Traffic } from './traffic.js';
+import { separateAddresses } from '../chord/filters.js';
+import { Nodes } from './nodes.js';
+import { Links } from './links.js';
+import { nextHop, connectionPopupHTML } from './topoUtils.js';
+/**
+ * @module QDR
+ */
+export class TopologyController {
+  constructor(QDRService, $scope, $log, $rootScope, $location, $timeout, 
$uibModal, $sce) {
+this.controllerName = 'QDR.TopologyController';
+
+let QDRLog = new QDRLogger($log, 'TopologyController');
+const TOPOOPTIONSKEY = 'topoOptions';
+const radius = 25;
+const radiusNormal = 15;
+
+//  - nodes is an array of router/client info. these are the circles
+//  - links is an array of connections between the routers. these are the 
lines with arrows
+let nodes = new Nodes(QDRService, QDRLog);
+let links = new Links(QDRService, QDRLog);
+let forceData = {nodes: nodes, links: links};
+// urlPrefix is used when referring to 

[3/8] qpid-dispatch git commit: DISPATCH-1049 Add console tests

2018-06-25 Thread eallen
http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/b5deb035/console/stand-alone/plugin/js/qdrOverview.js
--
diff --git a/console/stand-alone/plugin/js/qdrOverview.js 
b/console/stand-alone/plugin/js/qdrOverview.js
index 2f784e7..536d93a 100644
--- a/console/stand-alone/plugin/js/qdrOverview.js
+++ b/console/stand-alone/plugin/js/qdrOverview.js
@@ -16,21 +16,15 @@ KIND, either express or implied.  See the License for the
 specific language governing permissions and limitations
 under the License.
 */
-'use strict';
 /* global angular d3 */
+import { QDRFolder, QDRLeaf, QDRCore, QDRLogger, QDRTemplatePath, 
QDRRedirectWhenConnected } from './qdrGlobals.js';
 
-/**
- * @module QDR
- */
-var QDR = (function (QDR) {
+export class OverviewController {
+  constructor(QDRService, $scope, $log, $location, $timeout, $uibModal) {
+this.controllerName = 'QDR.OverviewController';
 
-  /**
-   *
-   * Controller that handles the QDR overview page
-   */
-  QDR.module.controller('QDR.OverviewController', ['$scope', 'QDRService', 
'$location', '$timeout', '$uibModal', 'uiGridConstants', function($scope, 
QDRService, $location, $timeout, $uibModal) {
-
-QDR.log.debug('QDR.OverviewControll started with location of ' + 
$location.path() + ' and connection of  ' + 
QDRService.management.connection.is_connected());
+let QDRLog = new QDRLogger($log, 'OverviewController');
+QDRLog.debug('QDR.OverviewControll started with location of ' + 
$location.path() + ' and connection of  ' + 
QDRService.management.connection.is_connected());
 let updateIntervalHandle = undefined;
 const updateInterval = 5000;
 
@@ -46,14 +40,14 @@ var QDR = (function (QDR) {
   content: ' Attributes',
   title: 'View the attribute values on your selection',
   isValid: function () { return true; },
-  href: function () { return '#/' + QDR.pluginName + '/attributes'; },
+  href: function () { return '#/attributes'; },
   index: 0
 },
 {
   content: ' Operations',
   title: 'Execute operations on your selection',
   isValid: function () { return true; },
-  href: function () { return '#/' + QDR.pluginName + '/operations'; },
+  href: function () { return '#/operations'; },
   index: 1
 }];
 $scope.activeTab = $scope.subLevelTabs[0];
@@ -72,7 +66,7 @@ var QDR = (function (QDR) {
   {title: 'Overview', name: 'Overview', right: false}
 ];
 
-$scope.tmplOverviewTree = QDR.templatePath + 'tmplOverviewTree.html';
+$scope.tmplOverviewTree = QDRTemplatePath + 'tmplOverviewTree.html';
 $scope.templates = [
   { name: 'Charts', url: 'overviewCharts.html'},
   { name: 'Routers', url: 'routers.html'},
@@ -188,7 +182,7 @@ var QDR = (function (QDR) {
 if (nodes[node]['connection'].results[i][0] === 'inter-router')
   ++connections;
   }
-  let routerRow = {connections: connections, nodeId: node, id: 
QDRService.management.topology.nameFromId(node)};
+  let routerRow = {connections: connections, nodeId: node, id: 
QDRService.utilities.nameFromId(node)};
   nodes[node]['router'].attributeNames.forEach( function (routerAttr, 
i) {
 if (routerAttr !== 'routerId' && routerAttr !== 'id')
   routerRow[routerAttr] = nodes[node]['router'].results[0][i];
@@ -441,7 +435,7 @@ var QDR = (function (QDR) {
 }
 return include;
   });
-  QDR.log.info('setting linkFields in updateLinkGrid');
+  QDRLog.info('setting linkFields in updateLinkGrid');
   $scope.linkFields = filteredLinks;
   expandGridToContent('Links', $scope.linkFields.length);
   getLinkPagedData($scope.linkPagingOptions.pageSize, 
$scope.linkPagingOptions.currentPage);
@@ -594,7 +588,7 @@ var QDR = (function (QDR) {
 
 var getAllLinkFields = function (completionCallbacks, selectionCallback) {
   if (!$scope.linkFields) {
-QDR.log.debug('$scope.linkFields was not defined!');
+QDRLog.debug('$scope.linkFields was not defined!');
 return;
   }
   let nodeIds = QDRService.management.topology.nodeIdList();
@@ -611,10 +605,10 @@ var QDR = (function (QDR) {
   if (elapsed < 0)
 return 0;
   let delivered = QDRService.utilities.valFor(response.attributeNames, 
result, 'deliveryCount') - oldname[0].rawDeliveryCount;
-  //QDR.log.debug("elapsed " + elapsed + " delivered " + delivered)
+  //QDRLog.debug("elapsed " + elapsed + " delivered " + delivered)
   return elapsed > 0 ? parseFloat(Math.round((delivered/elapsed) * 
100) / 100).toFixed(2) : 0;
 } else {
-  //QDR.log.debug("unable to find old linkName")
+  //QDRLog.debug("unable to find old linkName")
   return 0;
 }
   };
@@ -637,7 +631,7 @@ var QDR = (function (QDR) {
   return QDRService.utilities.pretty(und + uns);
 

[1/8] qpid-dispatch git commit: DISPATCH-1049 Add console tests

2018-06-25 Thread eallen
Repository: qpid-dispatch
Updated Branches:
  refs/heads/master af997544e -> b5deb0357


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/b5deb035/console/stand-alone/plugin/js/topology/topoUtils.js
--
diff --git a/console/stand-alone/plugin/js/topology/topoUtils.js 
b/console/stand-alone/plugin/js/topology/topoUtils.js
new file mode 100644
index 000..48d4cf8
--- /dev/null
+++ b/console/stand-alone/plugin/js/topology/topoUtils.js
@@ -0,0 +1,225 @@
+/*
+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.
+*/
+// highlight the paths between the selected node and the hovered node
+function findNextHopNode(from, d, QDRService, selected_node, nodes) {
+  // d is the node that the mouse is over
+  // from is the selected_node 
+  if (!from)
+return null;
+
+  if (from == d)
+return selected_node;
+
+  let sInfo = QDRService.management.topology.nodeInfo()[from.key];
+
+  // find the hovered name in the selected name's .router.node results
+  if (!sInfo['router.node'])
+return null;
+  let aAr = sInfo['router.node'].attributeNames;
+  let vAr = sInfo['router.node'].results;
+  for (let hIdx = 0; hIdx < vAr.length; ++hIdx) {
+let addrT = QDRService.utilities.valFor(aAr, vAr[hIdx], 'id');
+if (addrT == d.name) {
+  let next = QDRService.utilities.valFor(aAr, vAr[hIdx], 'nextHop');
+  return (next == null) ? nodes.nodeFor(addrT) : nodes.nodeFor(next);
+}
+  }
+  return null;
+}
+export function nextHop(thisNode, d, nodes, links, QDRService, selected_node, 
cb) {
+  if ((thisNode) && (thisNode != d)) {
+let target = findNextHopNode(thisNode, d, QDRService, selected_node, 
nodes);
+if (target) {
+  let hnode = nodes.nodeFor(thisNode.name);
+  let hlLink = links.linkFor(hnode, target);
+  if (hlLink) {
+if (cb) {
+  cb(hlLink, hnode, target);
+}
+  }
+  else
+target = null;
+}
+nextHop(target, d, nodes, links, QDRService, selected_node, cb);
+  }
+}
+
+export function connectionPopupHTML (d, QDRService) {
+  let getConnsArray = function (d, conn) {
+let conns = [conn];
+if (d.cls === 'small') {
+  conns = [];
+  let normals = d.target.normals ? d.target.normals : d.source.normals;
+  for (let n=0; n bsum ? -1 : 0;
+});
+let HTMLHeading = 'Links';
+let HTML = '';
+// copy of fields since we may be prepending an address
+let th = fields.slice();
+// convert to actual attribute names
+let td = fields.map( function (f) {return f + 'Count';});
+th.unshift('dir');
+td.unshift('linkDir');
+// add an address field if any of the links had an owningAddress
+if (hasAddress) {
+  th.unshift('address');
+  td.unshift('owningAddr');
+}
+HTML += ('' + th.join('') + '');
+// add rows to the table for each link
+for (let l=0; l=max_links) {
+HTMLHeading = `Top ${max_links} Links`;
+break;
+  }
+  let link = links[l];
+  let vals = td.map( function (f) {
+if (f === 'owningAddr') {
+  let identity = QDRService.utilities.identity_clean(link.owningAddr);
+  return QDRService.utilities.addr_text(identity);
+}
+return link[f];
+  });
+  let joinedVals = fnJoin(vals, function (v1) {
+return ['', 
QDRService.utilities.pretty(v1 || '0')];
+  });
+  HTML += ` ${joinedVals} `;
+}
+HTML += '';
+return HTMLHeading + HTML;
+  };
+  let left = d.left ? d.source : d.target;
+  // left is the connection with dir 'in'
+  let right = d.left ? d.target : d.source;
+  let onode = QDRService.management.topology.nodeInfo()[left.key];
+  let connSecurity = function (conn) {
+if (!conn.isEncrypted)
+  return 'no-security';
+if (conn.sasl === 'GSSAPI')
+  return 'Kerberos';
+return conn.sslProto + '(' + conn.sslCipher + ')';
+  };
+  let connAuth = function (conn) {
+if (!conn.isAuthenticated)
+  return 'no-auth';
+let sasl = conn.sasl;
+if (sasl === 'GSSAPI')
+  sasl = 'Kerberos';
+else if (sasl === 'EXTERNAL')
+  sasl = 'x.509';
+else if (sasl === 'ANONYMOUS')
+  return 'anonymous-user';
+if (!conn.user)
+  return sasl;
+  

[8/8] qpid-dispatch git commit: DISPATCH-1049 Add console tests

2018-06-25 Thread eallen
DISPATCH-1049 Add console tests


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

Branch: refs/heads/master
Commit: b5deb03579a7dedd81a56f32baa3e5f4b5b57136
Parents: af99754
Author: Ernest Allen 
Authored: Mon Jun 25 17:25:50 2018 -0400
Committer: Ernest Allen 
Committed: Mon Jun 25 17:25:50 2018 -0400

--
 .gitignore  |2 +-
 console/CMakeLists.txt  |  207 +-
 console/stand-alone/.babelrc|   21 +
 console/stand-alone/gulpfile.js |  101 +-
 console/stand-alone/index.html  |   11 +-
 console/stand-alone/main.js |  254 ++
 console/stand-alone/modules/connection.js   |  347 +++
 console/stand-alone/modules/correlator.js   |   50 +
 console/stand-alone/modules/management.js   |   63 +
 console/stand-alone/modules/topology.js |  403 +++
 console/stand-alone/modules/utilities.js|  115 +
 console/stand-alone/package-lock.json   | 2519 ++
 console/stand-alone/package.json|   24 +-
 console/stand-alone/plugin/css/dispatch.css |4 +-
 console/stand-alone/plugin/html/qdrList.html|   53 +-
 .../plugin/html/tmplChartConfig.html|   12 +-
 console/stand-alone/plugin/js/chord/data.js |  234 +-
 console/stand-alone/plugin/js/chord/filters.js  |   52 +-
 .../plugin/js/chord/layout/layout.js|6 +-
 console/stand-alone/plugin/js/chord/matrix.js   |3 +-
 console/stand-alone/plugin/js/chord/qdrChord.js |   24 +-
 .../plugin/js/chord/ribbon/ribbon.js|4 +-
 console/stand-alone/plugin/js/dispatchPlugin.js |  264 --
 .../stand-alone/plugin/js/dlgChartController.js |   31 +-
 console/stand-alone/plugin/js/navbar.js |  140 +-
 .../stand-alone/plugin/js/posintDirective.js|   75 +
 .../stand-alone/plugin/js/qdrChartService.js| 1607 ++-
 console/stand-alone/plugin/js/qdrCharts.js  |   33 +-
 console/stand-alone/plugin/js/qdrGlobals.js |   58 +-
 console/stand-alone/plugin/js/qdrList.js| 1732 ++--
 console/stand-alone/plugin/js/qdrListChart.js   |  146 -
 console/stand-alone/plugin/js/qdrOverview.js|   85 +-
 .../plugin/js/qdrOverviewChartsController.js|   18 +-
 .../plugin/js/qdrOverviewLogsController.js  |   25 +-
 console/stand-alone/plugin/js/qdrSchema.js  |   22 +-
 console/stand-alone/plugin/js/qdrService.js |  317 +--
 console/stand-alone/plugin/js/qdrSettings.js|   89 +-
 .../plugin/js/qdrTopAddressesController.js  |   16 +-
 console/stand-alone/plugin/js/topology/links.js |  216 ++
 console/stand-alone/plugin/js/topology/nodes.js |  162 ++
 .../plugin/js/topology/qdrTopology.js   | 2512 +++--
 .../stand-alone/plugin/js/topology/topoUtils.js |  225 ++
 .../stand-alone/plugin/js/topology/traffic.js   |  445 
 .../stand-alone/plugin/js/topology/traffic.ts   |  443 ---
 console/stand-alone/test/filter.js  |   73 +
 console/stand-alone/test/links.js   |   82 +
 console/stand-alone/test/matrix.js  |   51 +
 console/stand-alone/test/nodes.json |1 +
 console/stand-alone/test/utilities.js   |  192 ++
 console/stand-alone/tsconfig.json   |   23 +-
 console/stand-alone/vendor-js.txt   |   12 +-
 51 files changed, 8155 insertions(+), 5449 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/b5deb035/.gitignore
--
diff --git a/.gitignore b/.gitignore
index 49a9c44..d7c32e7 100644
--- a/.gitignore
+++ b/.gitignore
@@ -12,7 +12,7 @@ tests/policy-1/policy-*.json
 .metadata
 .settings
 console/test/topolgies/config-*
-.history
+.history/
 .tox
 .vscode
 console/stand-alone/node_modules/

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/b5deb035/console/CMakeLists.txt
--
diff --git a/console/CMakeLists.txt b/console/CMakeLists.txt
index bfd9cd8..a55b572 100644
--- a/console/CMakeLists.txt
+++ b/console/CMakeLists.txt
@@ -20,101 +20,122 @@
 ##
 ## Add cmake option to choose whether to install stand-alone console
 ##
-option(CONSOLE_INSTALL "Build and install console (requires npm)" ON)
+option(CONSOLE_INSTALL "Build and install console (requires npm 5.2+)" ON)
 
 if(CONSOLE_INSTALL)
-  find_program(NPX_EXE npx DOC "Location of the npx task runner")
-if (NPX_EXE)
-
-  set(CONSOLE_SOURCE_DIR "${CMAKE_SOURCE_DIR}/console/stand-alone")
-  set(CONSOLE_BUILD_DIR 

svn commit: r27723 - /dev/qpid/jms/0.34.0-rc1/

2018-06-25 Thread robbie
Author: robbie
Date: Mon Jun 25 20:08:06 2018
New Revision: 27723

Log:
add files for qpid-jms-0.34.0 (RC1)

Added:
dev/qpid/jms/0.34.0-rc1/
dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-bin.tar.gz   (with props)
dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-bin.tar.gz.asc   (with props)
dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-bin.tar.gz.sha512
dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-src.tar.gz   (with props)
dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-src.tar.gz.asc   (with props)
dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-src.tar.gz.sha512

Added: dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-bin.tar.gz
==
Binary file - no diff available.

Propchange: dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-bin.tar.gz
--
svn:mime-type = application/x-gzip

Added: dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-bin.tar.gz.asc
==
Binary file - no diff available.

Propchange: dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-bin.tar.gz.asc
--
svn:mime-type = application/pgp-signature

Added: dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-bin.tar.gz.sha512
==
--- dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-bin.tar.gz.sha512 (added)
+++ dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-bin.tar.gz.sha512 Mon Jun 25 
20:08:06 2018
@@ -0,0 +1 @@
+0f38df0d2c9e5fe904df046099b3d805aaef89c2d0c5943fe2e5284f7e67f221561d7f9370feea7e9875738cc438b7e4ad55143e181c9564b4ead86f4f13e0df
  apache-qpid-jms-0.34.0-bin.tar.gz

Added: dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-src.tar.gz
==
Binary file - no diff available.

Propchange: dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-src.tar.gz
--
svn:mime-type = application/x-gzip

Added: dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-src.tar.gz.asc
==
Binary file - no diff available.

Propchange: dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-src.tar.gz.asc
--
svn:mime-type = application/pgp-signature

Added: dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-src.tar.gz.sha512
==
--- dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-src.tar.gz.sha512 (added)
+++ dev/qpid/jms/0.34.0-rc1/apache-qpid-jms-0.34.0-src.tar.gz.sha512 Mon Jun 25 
20:08:06 2018
@@ -0,0 +1 @@
+6709707f30d74a1c01b7f810772987ed8c32837238451b3421e5e0050ba8860efc663c035273099646b4d9de0c647a7451d42929f334a2cfc9f654068b0ba8ce
  apache-qpid-jms-0.34.0-src.tar.gz



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



qpid-jms git commit: QPIDJMS-396: avoid corner case leading to unexpected wait

2018-06-25 Thread robbie
Repository: qpid-jms
Updated Branches:
  refs/heads/master fe0307b58 -> 842ce9059


QPIDJMS-396: avoid corner case leading to unexpected wait


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

Branch: refs/heads/master
Commit: 842ce9059f7d515500eebcbf850f514f259a43a6
Parents: fe0307b
Author: Robbie Gemmell 
Authored: Mon Jun 25 19:19:06 2018 +0100
Committer: Robbie Gemmell 
Committed: Mon Jun 25 19:19:06 2018 +0100

--
 .../src/main/java/org/apache/qpid/jms/provider/ProviderFuture.java | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/842ce905/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFuture.java
--
diff --git 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFuture.java
 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFuture.java
index c708593..c228a1f 100644
--- 
a/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFuture.java
+++ 
b/qpid-jms-client/src/main/java/org/apache/qpid/jms/provider/ProviderFuture.java
@@ -138,7 +138,7 @@ public class ProviderFuture implements AsyncResult {
 final long elapsed = System.nanoTime() - startTime;
 final long diff = elapsed - timeout;
 
-if (diff > 0) {
+if (diff >= 0) {
 failOnError();
 return isComplete();
 }


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



qpid-jms git commit: [maven-release-plugin] prepare for next development iteration

2018-06-25 Thread robbie
Repository: qpid-jms
Updated Branches:
  refs/heads/master 052125c5c -> ecff6e001


[maven-release-plugin] prepare for next development iteration


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

Branch: refs/heads/master
Commit: ecff6e001eb3d826d5275765e32c666b3668246b
Parents: 052125c
Author: Robbie Gemmell 
Authored: Mon Jun 25 20:32:27 2018 +0100
Committer: Robbie Gemmell 
Committed: Mon Jun 25 20:32:27 2018 +0100

--
 apache-qpid-jms/pom.xml| 2 +-
 pom.xml| 4 ++--
 qpid-jms-client/pom.xml| 2 +-
 qpid-jms-discovery/pom.xml | 2 +-
 qpid-jms-docs/pom.xml  | 2 +-
 qpid-jms-examples/pom.xml  | 2 +-
 qpid-jms-interop-tests/pom.xml | 2 +-
 qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml | 2 +-
 8 files changed, 9 insertions(+), 9 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ecff6e00/apache-qpid-jms/pom.xml
--
diff --git a/apache-qpid-jms/pom.xml b/apache-qpid-jms/pom.xml
index 4f9ca2d..a1d5f26 100644
--- a/apache-qpid-jms/pom.xml
+++ b/apache-qpid-jms/pom.xml
@@ -18,7 +18,7 @@
   
 org.apache.qpid
 qpid-jms-parent
-0.34.0
+0.35.0-SNAPSHOT
   
   4.0.0
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ecff6e00/pom.xml
--
diff --git a/pom.xml b/pom.xml
index 726207c..bae252c 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,7 +24,7 @@
 
   org.apache.qpid
   qpid-jms-parent
-  0.34.0
+  0.35.0-SNAPSHOT
   pom
   QpidJMS
   2013
@@ -82,7 +82,7 @@
 
scm:git:http://git-wip-us.apache.org/repos/asf/qpid-jms.git
 
scm:git:https://git-wip-us.apache.org/repos/asf/qpid-jms.git
 https://git-wip-us.apache.org/repos/asf?p=qpid-jms.git
-0.34.0
+HEAD
   
 
   

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ecff6e00/qpid-jms-client/pom.xml
--
diff --git a/qpid-jms-client/pom.xml b/qpid-jms-client/pom.xml
index 0b9d517..6147c57 100644
--- a/qpid-jms-client/pom.xml
+++ b/qpid-jms-client/pom.xml
@@ -20,7 +20,7 @@
   
 org.apache.qpid
 qpid-jms-parent
-0.34.0
+0.35.0-SNAPSHOT
   
 
   qpid-jms-client

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ecff6e00/qpid-jms-discovery/pom.xml
--
diff --git a/qpid-jms-discovery/pom.xml b/qpid-jms-discovery/pom.xml
index 0132edc..2c943b4 100644
--- a/qpid-jms-discovery/pom.xml
+++ b/qpid-jms-discovery/pom.xml
@@ -20,7 +20,7 @@
   
 org.apache.qpid
 qpid-jms-parent
-0.34.0
+0.35.0-SNAPSHOT
   
 
   qpid-jms-discovery

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ecff6e00/qpid-jms-docs/pom.xml
--
diff --git a/qpid-jms-docs/pom.xml b/qpid-jms-docs/pom.xml
index 01d0bf2..cef69bb 100644
--- a/qpid-jms-docs/pom.xml
+++ b/qpid-jms-docs/pom.xml
@@ -18,7 +18,7 @@
   
 org.apache.qpid
 qpid-jms-parent
-0.34.0
+0.35.0-SNAPSHOT
   
   4.0.0
 

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ecff6e00/qpid-jms-examples/pom.xml
--
diff --git a/qpid-jms-examples/pom.xml b/qpid-jms-examples/pom.xml
index 479f5fd..0cbd6ec 100644
--- a/qpid-jms-examples/pom.xml
+++ b/qpid-jms-examples/pom.xml
@@ -20,7 +20,7 @@
   
 org.apache.qpid
 qpid-jms-parent
-0.34.0
+0.35.0-SNAPSHOT
   
 
   qpid-jms-examples

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ecff6e00/qpid-jms-interop-tests/pom.xml
--
diff --git a/qpid-jms-interop-tests/pom.xml b/qpid-jms-interop-tests/pom.xml
index cdcb1bd..422bf88 100644
--- a/qpid-jms-interop-tests/pom.xml
+++ b/qpid-jms-interop-tests/pom.xml
@@ -20,7 +20,7 @@
   
 org.apache.qpid
 qpid-jms-parent
-0.34.0
+0.35.0-SNAPSHOT
   
 
   qpid-jms-interop-tests

http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/ecff6e00/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml
--
diff --git a/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml 
b/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml
index be60920..64b76b9 100644
--- a/qpid-jms-interop-tests/qpid-jms-activemq-tests/pom.xml
+++ 

[1/2] qpid-proton git commit: PROTON-1868: Fix pn_handle_t python binding on Visual Studio 64 bit compiles

2018-06-25 Thread astitcher
Repository: qpid-proton
Updated Branches:
  refs/heads/master ccb9e5a38 -> 7c0a3387a


PROTON-1868: Fix pn_handle_t python binding on Visual Studio 64 bit compiles


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

Branch: refs/heads/master
Commit: 798894f63dba6a0d4eaa6e015d6f5ac64274be2f
Parents: ccb9e5a
Author: Andrew Stitcher 
Authored: Mon Jun 25 23:01:58 2018 -0400
Committer: Andrew Stitcher 
Committed: Tue Jun 26 01:25:03 2018 -0400

--
 c/include/proton/cproton.i | 7 +--
 python/CMakeLists.txt  | 2 +-
 python/cproton.i   | 8 
 ruby/CMakeLists.txt| 2 ++
 ruby/cproton.i | 3 +++
 5 files changed, 19 insertions(+), 3 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/798894f6/c/include/proton/cproton.i
--
diff --git a/c/include/proton/cproton.i b/c/include/proton/cproton.i
index 464e74b..31e5b77 100644
--- a/c/include/proton/cproton.i
+++ b/c/include/proton/cproton.i
@@ -26,7 +26,11 @@ typedef unsigned long int uint32_t;
 typedef long int int32_t;
 typedef unsigned long long int uint64_t;
 typedef long long int int64_t;
+#if UINTPTR_SIZE==8
+typedef unsigned long long int uintptr_t;
+#else
 typedef unsigned long int uintptr_t;
+#endif
 
 /* Parse these interface header files to generate APIs for script languages */
 
@@ -61,8 +65,7 @@ typedef unsigned long int uintptr_t;
 %immutable PN_OBJECT;
 %immutable PN_VOID;
 %immutable PN_WEAKREF;
-/* Treat pn_handle_t like uintptr_t - syntactically it is a C void* but really 
it's just an int */
-%apply uintptr_t { pn_handle_t };
+
 %include "proton/object.h"
 
 %ignore pn_error_format;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/798894f6/python/CMakeLists.txt
--
diff --git a/python/CMakeLists.txt b/python/CMakeLists.txt
index 2c3f4d9..037552e 100644
--- a/python/CMakeLists.txt
+++ b/python/CMakeLists.txt
@@ -20,7 +20,7 @@
 # NB For python the SWIG module name must have the same name as the input .i 
file for CMake to generate the
 # correct dependencies
 
-set(CMAKE_SWIG_FLAGS "-threads")
+set(CMAKE_SWIG_FLAGS "-threads" "-DUINTPTR_SIZE=${CMAKE_SIZEOF_VOID_P}")
 
 include_directories (${PN_C_INCLUDE_DIR} ${PYTHON_INCLUDE_PATH})
 

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/798894f6/python/cproton.i
--
diff --git a/python/cproton.i b/python/cproton.i
index b173dd8..3bc60ea 100644
--- a/python/cproton.i
+++ b/python/cproton.i
@@ -100,6 +100,14 @@ PN_HANDLE(PNI_PYTRACER);
 %ignore pn_message_get_correlation_id;
 %ignore pn_message_set_correlation_id;
 
+%typemap(in) pn_handle_t {
+  $1 = PyLong_AsVoidPtr($input);
+}
+
+%typemap(out) pn_handle_t {
+  $result = PyLong_FromVoidPtr((void*)$1);
+}
+
 %typemap(in) pn_bytes_t {
   if ($input == Py_None) {
 $1.start = NULL;

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/798894f6/ruby/CMakeLists.txt
--
diff --git a/ruby/CMakeLists.txt b/ruby/CMakeLists.txt
index 1dc106c..a27a67a 100644
--- a/ruby/CMakeLists.txt
+++ b/ruby/CMakeLists.txt
@@ -28,6 +28,8 @@ list(APPEND SWIG_MODULE_cproton-ruby_EXTRA_DEPS
 ${PROTON_HEADERS}
 )
 
+set(CMAKE_SWIG_FLAGS "-DUINTPTR_SIZE=${CMAKE_SIZEOF_VOID_P}")
+
 include_directories(${PN_C_INCLUDE_DIR} ${RUBY_INCLUDE_PATH})
 
 swig_add_library(cproton-ruby LANGUAGE ruby SOURCES cproton.i)

http://git-wip-us.apache.org/repos/asf/qpid-proton/blob/798894f6/ruby/cproton.i
--
diff --git a/ruby/cproton.i b/ruby/cproton.i
index a9c731a..1de88f0 100644
--- a/ruby/cproton.i
+++ b/ruby/cproton.i
@@ -52,6 +52,9 @@ Keep preprocessor directives and macro expansions in the 
normal header section.
 #endif
 %}
 
+/* Treat pn_handle_t like uintptr_t - syntactically it is a C void* but really 
it's just an int */
+%apply uintptr_t { pn_handle_t };
+
 %typemap(in) pn_bytes_t {
   if ($input == Qnil) {
 $1.start = NULL;


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



qpid-jms git commit: QPIDJMS-395: expand test to check versions with and without container-id hint, i.e. invalid ClientID

2018-06-25 Thread robbie
Repository: qpid-jms
Updated Branches:
  refs/heads/master ed27c4ea5 -> 02c76f64c


QPIDJMS-395: expand test to check versions with and without container-id hint, 
i.e. invalid ClientID


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

Branch: refs/heads/master
Commit: 02c76f64c5a7b83f862e5f4358e7135ed096da7d
Parents: ed27c4e
Author: Robbie Gemmell 
Authored: Mon Jun 25 11:08:31 2018 +0100
Committer: Robbie Gemmell 
Committed: Mon Jun 25 11:08:31 2018 +0100

--
 .../failover/FailoverIntegrationTest.java   | 36 ++--
 1 file changed, 34 insertions(+), 2 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/02c76f64/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
--
diff --git 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
index 8aa8b1f..734f875 100644
--- 
a/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
+++ 
b/qpid-jms-client/src/test/java/org/apache/qpid/jms/provider/failover/FailoverIntegrationTest.java
@@ -32,6 +32,8 @@ import static org.junit.Assert.fail;
 
 import java.net.URI;
 import java.util.Enumeration;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.concurrent.CountDownLatch;
 import java.util.concurrent.TimeUnit;
 import java.util.concurrent.atomic.AtomicBoolean;
@@ -66,6 +68,7 @@ import org.apache.qpid.jms.JmsQueue;
 import org.apache.qpid.jms.JmsResourceNotFoundException;
 import org.apache.qpid.jms.JmsSendTimedOutException;
 import org.apache.qpid.jms.policy.JmsDefaultPrefetchPolicy;
+import org.apache.qpid.jms.provider.amqp.AmqpSupport;
 import org.apache.qpid.jms.test.QpidJmsTestCase;
 import org.apache.qpid.jms.test.Wait;
 import org.apache.qpid.jms.test.testpeer.TestAmqpPeer;
@@ -125,7 +128,16 @@ public class FailoverIntegrationTest extends 
QpidJmsTestCase {
 
 @Test(timeout = 2)
 public void testFailoverHandlesConnectErrorInvalidField() throws Exception 
{
+doFailoverHandlesConnectErrorInvalidFieldTestImpl(false);
+}
+
+@Test(timeout = 2)
+public void 
testFailoverHandlesConnectErrorInvalidFieldWithContainerIdHint() throws 
Exception {
+// As above but also including hint that the container-id is the 
invalid field, i.e invalid ClientID
+doFailoverHandlesConnectErrorInvalidFieldTestImpl(true);
+}
 
+private void doFailoverHandlesConnectErrorInvalidFieldTestImpl(boolean 
includeContainerIdHint) throws Exception {
 try (TestAmqpPeer originalPeer = new TestAmqpPeer();
  TestAmqpPeer finalPeer = new TestAmqpPeer();) {
 
@@ -133,7 +145,13 @@ public class FailoverIntegrationTest extends 
QpidJmsTestCase {
 final String finalURI = createPeerURI(finalPeer);
 final DescribedType amqpValueNullContent = new 
AmqpValueDescribedType(null);
 
-originalPeer.rejectConnect(AmqpError.INVALID_FIELD, "Client ID 
already in use", null);
+Map errorInfo = null;
+if (includeContainerIdHint) {
+errorInfo = new HashMap();
+errorInfo.put(AmqpSupport.INVALID_FIELD, 
AmqpSupport.CONTAINER_ID);
+}
+
+originalPeer.rejectConnect(AmqpError.INVALID_FIELD, "Client ID 
already in use", errorInfo);
 
 finalPeer.expectSaslAnonymous();
 finalPeer.expectOpen();
@@ -179,7 +197,16 @@ public class FailoverIntegrationTest extends 
QpidJmsTestCase {
 
 @Test(timeout = 2)
 public void testFailoverHandlesConnectErrorInvalidFieldOnReconnect() 
throws Exception {
+doFailoverHandlesConnectErrorInvalidFieldOnReconnectTestImpl(false);
+}
 
+@Test(timeout = 2)
+public void 
testFailoverHandlesConnectErrorInvalidFieldOnReconnectWithContainerIdHint() 
throws Exception {
+// As above but also including hint that the container-id is the 
invalid field, i.e invalid ClientID
+doFailoverHandlesConnectErrorInvalidFieldOnReconnectTestImpl(true);
+}
+
+private void 
doFailoverHandlesConnectErrorInvalidFieldOnReconnectTestImpl(boolean 
includeContainerIdHint) throws Exception {
 try (TestAmqpPeer originalPeer = new TestAmqpPeer();
  TestAmqpPeer rejectingPeer = new TestAmqpPeer();
  TestAmqpPeer finalPeer = new TestAmqpPeer();) {
@@ -193,7 +220,12 @@ public class FailoverIntegrationTest extends 
QpidJmsTestCase {
   

qpid-jms git commit: QPIDJMS-2: commit for testing git to JIRA comment bot another time, ignore.

2018-06-25 Thread robbie
Repository: qpid-jms
Updated Branches:
  refs/heads/master 29b46cdfd -> 133340800


QPIDJMS-2: commit for testing git to JIRA comment bot another time, ignore.


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

Branch: refs/heads/master
Commit: 133340800c665b0ae470f493b707737673b3a233
Parents: 29b46cd
Author: Robbie Gemmell 
Authored: Mon Jun 25 09:33:29 2018 +0100
Committer: Robbie Gemmell 
Committed: Mon Jun 25 09:33:29 2018 +0100

--
 qpid-jms-client/src/test/resources/README.txt | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
--


http://git-wip-us.apache.org/repos/asf/qpid-jms/blob/13334080/qpid-jms-client/src/test/resources/README.txt
--
diff --git a/qpid-jms-client/src/test/resources/README.txt 
b/qpid-jms-client/src/test/resources/README.txt
index a638397..a93f825 100644
--- a/qpid-jms-client/src/test/resources/README.txt
+++ b/qpid-jms-client/src/test/resources/README.txt
@@ -1,5 +1,5 @@
 # The various SSL stores and certificates were created with the following 
commands:
-# Requires using JDK 8+ keytool command.
+# Requires use of JDK 8+ keytool command.
 
 # Clean up existing files
 # ---


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