You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by ea...@apache.org on 2016/02/10 19:14:51 UTC

[3/3] qpid-dispatch git commit: DISPATCH-206: Switch to rhea.js

DISPATCH-206: Switch to rhea.js


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

Branch: refs/heads/master
Commit: 87e8611a5c578467d950c82db84a722ab9e46932
Parents: 7bc29d2
Author: Ernest Allen <ea...@redhat.com>
Authored: Wed Feb 10 13:14:27 2016 -0500
Committer: Ernest Allen <ea...@redhat.com>
Committed: Wed Feb 10 13:14:27 2016 -0500

----------------------------------------------------------------------
 console/index.html               |    9 +-
 console/plugin/css/plugin.css    |   47 +-
 console/plugin/js/qdrPlugin.js   |   31 +-
 console/plugin/js/qdrService.js  |  360 +-
 console/plugin/js/qdrSettings.js |    1 +
 console/plugin/js/qdrTopology.js |   22 +-
 console/plugin/lib/proton.js     |   19 -
 console/plugin/lib/rhea.js       | 7716 +++++++++++++++++++++++++++++++++
 8 files changed, 7989 insertions(+), 216 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/87e8611a/console/index.html
----------------------------------------------------------------------
diff --git a/console/index.html b/console/index.html
index b2a753e..69aa788 100644
--- a/console/index.html
+++ b/console/index.html
@@ -45,8 +45,11 @@ under the License.
 
 <body ng-app="QDR">
 
+<div id="core" ng-controller="QDR.Core">
+    <div id="alerts">
+        <uib-alert ng-repeat="alert in alerts" type="{{alert.type}}">{{alert.msg}}</uib-alert>
+    </div>
     <div id="main-nav" class="navbar navbar-fixed-top" ng-controller="QDR.MainController">
-
         <div class="navbar-inner main-nav-lower">
             <div class="container">
                 <div class="pull-left">
@@ -77,6 +80,7 @@ under the License.
             </div>
         </div>
     </div>
+</div>
 
     <script src="http://d3js.org/d3.v3.min.js"></script>
     <script src="http://d3js.org/queue.v1.min.js"></script>
@@ -109,7 +113,8 @@ under the License.
     <script type="text/javascript" src="plugin/js/qdrSettings.js"></script>
 
     <script type="text/javascript" src="plugin/lib/slider.js"></script>
-    <script type="text/javascript" src="plugin/lib/proton.js"></script>
+    <script type="text/javascript" src="plugin/lib/rhea.js"></script>
+
     <script type="text/javascript" src="plugin/lib/json-formatter-min.js"></script>
 
     <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery.fancytree/2.15.0/jquery.fancytree.js" type="text/javascript"></script>

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/87e8611a/console/plugin/css/plugin.css
----------------------------------------------------------------------
diff --git a/console/plugin/css/plugin.css b/console/plugin/css/plugin.css
index 1dea21d..5097d64 100644
--- a/console/plugin/css/plugin.css
+++ b/console/plugin/css/plugin.css
@@ -607,9 +607,52 @@ div.login.container {
 	border: 0px;
 }
 
-#overtree span.fancytree-custom-icon.ui-icon-refresh {
+#overtree span.fancytree-alert-icon.ui-icon-refresh {
 	background-position: -64px -80px;
 }
-#overtree span.fancytree-custom-icon.ui-icon-transfer-e-w {
+#overtree span.fancytree-alert-icon.ui-icon-transfer-e-w {
 	background-position: -112px -80px;
 }
+
+#alerts {
+	position: fixed;
+	right: 0;
+	top: 0;
+	z-index: 100;
+}
+
+.alert-enter,
+.alert-leave,
+.alert-move {
+  -webkit-transition: 1s linear all;
+  -moz-transition: 1s linear all;
+  -o-transition: 1s linear all;
+  transition: 1s linear all;
+  position:relative;
+}
+
+.alert-enter {
+  left:-10px;
+  opacity:0;
+}
+.alert-enter.alert-enter-active {
+  left:0;
+  opacity:1;
+}
+
+.alert-leave {
+  left:0;
+  opacity:1;
+}
+.alert-leave.alert-leave-active {
+  left:-10px;
+  opacity:0;
+}
+
+.alert-move {
+  opacity:0.5;
+}
+.alert-move.alert-move-active {
+  opacity:1;
+}
+

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/87e8611a/console/plugin/js/qdrPlugin.js
----------------------------------------------------------------------
diff --git a/console/plugin/js/qdrPlugin.js b/console/plugin/js/qdrPlugin.js
index a4a8cc6..3d14f72 100644
--- a/console/plugin/js/qdrPlugin.js
+++ b/console/plugin/js/qdrPlugin.js
@@ -65,7 +65,7 @@ var QDR = (function(QDR) {
    *
    * This plugin's angularjs module instance
    */
-  QDR.module = angular.module(QDR.pluginName, ['ngResource', 'ngRoute', 'ui.grid', 'ui.grid.selection',
+  QDR.module = angular.module(QDR.pluginName, ['ngAnimate', 'ngResource', 'ngRoute', 'ui.grid', 'ui.grid.selection',
     'ui.grid.autoResize', 'jsonFormatter', 'ui.bootstrap', 'ui.slider'/*, 'minicolors' */]);
 
   // set up the routing for this plugin
@@ -116,10 +116,21 @@ var QDR = (function(QDR) {
 			return QDRService.humanify(input);
 		};
 	});
+
+	QDR.logger = function ($log) {
+		var log = $log;
+
+		this.debug = function (msg) { msg = "QDR: " + msg; log.debug(msg)};
+		this.error = function (msg) {msg = "QDR: " + msg; log.error(msg)}
+		this.info = function (msg) {msg = "QDR: " + msg; log.info(msg)}
+		this.warn = function (msg) {msg = "QDR: " + msg; log.warn(msg)}
+
+		return this;
+	}
     // one-time initialization happens in the run function
     // of our module
 	QDR.module.run( ["$rootScope", "$location", "$log", "QDRService", "QDRChartService",  function ($rootScope, $location, $log, QDRService, QDRChartService) {
-		QDR.log = $log;
+		QDR.log = new QDR.logger($log);
 		QDR.log.debug("QDR.module.run()")
 
 		QDRService.initProton();
@@ -166,5 +177,21 @@ var QDR = (function(QDR) {
 		});
 	}])
 
+	QDR.module.controller ("QDR.Core", function ($scope, $rootScope) {
+		$scope.alerts = [];
+		$scope.closeAlert = function(index) {
+            $scope.alerts.splice(index, 1);
+        };
+		$scope.$on('newAlert', function(event, data) {
+			$scope.alerts.push(data);
+			$scope.$apply();
+		});
+		$scope.$on("clearAlerts", function () {
+			$scope.alerts = [];
+			$scope.$apply();
+		})
+
+	})
+
   return QDR;
 }(QDR || {}));

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/87e8611a/console/plugin/js/qdrService.js
----------------------------------------------------------------------
diff --git a/console/plugin/js/qdrService.js b/console/plugin/js/qdrService.js
index e833fe1..47029d7 100644
--- a/console/plugin/js/qdrService.js
+++ b/console/plugin/js/qdrService.js
@@ -23,9 +23,11 @@ var QDR = (function(QDR) {
 
   // The QDR service handles the connection to
   // the server in the background
-  QDR.module.factory("QDRService", ['$rootScope', '$http', '$resource', function($rootScope, $http, $resource) {
+  QDR.module.factory("QDRService", ['$rootScope', '$http', '$resource', '$location', function($rootScope, $http, $resource, $location) {
     var self = {
 
+	  rhea: require("rhea"),
+
       timeout: 10,
       connectActions: [],
       disconnectActions: [],
@@ -89,11 +91,6 @@ var QDR = (function(QDR) {
         }
 
       },
-      channels: {
-        'Server Messages': {
-          messages: []
-        }
-      },
       /**
        * @property options
        * Holds a reference to the connection options when
@@ -106,18 +103,17 @@ var QDR = (function(QDR) {
        * The proton message that is used to send commands
        * and receive responses
        */
-      messenger: undefined,
-      msgReceived: undefined,
-      msgSend: undefined,
-      address: undefined,
+		sender: undefined,
+		receiver: undefined,
+		sendable: false,
+
       schema: undefined,
 
-      replyTo: undefined,
-      subscription: undefined,
-      subscribed: false,
+      toAddress: undefined,
+      connected: false,
       gotTopology: false,
-      localNode: undefined,
       errorText: undefined,
+	  connectionError: undefined,
 
       isConnected: function() {
         return self.gotTopology;
@@ -128,31 +124,26 @@ var QDR = (function(QDR) {
         _corremationID: 0,
 
         corr: function () {
-            return (++this._corremationID + "");
-        },
-        add: function(id) {
-            //QDR.log.debug("correlator:add id="+id);
-            this._objects[id] = {resolver: null};
+            var id = ++this._corremationID + "";
+			this._objects[id] = {resolver: null}
+            return id;
         },
         request: function() {
             //QDR.log.debug("correlator:request");
             return this;
         },
-        then: function(id, resolver) {
+        then: function(id, resolver, error) {
             //QDR.log.debug("registered then resolver for correlationID: " + id);
+			if (error) {
+	            delete this._objects[id];
+				return;
+			}
             this._objects[id].resolver = resolver;
         },
-        resolve: function() {
-            var statusCode = self.msgReceived.properties['statusCode'];
-            if (typeof statusCode === "undefined") {
-                //QDR.log.debug("correlator:resolve:statusCode was not 200 (OK) but was undefined. Waiting.");
-                return;
-            }
-
-            var correlationID = self.msgReceived.getCorrelationID();
-            //QDR.log.debug("message received: ");
-            //console.dump(msgReceived.body);
-            this._objects[correlationID].resolver(self.msgReceived.body);
+        // called by receiver's on('message') handler when a response arrives
+        resolve: function(context) {
+			var correlationID = context.message.properties.correlation_id;
+            this._objects[correlationID].resolver(context.message.body);
             delete this._objects[correlationID];
         }
     },
@@ -163,6 +154,7 @@ var QDR = (function(QDR) {
      },
 
     startUpdating: function () {
+        QDR.log.info("startUpdating called")
         self.stopUpdating();
         self.topology.get();
         self.stop = setInterval(function() {
@@ -171,67 +163,16 @@ var QDR = (function(QDR) {
     },
     stopUpdating: function () {
         if (angular.isDefined(self.stop)) {
+            QDR.log.info("stoptUpdating called")
             clearInterval(self.stop);
             self.stop = undefined;
         }
     },
-    pumpData: function() {
-         //QDR.log.debug("pumpData called");
-	     if (!self.subscribed) {
-	     	 var subscriptionAddress = self.subscription.getAddress();
-	         if (subscriptionAddress) {
-      	     	self.replyTo = subscriptionAddress;
-	            self.subscribed = true;
-	            var splitAddress = subscriptionAddress.split('/');
-	            splitAddress.pop();
-	            self.localNode = splitAddress.join('/') + "/$management";
-                //QDR.log.debug("we are subscribed. replyTo is " + self.replyTo + " localNode is " + self.localNode);
-
-	            self.onSubscription();
-	         }
-	     }
-
-	     while (self.messenger.incoming()) {
-	         // The second parameter forces Binary payloads to be decoded as strings
-	         // this is useful because the broker QMF Agent encodes strings as AMQP
-	         // binary, which is a right pain from an interoperability perspective.
-             self.msgReceived.clear();;
-	         var t = self.messenger.get(self.msgReceived, true);
-	         //QDR.log.debug("pumpData incoming t was " + t);
-	         self.correlator.resolve();
-	         self.messenger.accept(t);
-	         self.messenger.settle(t);
-	         //msgReceived.free();
-	         //delete msgReceived;
-	     }
-
-	     if (self.messenger.isStopped()) {
-			 QDR.log.debug("command completed and messenger stopped");
-	     }
-	 },
 
       initProton: function() {
         //QDR.log.debug("*************QDR init proton called ************");
-        // override the subprotocol string to allow generic servers to connect
-        proton.websocket['subprotocol'] = "binary,AMQPWSB10";    // binary is 1st so websockify can connect
-        self.messenger = new proton.Messenger();
-        self.msgReceived = new proton.Message();
-        self.msgSend = new proton.Message();
-        self.messenger.on('error', function(error) {
-          self.errorText = error;
-          QDR.log.error("Got error from messenger: " + error);
-          self.executeDisconnectActions();
-        });
-        self.messenger.on('work', self.pumpData);
-        self.messenger.setOutgoingWindow(1024);
-        self.messenger.start();
       },
       cleanUp: function() {
-        if (self.subscribed === true) {
-          self.messenger.stop();
-          self.subscribed = false;
-          //QDR.log.debug("*************QDR closed ************");
-        }
       },
       error: function(line) {
         if (line.num) {
@@ -325,8 +266,10 @@ var QDR = (function(QDR) {
         get: function () {
             if (this._gettingTopo)
                 return;
-            if (!self.subscribed)
+            if (!self.connected) {
+				QDR.log.debug("topology get failed because !self.connected")
                 return;
+            }
             this._lastNodeInfo = angular.copy(this._nodeInfo);
             this._gettingTopo = true;
 
@@ -509,14 +452,14 @@ The response looks like:
 
       getRemoteNodeInfo: function (callback) {
 	 	//QDR.log.debug("getRemoteNodeInfo called");
-        var id;
+        var ret;
         // first get the list of remote node names
 	 	self.correlator.request(
-                id = self.sendMgmtNodesQuery()
-            ).then(id, function(response) {
+                ret = self.sendMgmtQuery('GET-MGMT-NODES')
+            ).then(ret.id, function(response) {
                 callback(response);
                 self.topology.cleanUp(response);
-            });
+            }, ret.error);
       },
 
       makeMgmtCalls: function (id) {
@@ -529,14 +472,30 @@ The response looks like:
 
       getNodeInfo: function (nodeName, entity, attrs, callback) {
         //QDR.log.debug("getNodeInfo called with nodeName: " + nodeName + " and entity " + entity);
-        var id;
+        var ret;
         self.correlator.request(
-            id = self.sendQuery(nodeName, entity, attrs)
-        ).then(id, function(response) {
+            ret = self.sendQuery(nodeName, entity, attrs)
+        ).then(ret.id, function(response) {
+            // TODO: file a bug against rhea - large numbers are coming back as Uint8Array
+			response.results.forEach( function (result) {
+				result.forEach( function (val, i) {
+					if (val instanceof Uint8Array) {
+						var ua2num = function(ua) {
+	                        var n = 0;
+	                        for (var i = 0; i<ua.length; i++) {
+	                            n *= 256;
+	                            n += ua[i];
+	                        }
+	                        return n;
+	                    }
+	                    result[i] = ua2num(val);
+					}
+				})
+			})
             callback(nodeName, entity, response);
             //self.topology.addNodeInfo(nodeName, entity, response);
             //self.topology.cleanUp(response);
-        });
+        }, ret.error);
       },
 
 		getMultipleNodeInfo: function (nodeNames, entity, attrs, callback, selectedNodeId) {
@@ -609,121 +568,162 @@ The response looks like:
 
       getSchema: function () {
         //QDR.log.debug("getting schema");
-        var id;
+        var ret;
         self.correlator.request(
-            id = self.sendSchemaQuery()
-        ).then(id, function(response) {
+            ret = self.sendMgmtQuery('GET-SCHEMA')
+        ).then(ret.id, function(response) {
             //QDR.log.debug("Got schema response");
-            //console.dump(response);
-            self.schema = angular.copy(response);
-            self.topology.cleanUp(response);
+			self.schema = response;
+            //self.schema = angular.copy(response);
+            //self.topology.cleanUp(response);
             self.notifyTopologyDone();
-        });
+        }, ret.error);
       },
 
     sendQuery: function(toAddr, entity, attrs) {
-        //QDR.log.debug("sendQuery (" + toAddr + ", " + entity + ", " + attrs + ")");
-        var correlationID = self.correlator.corr();
-        self.msgSend.clear();
-
-        self.msgSend.setReplyTo(self.replyTo);
-        self.msgSend.setCorrelationID(correlationID);
-        self.msgSend.properties = {
-            "operation": "QUERY",
-            "entityType": "org.apache.qpid.dispatch" + entity,
-            "type": "org.amqp.management",
-            "name": "self",
-        };
-        // remove the amqp: from the beginning of the toAddr
-        // toAddr looks like amqp:/_topo/0/QDR.A/$management
         var toAddrParts = toAddr.split('/');
         if (toAddrParts.shift() != "amqp:") {
             self.topology.error(Error("unexpected format for router address: " + toAddr));
             return;
         }
-        var fullAddr =  self.address + "/" + toAddrParts.join('/');
-        self.msgSend.setAddress(fullAddr);
-        //QDR.log.debug("sendQuery for " + toAddr + " :: address is " + fullAddr);
+        var fullAddr =  self.toAddress + "/" + toAddrParts.join('/');
 
+		var body;
         if (attrs)
-        self.msgSend.body = {
+            body = {
                     "attributeNames": attrs,
-                 }
+            }
         else
-        self.msgSend.body = {
-            "attributeNames": [],
-         }
-
-        self.correlator.add(correlationID);
-        //QDR.log.debug("message for " + toAddr);
-        //console.dump(message);
-        self.messenger.put(self.msgSend, true);
-        return correlationID;
-    },
+            body = {
+                "attributeNames": [],
+            }
 
-    sendMgmtNodesQuery: function () {
-        //console.log("sendMgmtNodesQuery");
-        var correlationID = self.correlator.corr();
-        self.msgSend.clear();
-
-        self.msgSend.setAddress(self.address + "/$management");
-        self.msgSend.setReplyTo(self.replyTo);
-        self.msgSend.setCorrelationID(correlationID);
-        self.msgSend.properties = {
-            "operation": "GET-MGMT-NODES",
-            "type": "org.amqp.management",
-            "name": "self",
-        };
-
-        self.msgSend.body = [];
-
-        //QDR.log.debug("sendMgmtNodesQuery address is " + self.address + "/$management");
-        //QDR.log.debug("sendMgmtNodesQuery replyTo is " + self.replyTo);
-        self.correlator.add(correlationID);
-        self.messenger.put(self.msgSend, true);
-        return correlationID;
+		return self._send(body, fullAddr, "QUERY", "org.apache.qpid.dispatch" + entity);
     },
 
-    sendSchemaQuery: function () {
-        //console.log("sendMgmtNodesQuery");
-        var correlationID = self.correlator.corr();
-        self.msgSend.clear();
-
-        self.msgSend.setAddress(self.address + "/$management");
-        self.msgSend.setReplyTo(self.replyTo);
-        self.msgSend.setCorrelationID(correlationID);
-        self.msgSend.properties = {
-            "operation": "GET-SCHEMA",
-            "type": "org.amqp.management",
-            "name": "self",
-        };
-
-        self.msgSend.body = [];
-
-        //QDR.log.debug("sendMgmtNodesQuery address is " + self.address + "/$management");
-        //QDR.log.debug("sendMgmtNodesQuery replyTo is " + self.replyTo);
-        self.correlator.add(correlationID);
-        self.messenger.put(self.msgSend, true);
-        return correlationID;
+    sendMgmtQuery: function (operation) {
+		// TODO: file bug against dispatch - We should be able to just pass body: [], but that generates an 'invalid body'
+		return self._send([' '], self.toAddress + "/$management", operation);
     },
 
+	_send: function (body, to, operation, entityType) {
+		var ret = {id: self.correlator.corr()};
+		if (!self.sender || !self.sendable) {
+			ret.error = "no sender"
+			return ret;
+		}
+		try {
+			var application_properties = {
+				operation:  operation,
+                type:       "org.amqp.management",
+                name:       "self"
+            };
+			if (entityType)
+                application_properties.entityType = entityType;
+
+	        self.sender.send({
+	                body: body,
+	                properties: {
+	                    to:                     to,
+                        reply_to:               self.receiver.remote.attach.source.address,
+	                    correlation_id:         ret.id
+	                },
+	                application_properties: application_properties
+            })
+		}
+		catch (e) {
+			error = "error sending: " + e;
+			QDR.log.error(error)
+			ret.error = error;
+		}
+		return ret;
+	},
+
       disconnect: function() {
+        self.connection.close();
       },
 
       connect: function(options) {
         self.options = options;
         self.topologyInitialized = false;
-        if (!self.subscribed) {
+		if (!self.connected) {
+			var okay = {connection: false, sender: false, receiver: false}
             var port = options.port || 5673;
-            var baseAddress = 'amqp://' + options.address + ':' + port;
-            self.address = baseAddress;
-            QDR.log.debug("Subscribing to router: ", baseAddress + "/#");
-            self.subscription = self.messenger.subscribe(baseAddress + "/#");
-            // wait for response messages to come in
-            self.messenger.recv(); // Receive as many messages as messenger can buffer.
-        } else {
-            self.topology.get();
-        }
+            var baseAddress = options.address + ':' + port;
+			var ws = self.rhea.websocket_connect(WebSocket);
+			self.toAddress = "amqp://" + baseAddress;
+			self.connectionError = undefined;
+
+			var stop = function (context) {
+				//self.stopUpdating();
+				if (self.connected) {
+				    $rootScope.$broadcast('newAlert', { type: 'danger', msg: 'Connection to ' + baseAddress + " was lost. Retrying..." });
+				}
+				okay.sender = false;
+				okay.receiver = false;
+				okay.connected = false;
+				self.connected = false;
+				self.sender = null;
+				self.receiver = null;
+				self.sendable = false;
+			}
+
+			var maybeStart = function () {
+				if (okay.connection && okay.sender && okay.receiver && self.sendable && !self.connected) {
+					QDR.log.info("okay to start")
+					self.connected = true;
+					self.connection = connection;
+					self.sender = sender;
+					self.receiver = receiver;
+					self.onSubscription();
+					$rootScope.$broadcast("clearAlerts");
+				}
+			}
+
+			QDR.log.debug("****** calling rhea.connect ********")
+            var connection = self.rhea.connect({
+                    connection_details:ws('ws://' + baseAddress),
+                    reconnect:true,
+                    properties: {console_identifier: 'Dispatch console'}
+            });
+			connection.on('connection_open', function (context) {
+				QDR.log.debug("connection_opened")
+				okay.connection = true;
+				okay.receiver = false;
+				okay.sender = false;
+			})
+			connection.on('disconnected', function (context) {
+				QDR.log.warn("disconnected");
+				stop();
+				self.errorText = "Error: Connection failed."
+				self.executeDisconnectActions();
+				self.connectionError = true;
+			})
+			connection.on('connection_close', function (context) { QDR.log.warn("connection_close"); stop()})
+
+			var sender = connection.open_sender("/$management");
+			sender.on('sender_open', function (context) {
+				QDR.log.debug("sender_opened")
+				okay.sender = true
+				maybeStart()
+			})
+			sender.on('sendable', function (context) {
+				//QDR.log.debug("sendable")
+				self.sendable = true;
+				maybeStart();
+			})
+
+			var receiver = connection.open_receiver({source: {dynamic: true}});
+			receiver.on('receiver_open', function (context) {
+				QDR.log.debug("receiver_opened")
+				okay.receiver = true;
+				maybeStart()
+			})
+			receiver.on("message", function (context) {
+				self.correlator.resolve(context);
+			});
+
+		}
       }
     }
       return self;

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/87e8611a/console/plugin/js/qdrSettings.js
----------------------------------------------------------------------
diff --git a/console/plugin/js/qdrSettings.js b/console/plugin/js/qdrSettings.js
index 9ca9e30..950e1c5 100644
--- a/console/plugin/js/qdrSettings.js
+++ b/console/plugin/js/qdrSettings.js
@@ -94,6 +94,7 @@ var QDR = (function (QDR) {
           $scope.connecting = false;
           $scope.connectionErrorText = QDRService.errorText;
           $scope.connectionError = true;
+          $scope.$apply();
         });
         QDRService.addConnectAction(function() {
           //QDR.log.debug("got connection notification");

http://git-wip-us.apache.org/repos/asf/qpid-dispatch/blob/87e8611a/console/plugin/js/qdrTopology.js
----------------------------------------------------------------------
diff --git a/console/plugin/js/qdrTopology.js b/console/plugin/js/qdrTopology.js
index 98d30a6..c8921ff 100644
--- a/console/plugin/js/qdrTopology.js
+++ b/console/plugin/js/qdrTopology.js
@@ -43,7 +43,6 @@ var QDR = (function (QDR) {
     function($scope, $rootScope, uiGridConstants, QDRService, $uibModal, $location, $timeout) {
 
 		QDR.log.debug("started QDR.TopologyController with location.url: " + $location.url());
-		QDR.log.debug("started QDR.TopologyController with window.location.pathname : " + window.location.pathname);
 		var urlPrefix = window.location.pathname;
 
 		$scope.attributes = [];
@@ -407,7 +406,7 @@ var QDR = (function (QDR) {
 				}
 				nodes.push( aNode(id, name, "inter-router", nodeInfo, nodes.length, position.x, position.y, undefined, position.fixed) );
 				yInit *= -1;
-				QDR.log.debug("adding node " + nodes.length-1);
+				//QDR.log.debug("adding node " + nodes.length-1);
 			}
 
 			// initialize the list of links
@@ -449,6 +448,7 @@ var QDR = (function (QDR) {
 						getLink(parent, nodes.length-1, dir);
 						client++;
 
+/*
 	                    var container = QDRService.valFor(attrs, conns[j], "container");
 	                    var parts = container.split('.')
 	                    if (parts.length) {
@@ -469,7 +469,7 @@ var QDR = (function (QDR) {
                             }
 
 	                    }
-
+*/
 					}
 				}
 				source++;
@@ -529,7 +529,7 @@ var QDR = (function (QDR) {
 			circle = svg.append('svg:g').selectAll('g');
             
 			force.on('end', function() {
-				QDR.log.debug("force end called");
+				//QDR.log.debug("force end called");
 				circle
 					.attr('cx', function(d) {
 						localStorage[d.name] = angular.toJson({x: d.x, y: d.y, fixed: d.fixed});
@@ -822,7 +822,7 @@ var QDR = (function (QDR) {
                     return nodeIndex;
                 nodeIndex++
             }
-            QDR.log.debug("unable to find containerIndex for " + _id);
+            QDR.log.warn("unable to find containerIndex for " + _id);
             return -1;
         }
 
@@ -833,7 +833,7 @@ var QDR = (function (QDR) {
                 if (QDRService.nameFromId(id) == _id) return nodeIndex;
                 nodeIndex++
             }
-            QDR.log.debug("unable to find nodeIndex for " + _id);
+            QDR.log.warn("unable to find nodeIndex for " + _id);
             return -1;
         }
 
@@ -853,7 +853,7 @@ var QDR = (function (QDR) {
 				}
             }
 
-            QDR.log.debug("creating new link (" + (links.length) + ") between " + nodes[_source].name + " and " + nodes[_target].name);
+            //QDR.log.debug("creating new link (" + (links.length) + ") between " + nodes[_source].name + " and " + nodes[_target].name);
             var link = {
                 source: _source,
                 target: _target,
@@ -925,7 +925,7 @@ var QDR = (function (QDR) {
             var sInfo = QDRService.topology.nodeInfo()[from.key];
 
             if (!sInfo) {
-                QDR.log.debug("unable to find topology node info for " + from.key);
+                QDR.log.warn("unable to find topology node info for " + from.key);
                 return null;
             }
 
@@ -1425,12 +1425,12 @@ var QDR = (function (QDR) {
 		    for (var key in nodeInfo) {
 		        savedKeys[key] = nodeInfo[key]['.connection'].results.length;
 		    }
-			QDR.log.debug("saving current keys");
+			//QDR.log.debug("saving current keys");
 			console.dump(savedKeys);
 		};
 		// we are about to leave the page, save the node positions
 		$rootScope.$on('$locationChangeStart', function(event, newUrl, oldUrl) {
-			QDR.log.debug("locationChangeStart");
+			//QDR.log.debug("locationChangeStart");
 			nodes.forEach( function (d) {
 	           localStorage[d.name] = angular.toJson({x: d.x, y: d.y, fixed: d.fixed});
 			});
@@ -1441,7 +1441,7 @@ var QDR = (function (QDR) {
         // AngularJS will trigger the $destroy event on
         // the scope
         $scope.$on("$destroy", function( event ) {
-   			QDR.log.debug("scope on destroy");
+   			//QDR.log.debug("scope on destroy");
             QDRService.stopUpdating();
             QDRService.delUpdatedAction("topology");
 			d3.select("#SVG_ID").remove();


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