Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryStore.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryStore.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryStore.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/QueryStore.js Mon May 2 15:57:52 2016 @@ -26,161 +26,161 @@ define(['dojo/_base/lang', 'dstore/Store', 'dstore/QueryResults', "dojo/Deferred"], function (lang, declare, Evented, json, Store, QueryResults, Deferred) - { +{ - return declare("qpid.management.query.QueryStore", [Store, Evented], { + return declare("qpid.management.query.QueryStore", [Store, Evented], { - management: null, - selectClause: null, - where: null, - category: null, - parent: null, - useCachedResults: false, - zeroBased: true, - _lastHeaders: [], - _lastResponsePromise: null, - - fetch: function (kwArgs) - { - return this._request(kwArgs); - }, - - fetchRange: function (kwArgs) - { - return this._request(kwArgs); - }, - - _request: function (kwArgs) - { - - if (!this.selectClause) - { - this._emitChangeHeadersIfNecessary([]); - var deferred = new Deferred(); - deferred.resolve([]); - return new QueryResults(deferred.promise); - } - - var queryRequest = { - category: this.category, - select: this.selectClause ? this.selectClause + ",id" : "id" - }; - - if (this.parent) - { - queryRequest.parent = this.parent; - } - - if (this.where) - { - queryRequest.where = this.where; - } - - if ("start" in kwArgs) - { - queryRequest.offset = kwArgs.start; - } - - if ("end" in kwArgs) - { - queryRequest.limit = kwArgs.end - (queryRequest.offset ? queryRequest.offset : 0); - } - - if (this.orderBy) - { - queryRequest.orderBy = this.orderBy; - } - - if (this.useCachedResults) - { - return this._createQueryResults(this._lastResponsePromise); - } - - var responsePromise = this.management.query(queryRequest); - responsePromise.then(lang.hitch(this, function (data) - { - var headers = lang.clone(data.headers); - headers.pop(); - this._emitChangeHeadersIfNecessary(headers); - }), lang.hitch(this, function (error) - { - this._emitChangeHeadersIfNecessary([]); - })); - - this._lastResponsePromise = responsePromise; - return this._createQueryResults(this._lastResponsePromise); - }, - - _createQueryResults: function (responsePromise) - { - var that = this; - var queryResultData = { - data: responsePromise.then(function (data) - { - var dataResults = data.results; - var results = []; - for (var i = 0, l = dataResults.length; i < l; ++i) - { - var result = dataResults[i]; - var item = {id: result[result.length - 1]}; - - // excluding id, as we already added id field - for (var j = 0, rl = result.length - 1; j < rl; ++j) - { - // sql uses 1-based index in ORDER BY - var field = this.zeroBased ? j : j + 1; - item[new String(field)] = result[j]; - } - results.push(item); - } - return results; - }, function (error) - { - this.management.errorHandler(error); - return []; - }), - total: responsePromise.then(function (data) - { - return data.total; - }, function (error) - { - return 0; - }) - }; - return new QueryResults(queryResultData.data, { - totalLength: queryResultData.total - }); - }, - - _emitChangeHeadersIfNecessary: function (headers) - { - if (!this._equalStringArrays(headers, this._lastHeaders)) - { - this._lastHeaders = headers; - this.emit("changeHeaders", {headers: headers}); - } - }, - - // override from dstore.Store to not copy collection - _createSubCollection: function () - { - return this; - }, - - _equalStringArrays: function (a, b) - { - if (a.length != b.length) - { - return false; - } - for (var i = 0; i < a.length; ++i) - { - if (a[i] != b[i]) - { - return false; - } - } - return true; - } - }); - }); + management: null, + selectClause: null, + where: null, + category: null, + parent: null, + useCachedResults: false, + zeroBased: true, + _lastHeaders: [], + _lastResponsePromise: null, + + fetch: function (kwArgs) + { + return this._request(kwArgs); + }, + + fetchRange: function (kwArgs) + { + return this._request(kwArgs); + }, + + _request: function (kwArgs) + { + + if (!this.selectClause) + { + this._emitChangeHeadersIfNecessary([]); + var deferred = new Deferred(); + deferred.resolve([]); + return new QueryResults(deferred.promise); + } + + var queryRequest = { + category: this.category, + select: this.selectClause ? this.selectClause + ",id" : "id" + }; + + if (this.parent) + { + queryRequest.parent = this.parent; + } + + if (this.where) + { + queryRequest.where = this.where; + } + + if ("start" in kwArgs) + { + queryRequest.offset = kwArgs.start; + } + + if ("end" in kwArgs) + { + queryRequest.limit = kwArgs.end - (queryRequest.offset ? queryRequest.offset : 0); + } + + if (this.orderBy) + { + queryRequest.orderBy = this.orderBy; + } + + if (this.useCachedResults) + { + return this._createQueryResults(this._lastResponsePromise); + } + + var responsePromise = this.management.query(queryRequest); + responsePromise.then(lang.hitch(this, function (data) + { + var headers = lang.clone(data.headers); + headers.pop(); + this._emitChangeHeadersIfNecessary(headers); + }), lang.hitch(this, function (error) + { + this._emitChangeHeadersIfNecessary([]); + })); + + this._lastResponsePromise = responsePromise; + return this._createQueryResults(this._lastResponsePromise); + }, + + _createQueryResults: function (responsePromise) + { + var that = this; + var queryResultData = { + data: responsePromise.then(function (data) + { + var dataResults = data.results; + var results = []; + for (var i = 0, l = dataResults.length; i < l; ++i) + { + var result = dataResults[i]; + var item = {id: result[result.length - 1]}; + + // excluding id, as we already added id field + for (var j = 0, rl = result.length - 1; j < rl; ++j) + { + // sql uses 1-based index in ORDER BY + var field = this.zeroBased ? j : j + 1; + item[new String(field)] = result[j]; + } + results.push(item); + } + return results; + }, function (error) + { + this.management.errorHandler(error); + return []; + }), + total: responsePromise.then(function (data) + { + return data.total; + }, function (error) + { + return 0; + }) + }; + return new QueryResults(queryResultData.data, { + totalLength: queryResultData.total + }); + }, + + _emitChangeHeadersIfNecessary: function (headers) + { + if (!this._equalStringArrays(headers, this._lastHeaders)) + { + this._lastHeaders = headers; + this.emit("changeHeaders", {headers: headers}); + } + }, + + // override from dstore.Store to not copy collection + _createSubCollection: function () + { + return this; + }, + + _equalStringArrays: function (a, b) + { + if (a.length != b.length) + { + return false; + } + for (var i = 0; i < a.length; ++i) + { + if (a[i] != b[i]) + { + return false; + } + } + return true; + } + }); +});
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/WhereCriteria.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/WhereCriteria.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/WhereCriteria.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/WhereCriteria.js Mon May 2 15:57:52 2016 @@ -41,256 +41,255 @@ define(["dojo/_base/declare", "dijit/form/SimpleTextarea", "dijit/InlineEditBox", "dojo/domReady!"], function (declare, array, lang, string, template, entities, popup, CriteriaPane, Evented) - { - return declare("qpid.management.query.WhereCriteria", - [dijit._WidgetBase, dijit._TemplatedMixin, dijit._WidgetsInTemplateMixin, Evented], - { - //Strip out the apache comment header from the template html as comments unsupported. - templateString: template.replace(/<!--[\s\S]*?-->/g, ""), - - /** - * template attach points - */ - removeCriteria: null, - doneButton: null, - cancelButton: null, - addButton: null, - criteriaMatchCondition: null, - editDialog: null, - conditionDialogContent: null, - criteriaContainer: null, - newColumnCondition: null, - - /** - * constructor arguments - */ - attributeDetails: null, - userPreferences: null, - - /** - * inner fields - */ - _deleted: false, - - constructor: function (args) - { - this.attributeDetails = args.attributeDetails; - this.inherited(arguments); - }, - postCreate: function () - { - this.inherited(arguments); - this._postCreate(); - }, - _getDeletedAttr: function () - { - return this._deleted; - }, - _postCreate: function () - { - this.removeCriteria.on("click", lang.hitch(this, this._destroy)); - this.doneButton.on("click", lang.hitch(this, this._criteriaSet)); - this.cancelButton.on("click", lang.hitch(this, this._dialogCancelled)); - this.addButton.on("click", lang.hitch(this, this._addCriteria)); - this.criteriaMatchCondition.on("change", - lang.hitch(this, this._criteriaConditionChanged)); - var criteriaPane = this._addCriteria({_stored: true}); - criteriaPane.submitted(); - this._displayExpression(); - this._criteriaConditionChanged(); - this.editDialog.on("hide", lang.hitch(this, this._dialogHidden)); - }, - _addCriteria: function () - { - var criteriaPane = new CriteriaPane({ - criteriaName: this.attributeDetails.attributeName, - typeName: this.attributeDetails.type, - typeValidValues: this.attributeDetails.validValues, - userPreferences: this.userPreferences - }); - this.criteriaContainer.addChild(criteriaPane); - criteriaPane.on("change", lang.hitch(this, this._criteriaChanged)); - this._updateRemovable(); - return criteriaPane; - }, - _getNumberOfCriteria: function () - { - var counter = 0; - var criteriaArray = this.criteriaContainer.getChildren(); - for (var i = 0; i < criteriaArray.length; i++) - { - if (!criteriaArray[i].get("removed")) - { - counter = counter + 1; - } - } - return counter; - }, - _updateRemovable: function () - { - var counter = this._getNumberOfCriteria(); - var singleCriteria = counter == 1; - var criteriaArray = this.criteriaContainer.getChildren(); - for (var i = 0; i < criteriaArray.length; i++) - { - if (!criteriaArray[i].get("removed")) - { - criteriaArray[i].set("removable", !singleCriteria); - break; - } - } - this.criteriaMatchCondition.set("disabled", singleCriteria); - }, - _getUserFriendlyExpression: function () - { - var expression = this.getConditionExpression(); - if (!expression) - { - expression = this.attributeDetails.attributeName + ": any"; - } - return expression; - }, - _displayExpression: function () - { - var expression = this._getUserFriendlyExpression(); - this.criteria.set("label", expression); - }, - _criteriaConditionChanged: function () - { - var isValid = this._validateCriteria(); - if (isValid) - { - var expression = this._getUserFriendlyExpression(); - this.newColumnCondition.set("value", expression); - this._updateRemovable(); - } - this.doneButton.set("disabled", !isValid); - }, - _criteriaChanged: function (criteria) - { - this._criteriaConditionChanged(); - if (criteria && criteria.get("removed")) - { - var prev = this.criteriaMatchCondition; - var criteriaArray = this.criteriaContainer.getChildren(); - for (var i = 0; i < criteriaArray.length; i++) - { - if (criteriaArray[i] == criteria) - { - break; - } - if (!criteriaArray[i].get("removed")) - { - prev = criteriaArray[i] - } - } - - if (prev) - { - if (prev.focus) - { - prev.focus(); - } - else if (prev instanceof qpid.management.query.CriteriaPane) - { - prev.criteriaCondition.focus(); - } - criteria.domNode.style.display = "none"; - } - } - }, - _validateCriteria: function () - { - var isValid = true; - var criteriaArray = this.criteriaContainer.getChildren(); - for (var i = 0; i < criteriaArray.length; i++) - { - if (!criteriaArray[i].get("removed") && !criteriaArray[i].isValidCriteria()) - { - isValid = false; - } - } - return isValid; - }, - _getAttributeDetailsAttr: function () - { - return this.attributeDetails; - }, - getConditionExpression: function () - { - if (this._deleted) - { - return undefined; - } - - var expression = ""; - var criteriaArray = this.criteriaContainer.getChildren(); - var criteriaCounter = 0; - for (var i = 0; i < criteriaArray.length; i++) - { - var criteria = criteriaArray[i].getExpression(); - if (criteria) - { - if (expression) - { - expression = expression + " " + this.criteriaMatchCondition.value; - } - expression = expression + " " + criteria; - criteriaCounter = criteriaCounter + 1; - } - } - if (criteriaCounter > 0 && this.criteriaMatchCondition.value == "or") - { - expression = "( " + expression + " )" - } - return expression; - }, - _destroy: function () - { - this._deleted = true; - try - { - // notify listeners which are listening for onChange events - this.emit("change", this); - } - finally - { - this.destroyRecursive(false); - } - }, - _criteriaSet: function () - { - var isValid = this._validateCriteria(); - if (isValid) - { - this._displayExpression(); - var criteriaArray = this.criteriaContainer.getChildren(); - for (var i = 0; i < criteriaArray.length; i++) - { - criteriaArray[i].submitted(); - } - popup.close(this.editDialog); - - // notify listeners which are listening for onChange events - this.emit("change", this); - } - }, - _dialogCancelled: function () - { - popup.close(this.editDialog); - this._dialogHidden(); - }, - _dialogHidden: function () - { - var criteriaArray = this.criteriaContainer.getChildren(); - for (var i = 0; i < criteriaArray.length; i++) - { - if (criteriaArray[i].cancelled) - { - criteriaArray[i].cancelled(); - } - } - this._updateRemovable(); - } - }); - }); \ No newline at end of file +{ + return declare("qpid.management.query.WhereCriteria", + [dijit._WidgetBase, dijit._TemplatedMixin, dijit._WidgetsInTemplateMixin, Evented], + { + //Strip out the apache comment header from the template html as comments unsupported. + templateString: template.replace(/<!--[\s\S]*?-->/g, ""), + + /** + * template attach points + */ + removeCriteria: null, + doneButton: null, + cancelButton: null, + addButton: null, + criteriaMatchCondition: null, + editDialog: null, + conditionDialogContent: null, + criteriaContainer: null, + newColumnCondition: null, + + /** + * constructor arguments + */ + attributeDetails: null, + userPreferences: null, + + /** + * inner fields + */ + _deleted: false, + + constructor: function (args) + { + this.attributeDetails = args.attributeDetails; + this.inherited(arguments); + }, + postCreate: function () + { + this.inherited(arguments); + this._postCreate(); + }, + _getDeletedAttr: function () + { + return this._deleted; + }, + _postCreate: function () + { + this.removeCriteria.on("click", lang.hitch(this, this._destroy)); + this.doneButton.on("click", lang.hitch(this, this._criteriaSet)); + this.cancelButton.on("click", lang.hitch(this, this._dialogCancelled)); + this.addButton.on("click", lang.hitch(this, this._addCriteria)); + this.criteriaMatchCondition.on("change", lang.hitch(this, this._criteriaConditionChanged)); + var criteriaPane = this._addCriteria({_stored: true}); + criteriaPane.submitted(); + this._displayExpression(); + this._criteriaConditionChanged(); + this.editDialog.on("hide", lang.hitch(this, this._dialogHidden)); + }, + _addCriteria: function () + { + var criteriaPane = new CriteriaPane({ + criteriaName: this.attributeDetails.attributeName, + typeName: this.attributeDetails.type, + typeValidValues: this.attributeDetails.validValues, + userPreferences: this.userPreferences + }); + this.criteriaContainer.addChild(criteriaPane); + criteriaPane.on("change", lang.hitch(this, this._criteriaChanged)); + this._updateRemovable(); + return criteriaPane; + }, + _getNumberOfCriteria: function () + { + var counter = 0; + var criteriaArray = this.criteriaContainer.getChildren(); + for (var i = 0; i < criteriaArray.length; i++) + { + if (!criteriaArray[i].get("removed")) + { + counter = counter + 1; + } + } + return counter; + }, + _updateRemovable: function () + { + var counter = this._getNumberOfCriteria(); + var singleCriteria = counter == 1; + var criteriaArray = this.criteriaContainer.getChildren(); + for (var i = 0; i < criteriaArray.length; i++) + { + if (!criteriaArray[i].get("removed")) + { + criteriaArray[i].set("removable", !singleCriteria); + break; + } + } + this.criteriaMatchCondition.set("disabled", singleCriteria); + }, + _getUserFriendlyExpression: function () + { + var expression = this.getConditionExpression(); + if (!expression) + { + expression = this.attributeDetails.attributeName + ": any"; + } + return expression; + }, + _displayExpression: function () + { + var expression = this._getUserFriendlyExpression(); + this.criteria.set("label", expression); + }, + _criteriaConditionChanged: function () + { + var isValid = this._validateCriteria(); + if (isValid) + { + var expression = this._getUserFriendlyExpression(); + this.newColumnCondition.set("value", expression); + this._updateRemovable(); + } + this.doneButton.set("disabled", !isValid); + }, + _criteriaChanged: function (criteria) + { + this._criteriaConditionChanged(); + if (criteria && criteria.get("removed")) + { + var prev = this.criteriaMatchCondition; + var criteriaArray = this.criteriaContainer.getChildren(); + for (var i = 0; i < criteriaArray.length; i++) + { + if (criteriaArray[i] == criteria) + { + break; + } + if (!criteriaArray[i].get("removed")) + { + prev = criteriaArray[i] + } + } + + if (prev) + { + if (prev.focus) + { + prev.focus(); + } + else if (prev instanceof qpid.management.query.CriteriaPane) + { + prev.criteriaCondition.focus(); + } + criteria.domNode.style.display = "none"; + } + } + }, + _validateCriteria: function () + { + var isValid = true; + var criteriaArray = this.criteriaContainer.getChildren(); + for (var i = 0; i < criteriaArray.length; i++) + { + if (!criteriaArray[i].get("removed") && !criteriaArray[i].isValidCriteria()) + { + isValid = false; + } + } + return isValid; + }, + _getAttributeDetailsAttr: function () + { + return this.attributeDetails; + }, + getConditionExpression: function () + { + if (this._deleted) + { + return undefined; + } + + var expression = ""; + var criteriaArray = this.criteriaContainer.getChildren(); + var criteriaCounter = 0; + for (var i = 0; i < criteriaArray.length; i++) + { + var criteria = criteriaArray[i].getExpression(); + if (criteria) + { + if (expression) + { + expression = expression + " " + this.criteriaMatchCondition.value; + } + expression = expression + " " + criteria; + criteriaCounter = criteriaCounter + 1; + } + } + if (criteriaCounter > 0 && this.criteriaMatchCondition.value == "or") + { + expression = "( " + expression + " )" + } + return expression; + }, + _destroy: function () + { + this._deleted = true; + try + { + // notify listeners which are listening for onChange events + this.emit("change", this); + } + finally + { + this.destroyRecursive(false); + } + }, + _criteriaSet: function () + { + var isValid = this._validateCriteria(); + if (isValid) + { + this._displayExpression(); + var criteriaArray = this.criteriaContainer.getChildren(); + for (var i = 0; i < criteriaArray.length; i++) + { + criteriaArray[i].submitted(); + } + popup.close(this.editDialog); + + // notify listeners which are listening for onChange events + this.emit("change", this); + } + }, + _dialogCancelled: function () + { + popup.close(this.editDialog); + this._dialogHidden(); + }, + _dialogHidden: function () + { + var criteriaArray = this.criteriaContainer.getChildren(); + for (var i = 0; i < criteriaArray.length; i++) + { + if (criteriaArray[i].cancelled) + { + criteriaArray[i].cancelled(); + } + } + this._updateRemovable(); + } + }); +}); \ No newline at end of file Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/WhereExpression.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/WhereExpression.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/WhereExpression.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/query/WhereExpression.js Mon May 2 15:57:52 2016 @@ -27,125 +27,125 @@ define(["dojo/_base/declare", "dijit/layout/ContentPane", "qpid/management/query/WhereCriteria", "dojo/domReady!"], function (declare, array, lang, domConstruct, Evented, ContentPane, WhereCriteria) - { - return declare("qpid.management.query.WhereExpression", [ContentPane, Evented], { - whereExpression: "", - whereFieldsSelector: null, - _whereItems: {}, - userPreferences: null, +{ + return declare("qpid.management.query.WhereExpression", [ContentPane, Evented], { + whereExpression: "", + whereFieldsSelector: null, + _whereItems: {}, + userPreferences: null, - postCreate: function () - { - this.inherited(arguments); - if (this.whereFieldsSelector) - { - this.whereFieldsSelector.on("change", lang.hitch(this, this._whereExpressionChanged)); - var promise = this.whereFieldsSelector.get("selectedItems"); - dojo.when(promise, lang.hitch(this, function (selectedItems) - { - this._whereExpressionChanged(selectedItems); - })); + postCreate: function () + { + this.inherited(arguments); + if (this.whereFieldsSelector) + { + this.whereFieldsSelector.on("change", lang.hitch(this, this._whereExpressionChanged)); + var promise = this.whereFieldsSelector.get("selectedItems"); + dojo.when(promise, lang.hitch(this, function (selectedItems) + { + this._whereExpressionChanged(selectedItems); + })); - } - }, - _setWhereFieldsSelectorAttr: function (whereFieldsSelector) - { - this.whereFieldsSelector = whereFieldsSelector; - this.whereFieldsSelector.on("change", lang.hitch(this, this._whereExpressionChanged)); - var promise = this.whereFieldsSelector.get("selectedItems"); - dojo.when(promise, lang.hitch(this, function (items) - { - this._whereExpressionChanged(items); - })); - }, - _whereExpressionChanged: function (items) - { - this._buildWhereCriteriaWidgets(items); - this._notifyChanged(); - }, - _buildWhereCriteriaWidgets: function (items) - { - for (var i = 0; i < items.length; i++) - { - var name = items[i].attributeName; - if (!(name in this._whereItems)) - { - this._whereItems[name] = this._createWhereCriteriaWidget(items[i]); - } - } - }, - _createWhereCriteriaWidget: function (item) - { - var whereCriteria = new WhereCriteria({ - attributeDetails: item, - userPreferences: this.userPreferences - }, domConstruct.create("div")); - this.addChild(whereCriteria); - whereCriteria.startup(); - whereCriteria.on("change", lang.hitch(this, this._whereCriteriaChanged)); - return whereCriteria; - }, - _notifyChanged: function () - { - this.whereExpression = this._getWhereExpression(); - this.emit("change", this.whereExpression); - }, - _whereCriteriaChanged: function (whereCriteria) - { - if (whereCriteria.get("deleted")) - { - delete this._whereItems[whereCriteria.get("attributeDetails").attributeName]; - this.removeChild(whereCriteria); - } - this._notifyChanged(); - }, - _getWhereExpressionAttr: function () - { - if (!this.whereExpression) - { - this.whereExpression = this._getWhereExpression(); - } - return this.whereExpression; - }, - _getWhereExpression: function () - { - var columnsAfterChange = []; - var whereExpression = ""; - var children = this.getChildren(); - var selected = []; - for (var i = 0; i < children.length; i++) - { - if (!children[i].get("deleted")) - { - var details = children[i].get("attributeDetails"); - columnsAfterChange.push(details); - selected.push(details.id); - var expression = children[i].getConditionExpression(); - if (expression) - { - whereExpression = whereExpression + (whereExpression ? " and " : "") + expression; - } - } - } - this.whereFieldsSelector.set("data", {selected: selected}); - return whereExpression; - }, - clearWhereCriteria: function () - { - this._whereItems = {}; - var children = this.getChildren(); - for (var i = children.length - 1; i >= 0; i--) - { - children[i].destroyRecursive(false); - } - if (this.whereFieldsSelector) - { - this.whereFieldsSelector.set("data", {selected: []}); - } - }, - _setUserPreferences: function (value) - { - this.userPreferences = value; - } - }); - }); \ No newline at end of file + } + }, + _setWhereFieldsSelectorAttr: function (whereFieldsSelector) + { + this.whereFieldsSelector = whereFieldsSelector; + this.whereFieldsSelector.on("change", lang.hitch(this, this._whereExpressionChanged)); + var promise = this.whereFieldsSelector.get("selectedItems"); + dojo.when(promise, lang.hitch(this, function (items) + { + this._whereExpressionChanged(items); + })); + }, + _whereExpressionChanged: function (items) + { + this._buildWhereCriteriaWidgets(items); + this._notifyChanged(); + }, + _buildWhereCriteriaWidgets: function (items) + { + for (var i = 0; i < items.length; i++) + { + var name = items[i].attributeName; + if (!(name in this._whereItems)) + { + this._whereItems[name] = this._createWhereCriteriaWidget(items[i]); + } + } + }, + _createWhereCriteriaWidget: function (item) + { + var whereCriteria = new WhereCriteria({ + attributeDetails: item, + userPreferences: this.userPreferences + }, domConstruct.create("div")); + this.addChild(whereCriteria); + whereCriteria.startup(); + whereCriteria.on("change", lang.hitch(this, this._whereCriteriaChanged)); + return whereCriteria; + }, + _notifyChanged: function () + { + this.whereExpression = this._getWhereExpression(); + this.emit("change", this.whereExpression); + }, + _whereCriteriaChanged: function (whereCriteria) + { + if (whereCriteria.get("deleted")) + { + delete this._whereItems[whereCriteria.get("attributeDetails").attributeName]; + this.removeChild(whereCriteria); + } + this._notifyChanged(); + }, + _getWhereExpressionAttr: function () + { + if (!this.whereExpression) + { + this.whereExpression = this._getWhereExpression(); + } + return this.whereExpression; + }, + _getWhereExpression: function () + { + var columnsAfterChange = []; + var whereExpression = ""; + var children = this.getChildren(); + var selected = []; + for (var i = 0; i < children.length; i++) + { + if (!children[i].get("deleted")) + { + var details = children[i].get("attributeDetails"); + columnsAfterChange.push(details); + selected.push(details.id); + var expression = children[i].getConditionExpression(); + if (expression) + { + whereExpression = whereExpression + (whereExpression ? " and " : "") + expression; + } + } + } + this.whereFieldsSelector.set("data", {selected: selected}); + return whereExpression; + }, + clearWhereCriteria: function () + { + this._whereItems = {}; + var children = this.getChildren(); + for (var i = children.length - 1; i >= 0; i--) + { + children[i].destroyRecursive(false); + } + if (this.whereFieldsSelector) + { + this.whereFieldsSelector.set("data", {selected: []}); + } + }, + _setUserPreferences: function (value) + { + this.userPreferences = value; + } + }); +}); \ No newline at end of file Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/showMessage.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/showMessage.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/showMessage.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/showMessage.js Mon May 2 15:57:52 2016 @@ -31,148 +31,164 @@ define(["dojo/dom", "qpid/common/util", "dojo/text!showMessage.html", "dojo/domReady!"], - function (dom, construct, domClass, win, registry, parser, array, event, json, query, connect, properties, entities, util, template) - { + function (dom, + construct, + domClass, + win, + registry, + parser, + array, + event, + json, + query, + connect, + properties, + entities, + util, + template) + { + + function encode(val) + { + return typeof val === 'string' ? entities.encode(val) : val; + } + + var populatedFields = []; + var showMessage = {}; + + showMessage.hide = function () + { + registry.byId("showMessage") + .hide(); + }; + + showMessage.loadViewMessage = function (data) + { + var node = construct.create("div", null, win.body(), "last"); + node.innerHTML = data; + var that = this; + parser.parse(node) + .then(function (instances) + { + that.dialogNode = dom.byId("showMessage"); + var closeButton = query(".closeViewMessage", that.dialogNode)[0]; + registry.byNode(closeButton) + .on("click", function (evt) + { + event.stop(evt); + that.hide(); + }); + }); + + }; + + showMessage.populateShowMessage = function (management, modelObj, data) + { + + // clear fields set by previous invocation. + if (populatedFields) + { + for (var i = 0; i < populatedFields.length; i++) + { + populatedFields[i].innerHTML = ""; + } + populatedFields = []; + } + + for (var attrName in data) + { + if (data.hasOwnProperty(attrName)) + { + var fields = query(".message-" + attrName, this.dialogNode); + if (fields && fields.length != 0) + { + var field = fields[0]; + populatedFields.push(field); + var val = data[attrName]; + if (val != null) + { + if (domClass.contains(field, "map")) + { + var tableStr = "<table style='border: 1pt'><tr><th style='width: 6em; font-weight: bold'>Header</th><th style='font-weight: bold'>Value</th></tr>"; + for (var name in val) + { + if (val.hasOwnProperty(name)) + { + + tableStr += "<tr><td>" + encode(name) + "</td>"; + tableStr += "<td>" + encode(val[name]) + "</td></tr>"; + } + field.innerHTML = tableStr; + } + tableStr += "</table>"; + } + else if (domClass.contains(field, "datetime")) + { + field.innerHTML = management.userPreferences.formatDateTime(val, { + addOffset: true, + appendTimeZone: true + }); + } + else + { + field.innerHTML = encode(val); + } + } + } + } + } + var contentField = query(".message-content", this.dialogNode)[0]; + populatedFields.push(contentField); + + var contentModelObj = { + name: "getMessageContent", + parent: modelObj, + type: modelObj.type + }; + var parameters = {messageId: data.id}; + if (data.mimeType && data.mimeType.match(/text\/.*/)) + { + management.load(contentModelObj, parameters, { + handleAs: "text", + headers: {"Content-Type": data.mimeType} + }) + .then(function (content) + { + contentField.innerHTML = encode(content); + registry.byId("showMessage") + .show(); + }); + } + else + { + var url = management.buildObjectURL(contentModelObj, parameters); + contentField.innerHTML = "<a href=\"#\" title=\"" + url + "\">Download</a>"; + + var href = query('a', contentField)[0] + connect.connect(href, 'onclick', function () + { + management.download(contentModelObj, parameters); + }); + + registry.byId("showMessage") + .show(); + } + }; + + showMessage.show = function (management, modelObj, message) + { + management.load({ + name: "getMessageInfoById", + parent: modelObj, + type: modelObj.type + }, {messageId: message.id}) + .then(function (data) + { + showMessage.populateShowMessage(management, modelObj, data); + }); + }; - function encode(val) - { - return typeof val === 'string' ? entities.encode(val) : val; - } - - var populatedFields = []; - var showMessage = {}; - - showMessage.hide = function () - { - registry.byId("showMessage").hide(); - }; - - showMessage.loadViewMessage = function (data) - { - var node = construct.create("div", null, win.body(), "last"); - node.innerHTML = data; - var that = this; - parser.parse(node).then(function (instances) - { - that.dialogNode = dom.byId("showMessage"); - var closeButton = query(".closeViewMessage", that.dialogNode)[0]; - registry.byNode(closeButton).on("click", function (evt) - { - event.stop(evt); - that.hide(); - }); - }); - - }; - - showMessage.populateShowMessage = function (management, modelObj, data) - { - - // clear fields set by previous invocation. - if (populatedFields) - { - for (var i = 0; i < populatedFields.length; i++) - { - populatedFields[i].innerHTML = ""; - } - populatedFields = []; - } - - for (var attrName in data) - { - if (data.hasOwnProperty(attrName)) - { - var fields = query(".message-" + attrName, this.dialogNode); - if (fields && fields.length != 0) - { - var field = fields[0]; - populatedFields.push(field); - var val = data[attrName]; - if (val != null) - { - if (domClass.contains(field, "map")) - { - var tableStr = "<table style='border: 1pt'><tr><th style='width: 6em; font-weight: bold'>Header</th><th style='font-weight: bold'>Value</th></tr>"; - for (var name in val) - { - if (val.hasOwnProperty(name)) - { - - tableStr += "<tr><td>" + encode(name) + "</td>"; - tableStr += "<td>" + encode(val[name]) + "</td></tr>"; - } - field.innerHTML = tableStr; - } - tableStr += "</table>"; - } - else if (domClass.contains(field, "datetime")) - { - field.innerHTML = management.userPreferences.formatDateTime(val, - { - addOffset: true, - appendTimeZone: true - }); - } - else - { - field.innerHTML = encode(val); - } - } - } - } - } - var contentField = query(".message-content", this.dialogNode)[0]; - populatedFields.push(contentField); - - var contentModelObj = { - name: "getMessageContent", - parent: modelObj, - type: modelObj.type - }; - var parameters = {messageId: data.id}; - if (data.mimeType && data.mimeType.match(/text\/.*/)) - { - management.load(contentModelObj, - parameters, - { - handleAs: "text", - headers: {"Content-Type": data.mimeType} - }).then(function (content) - { - contentField.innerHTML = encode(content); - registry.byId("showMessage").show(); - }); - } - else - { - var url = management.buildObjectURL(contentModelObj, parameters); - contentField.innerHTML = "<a href=\"#\" title=\"" + url + "\">Download</a>"; - - var href = query('a', contentField)[0] - connect.connect(href, 'onclick', function () - { - management.download(contentModelObj, parameters); - }); - - registry.byId("showMessage").show(); - } - }; - - showMessage.show = function (management, modelObj, message) - { - management.load({ - name: "getMessageInfoById", - parent: modelObj, - type: modelObj.type - }, {messageId: message.id}).then(function (data) - { - showMessage.populateShowMessage(management, - modelObj, - data); - }); - }; + showMessage.loadViewMessage(template); - showMessage.loadViewMessage(template); - - return showMessage; - }); + return showMessage; + }); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/autogeneratedselfsigned/add.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/autogeneratedselfsigned/add.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/autogeneratedselfsigned/add.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/autogeneratedselfsigned/add.js Mon May 2 15:57:52 2016 @@ -26,67 +26,68 @@ define(["dojo/dom", "dojo/parser", "dojo/text!store/autogeneratedselfsigned/add.html", "dojo/domReady!"], function (dom, query, array, registry, util, parser, template) - { - var addKeyStore = { - show: function (data) - { - var that = this; - this.metadata = data.metadata; - this.containerNode = data.containerNode; - data.containerNode.innerHTML = template; - parser.parse(this.containerNode).then(function (instances) - { - if (data.effectiveData) - { - that.update(data.effectiveData); - } +{ + var addKeyStore = { + show: function (data) + { + var that = this; + this.metadata = data.metadata; + this.containerNode = data.containerNode; + data.containerNode.innerHTML = template; + parser.parse(this.containerNode) + .then(function (instances) + { + if (data.effectiveData) + { + that.update(data.effectiveData); + } - util.applyMetadataToWidgets(data.containerNode, - "KeyStore", - "AutoGeneratedSelfSigned", - data.metadata); - if (data.effectiveData) - { - util.disableWidgetsForImmutableFields(data.containerNode, - "KeyStore", - "AutoGeneratedSelfSigned", - data.metadata); - } - }); - }, - update: function (effectiveData) - { - var attributes = this.metadata.getMetaData("KeyStore", "AutoGeneratedSelfSigned").attributes; - var widgets = registry.findWidgets(this.containerNode); - array.forEach(widgets, function (item) - { - var name = item.id.replace("addStore.", ""); - if (name in attributes) - { - var attribute = attributes[name]; - var value = effectiveData[name]; - if (value) - { - if (attribute.secure) - { - if (!/^\*+/.test(value)) - { - item.set("value", value); - } - else - { - item.set("required", false); - } - } - else - { - item.set("value", value); - } - } - } - }); - } - }; + util.applyMetadataToWidgets(data.containerNode, + "KeyStore", + "AutoGeneratedSelfSigned", + data.metadata); + if (data.effectiveData) + { + util.disableWidgetsForImmutableFields(data.containerNode, + "KeyStore", + "AutoGeneratedSelfSigned", + data.metadata); + } + }); + }, + update: function (effectiveData) + { + var attributes = this.metadata.getMetaData("KeyStore", "AutoGeneratedSelfSigned").attributes; + var widgets = registry.findWidgets(this.containerNode); + array.forEach(widgets, function (item) + { + var name = item.id.replace("addStore.", ""); + if (name in attributes) + { + var attribute = attributes[name]; + var value = effectiveData[name]; + if (value) + { + if (attribute.secure) + { + if (!/^\*+/.test(value)) + { + item.set("value", value); + } + else + { + item.set("required", false); + } + } + else + { + item.set("value", value); + } + } + } + }); + } + }; - return addKeyStore; - }); + return addKeyStore; +}); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/autogeneratedselfsigned/show.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/autogeneratedselfsigned/show.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/autogeneratedselfsigned/show.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/autogeneratedselfsigned/show.js Mon May 2 15:57:52 2016 @@ -18,71 +18,70 @@ */ define(["qpid/common/util", "dojo/query", "dijit/registry", "dojo/_base/connect", "dojo/_base/event", "dojo/domReady!"], - function (util, query, registry, connect, event) - { + function (util, query, registry, connect, event) + { - function AutoGeneratedSelfSignedKeyStoreProvider(data) - { - this.fields = []; - this.management = data.parent.management; - this.modelObj = data.parent.modelObj; - var attributes = data.parent.management.metadata.getMetaData("KeyStore", - "AutoGeneratedSelfSigned").attributes; - for (var name in attributes) - { - this.fields.push(name); - } - var that = this; - - util.buildUI(data.containerNode, - data.parent, - "store/autogeneratedselfsigned/show.html", - this.fields, - this, - function () - { - var getCertificateButton = query(".getCertificateButton", data.containerNode)[0]; - var getCertificateWidget = registry.byNode(getCertificateButton); - connect.connect(getCertificateWidget, "onClick", function (evt) - { - event.stop(evt); - that.getCertificate(); - }); - var getClientTrustStoreButton = query(".getClientTrustStoreButton", - data.containerNode)[0]; - var getClientTrustStoreWidget = registry.byNode(getClientTrustStoreButton); - connect.connect(getClientTrustStoreWidget, "onClick", function (evt) - { - event.stop(evt); - that.getClientTrustStore(); - }); - }); - } - - AutoGeneratedSelfSignedKeyStoreProvider.prototype.update = function (data) - { - util.updateUI(data, this.fields, this); - }; - - AutoGeneratedSelfSignedKeyStoreProvider.prototype.getCertificate = function () - { - var modelObj = this.modelObj; - this.management.download({ - parent: modelObj, - name: "getCertificate", - type: modelObj.type - }) - }; - - AutoGeneratedSelfSignedKeyStoreProvider.prototype.getClientTrustStore = function () - { - var modelObj = this.modelObj; - this.management.download({ - parent: modelObj, - name: "getClientTrustStore", - type: modelObj.type - }) - }; + function AutoGeneratedSelfSignedKeyStoreProvider(data) + { + this.fields = []; + this.management = data.parent.management; + this.modelObj = data.parent.modelObj; + var attributes = data.parent.management.metadata.getMetaData("KeyStore", + "AutoGeneratedSelfSigned").attributes; + for (var name in attributes) + { + this.fields.push(name); + } + var that = this; + + util.buildUI(data.containerNode, + data.parent, + "store/autogeneratedselfsigned/show.html", + this.fields, + this, + function () + { + var getCertificateButton = query(".getCertificateButton", data.containerNode)[0]; + var getCertificateWidget = registry.byNode(getCertificateButton); + connect.connect(getCertificateWidget, "onClick", function (evt) + { + event.stop(evt); + that.getCertificate(); + }); + var getClientTrustStoreButton = query(".getClientTrustStoreButton", data.containerNode)[0]; + var getClientTrustStoreWidget = registry.byNode(getClientTrustStoreButton); + connect.connect(getClientTrustStoreWidget, "onClick", function (evt) + { + event.stop(evt); + that.getClientTrustStore(); + }); + }); + } + + AutoGeneratedSelfSignedKeyStoreProvider.prototype.update = function (data) + { + util.updateUI(data, this.fields, this); + }; + + AutoGeneratedSelfSignedKeyStoreProvider.prototype.getCertificate = function () + { + var modelObj = this.modelObj; + this.management.download({ + parent: modelObj, + name: "getCertificate", + type: modelObj.type + }) + }; + + AutoGeneratedSelfSignedKeyStoreProvider.prototype.getClientTrustStore = function () + { + var modelObj = this.modelObj; + this.management.download({ + parent: modelObj, + name: "getClientTrustStore", + type: modelObj.type + }) + }; - return AutoGeneratedSelfSignedKeyStoreProvider; - }); + return AutoGeneratedSelfSignedKeyStoreProvider; + }); Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filekeystore/add.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filekeystore/add.js?rev=1741993&r1=1741992&r2=1741993&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filekeystore/add.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filekeystore/add.js Mon May 2 15:57:52 2016 @@ -26,81 +26,76 @@ define(["dojo/dom", "dojo/parser", "dojo/text!store/filekeystore/add.html", "dojo/domReady!"], function (dom, query, array, registry, util, parser, template) - { - var addKeyStore = { - show: function (data) - { - var that = this; - this.metadata = data.metadata; - this.containerNode = data.containerNode; - data.containerNode.innerHTML = template; - parser.parse(this.containerNode).then(function (instances) - { - that.keyStoreOldBrowserWarning = - dom.byId("addStore.oldBrowserWarning"); +{ + var addKeyStore = { + show: function (data) + { + var that = this; + this.metadata = data.metadata; + this.containerNode = data.containerNode; + data.containerNode.innerHTML = template; + parser.parse(this.containerNode) + .then(function (instances) + { + that.keyStoreOldBrowserWarning = dom.byId("addStore.oldBrowserWarning"); - if (!window.FileReader) - { - that.keyStoreOldBrowserWarning.innerHTML = - "File upload requires a more recent browser with HTML5 support"; - that.keyStoreOldBrowserWarning.className = - that.keyStoreOldBrowserWarning.className.replace( - "hidden", - ""); - } + if (!window.FileReader) + { + that.keyStoreOldBrowserWarning.innerHTML = + "File upload requires a more recent browser with HTML5 support"; + that.keyStoreOldBrowserWarning.className = + that.keyStoreOldBrowserWarning.className.replace("hidden", ""); + } - if (data.effectiveData) - { - that.update(data.effectiveData); - } + if (data.effectiveData) + { + that.update(data.effectiveData); + } - util.applyMetadataToWidgets(data.containerNode, - "KeyStore", - "FileKeyStore", - data.metadata); - }); - }, - update: function (effectiveData) - { - var attributes = this.metadata.getMetaData("KeyStore", "FileKeyStore").attributes; - var widgets = registry.findWidgets(this.containerNode); - array.forEach(widgets, function (item) - { - var name = item.id.replace("addStore.", ""); - if (name in attributes) - { - var attribute = attributes[name]; - var value = effectiveData[name]; - if (value) - { - if (attribute.secure) - { - if (!/^\*+/.test(value)) - { - item.set("value", value); - } - else - { - item.set("required", false); - if (name == "storeUrl") - { - item.set("uploaded", true) - } - else - { - item.set("placeHolder", value); - } - } - } - else - { - item.set("value", value); - } - } - } - }); - } - }; + util.applyMetadataToWidgets(data.containerNode, "KeyStore", "FileKeyStore", data.metadata); + }); + }, + update: function (effectiveData) + { + var attributes = this.metadata.getMetaData("KeyStore", "FileKeyStore").attributes; + var widgets = registry.findWidgets(this.containerNode); + array.forEach(widgets, function (item) + { + var name = item.id.replace("addStore.", ""); + if (name in attributes) + { + var attribute = attributes[name]; + var value = effectiveData[name]; + if (value) + { + if (attribute.secure) + { + if (!/^\*+/.test(value)) + { + item.set("value", value); + } + else + { + item.set("required", false); + if (name == "storeUrl") + { + item.set("uploaded", true) + } + else + { + item.set("placeHolder", value); + } + } + } + else + { + item.set("value", value); + } + } + } + }); + } + }; - return addKeyStore; - }); + return addKeyStore; +}); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
