You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@qpid.apache.org by or...@apache.org on 2016/04/19 12:36:27 UTC

svn commit: r1739895 - in /qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management: Management.js query/MessageDialog.js query/QueryBuilder.js

Author: orudyy
Date: Tue Apr 19 10:36:26 2016
New Revision: 1739895

URL: http://svn.apache.org/viewvc?rev=1739895&view=rev
Log:
QPID-6983: Render query results based on structure returned by query API

Modified:
    qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Management.js
    qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/MessageDialog.js
    qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js

Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Management.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Management.js?rev=1739895&r1=1739894&r2=1739895&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Management.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/Management.js Tue Apr 19 10:36:26 2016
@@ -552,8 +552,11 @@ define(["dojo/_base/lang",
     //                     coma separated list of fields to select
     //               category: String?
     //                     category of the object
-    //               virtualhost: String?
-    //                     virtualhost name
+    //               parent: Object?
+    //                     hierarchy object defining query scope,
+    //                     if not set queries will be executed against broker.
+    //                     Virtual host query scope can be defined by setting parent
+    //                     into corresponding object representing a virtual host hierarchy
     //
     //   requestOptions: Object?
     //               is optional request settings
@@ -573,7 +576,8 @@ define(["dojo/_base/lang",
             lang.mixin(request,requestOptions);
         }
 
-        // id should be selected always
+        // id should be always selected
+        // and present with index 0
         var select = "id";
         if (query.select)
         {
@@ -585,53 +589,7 @@ define(["dojo/_base/lang",
           parameters.where=query.where
         }
         request.query = parameters;
-        var promise = this.get(request);
-        if (query.select && query.transformIntoObjects)
-        {
-            var deferred = new Deferred();
-            promise.then( function(data)
-                          {
-                            if (data)
-                            {
-                                var transformed = [];
-                                var headers = data.headers;
-                                try
-                                {
-                                    if (data.results)
-                                    {
-                                        for (var r in data.results)
-                                        {
-                                            var results = data.results[r];
-                                            var object = {};
-                                            for (var i in headers)
-                                            {
-                                                var headerName = headers[i];
-                                                var headerValue = results[i];
-                                                object[headerName] = headerValue;
-                                            }
-                                            transformed.push(object);
-                                        }
-                                    }
-                                }
-                                finally
-                                {
-                                  headers.shift();
-                                  deferred.resolve({headers: headers, items:transformed});
-                                }
-                            }
-                            else
-                            {
-                                deferred.reject({message: "User identifier is not found!"
-                                                          + " Authentication failed!"});
-                            }
-                          },
-                          function(error)
-                          {
-                            deferred.reject(error);
-                          });
-            return deferred.promise;
-        }
-        return promise;
+        return this.get(request);
     };
 
     return Management;

Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/MessageDialog.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/MessageDialog.js?rev=1739895&r1=1739894&r2=1739895&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/MessageDialog.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/MessageDialog.js Tue Apr 19 10:36:26 2016
@@ -61,7 +61,6 @@ function(declare, lang, array, json, dom
                                     {
                                       this.inherited(arguments);
                                       this._postCreate();
-                                      console.log("Message box is created");
                                     },
                        _postCreate: function()
                                     {

Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js
URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js?rev=1739895&r1=1739894&r2=1739895&view=diff
==============================================================================
--- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js (original)
+++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryBuilder.js Tue Apr 19 10:36:26 2016
@@ -204,11 +204,10 @@ define(["dojo/_base/declare",
                                                var result = this._management.query({select: select,
                                                                                     where: where,
                                                                                     parent: modelObj,
-                                                                                    category: category,
-                                                                                    transformIntoObjects: true});
+                                                                                    category: category});
                                                result.then(function(data)
                                                            {
-                                                             that._showResults(data.items, data.headers);
+                                                             that._showResults(data.results, data.headers);
                                                            },
                                                            function(error)
                                                            {
@@ -316,10 +315,10 @@ define(["dojo/_base/declare",
                                 _showResults:function(items, headers)
                                              {
                                                this._lastHeaders = headers;
-                                               var store = new Memory({data: items, idProperty: 'id'});
+                                               var store = new Memory({data: items, idProperty: 0});
                                                if (!this._resultsGrid)
                                                {
-                                                 if (items)
+                                                 if (items && items.length)
                                                  {
                                                    this._buildGrid(store, this._lastHeaders);
                                                  }
@@ -397,13 +396,19 @@ define(["dojo/_base/declare",
                                              },
                                 _getColumns: function(attributes)
                                              {
-                                               var columns = {};
+                                               var columns = [];
                                                if (attributes)
                                                {
                                                   for (var i in attributes)
                                                   {
+                                                     if (i == 0)
+                                                     {
+                                                        // skip first id column as it was added by management
+                                                        continue;
+                                                     }
                                                      var attribute = attributes[i];
-                                                     var definition = {label: attribute};
+                                                     var column = {label: attribute, field: i};
+                                                     columns.push(column);
                                                      if (this._columns)
                                                      {
                                                        var columnData = this._columns[attribute];
@@ -412,7 +417,7 @@ define(["dojo/_base/declare",
                                                          if (columnData.type == "Date")
                                                          {
                                                            var that = this;
-                                                           definition.formatter = function(value, object)
+                                                           column.formatter = function(value, object)
                                                                                   {
                                                                                     if (!isNaN(value) &&  parseInt(Number(value)) == value &&  !isNaN(parseInt(value, 10)))
                                                                                     {
@@ -423,7 +428,7 @@ define(["dojo/_base/declare",
                                                          }
                                                          else if (columnData.type == "Map")
                                                          {
-                                                           definition.renderCell = function(object, value, node)
+                                                           column.renderCell = function(object, value, node)
                                                                                   {
                                                                                     if (value)
                                                                                     {
@@ -443,7 +448,7 @@ define(["dojo/_base/declare",
                                                          }
                                                          else if (columnData.type == "List" || columnData.type == "Set")
                                                          {
-                                                           definition.renderCell = function(object,value, node)
+                                                           column.renderCell = function(object,value, node)
                                                                                   {
                                                                                     if (value)
                                                                                     {
@@ -459,7 +464,6 @@ define(["dojo/_base/declare",
                                                          }
                                                        }
                                                      }
-                                                     columns[attribute] = definition ;
                                                   }
                                                }
                                                return columns;
@@ -467,9 +471,8 @@ define(["dojo/_base/declare",
                                 _createScopeList: function()
                                              {
                                                var that = this;
-                                               var result = this._management.query({select: "$parent.name as parentName, name, id",
-                                                                                   category : "virtualhost",
-                                                                                   transformIntoObjects: true});
+                                               var result = this._management.query({select: "$parent.name as parentName, name",
+                                                                                   category : "virtualhost"});
                                                var deferred = new dojo.Deferred();
                                                result.then(function(data)
                                                            {
@@ -494,12 +497,12 @@ define(["dojo/_base/declare",
                                                this._scopeModelObjects = {};
                                                var defaultValue = undefined;
                                                var items = [{id:undefined, name: "Broker"}];
-                                               var data = result.items;
+                                               var data = result.results;
                                                for(var i =0 ; i<data.length;i++)
                                                {
-                                                 var name = data[i].name;
-                                                 var parentName = data[i]["parentName"];
-                                                 items.push({id: data[i].id,  name: "VH:" + parentName + "/" + name});
+                                                 var name = data[i][2];
+                                                 var parentName = data[i][1];
+                                                 items.push({id: data[i][0],  name: "VH:" + parentName + "/" + name});
                                                  this._scopeModelObjects[data[i].id] = {name: name,
                                                                                         type: "virtualhost",
                                                                                         parent: {name: parentName,
@@ -579,7 +582,7 @@ define(["dojo/_base/declare",
                                                                                       selected:[],
                                                                                       idProperty: "id",
                                                                                       nameProperty: "attributeName"});
-                                                  this._showResults([], "");
+                                                  this._showResults([], []);
                                                 }
                                               }
                                             },



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