diff options
author | Alex Rudyy <orudyy@apache.org> | 2015-02-17 14:37:53 +0000 |
---|---|---|
committer | Alex Rudyy <orudyy@apache.org> | 2015-02-17 14:37:53 +0000 |
commit | 9b0b08e1bf468b07e95637d51d53a0a5baf77f67 (patch) | |
tree | 6909443956b2ccfa20d2d3654bbeeb4b23527b15 /qpid/java/broker-plugins | |
parent | e15f00f8565cccda1e63869ca7c1a64d16af29ae (diff) | |
download | qpid-python-9b0b08e1bf468b07e95637d51d53a0a5baf77f67.tar.gz |
QPID-6364: Introduce attribute annotation property 'secureValueFilter' to mask only secure values matching the filter.
Set secureValueFilter on keystores/trustores to mask only data URLs.
Stop applying oversize when actuals attributes are requested.
Update corresponding keystore/truststore UI tp show actual values for non data URLs.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1660391 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/broker-plugins')
7 files changed, 229 insertions, 147 deletions
diff --git a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java index 331b50ea7c..d02b85df7f 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java +++ b/qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java @@ -169,7 +169,7 @@ public class ConfiguredObjectToMapConverter value = confObject.getAttribute(name); } - if(attribute.isOversized() && !extractAsConfig) + if(attribute.isOversized() && !extractAsConfig && !useActualValues) { String valueString = String.valueOf(value); if(valueString.length() > oversizeThreshold) diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ResourceWidget.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ResourceWidget.js index f603c96ff3..767191bcd0 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ResourceWidget.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ResourceWidget.js @@ -44,6 +44,7 @@ function (declare, array, lang, util, _WidgetBase, _TemplatedMixin, _WidgetsInTe fileReaderSupported: window.FileReader ? true : false, displayWarningWhenFileReaderUnsupported: false, isDebug: false, + uploaded: false, buildRendering: function() { @@ -127,6 +128,7 @@ function (declare, array, lang, util, _WidgetBase, _TemplatedMixin, _WidgetsInTe }, _fileClearButtonClicked: function(event) { + this.uploaded = false; this.uploader.reset(); this.set("value", this._resetValue); }, @@ -134,20 +136,17 @@ function (declare, array, lang, util, _WidgetBase, _TemplatedMixin, _WidgetsInTe { var serverPathValue = this.resourceLocation.get("value") || this._resetValue; this.set("value", serverPathValue); + if (this.uploaded ) + { + this.uploaded = !serverPathValue; + } }, _setValueAttr: function(newValue, priorityChange) { - var isDataUrl = newValue && newValue.indexOf("data:") == 0; + var isDataUrl = this.uploaded || ( newValue && newValue.indexOf("data:") == 0 ); if (isDataUrl) { - this.uploadData.style.display = "block"; - this.selectedFileStatus.className = "loadedIcon"; - this.selectedFile.innerHTML = this.selectedFileName || "uploaded data"; - this.resourceLocation.set("value", ""); - this.resourceLocation.setDisabled(true); - this.resourceLocation.set("required", false); - this.clearButton.setDisabled(false); - this.selectedFileStatus.className = "loadedIcon"; + this._initUploaded(true); } else { @@ -172,6 +171,25 @@ function (declare, array, lang, util, _WidgetBase, _TemplatedMixin, _WidgetsInTe _setPlaceHolderAttr: function(newValue) { this.resourceLocation.set("placeHolder", newValue); + }, + _setUploadedAttr: function(uploaded) + { + this.uploaded = uploaded; + this._initUploaded(uploaded); + }, + _initUploaded: function(uploaded) + { + if (uploaded) + { + this.uploadData.style.display = "block"; + this.selectedFileStatus.className = "loadedIcon"; + this.selectedFile.innerHTML = this.selectedFileName || "uploaded data"; + this.resourceLocation.set("value", ""); + this.resourceLocation.setDisabled(true); + this.resourceLocation.set("required", false); + this.clearButton.setDisabled(false); + this.selectedFileStatus.className = "loadedIcon"; + } } } ); diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js index 5a42f12870..da37acec82 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js @@ -81,11 +81,11 @@ define(["dojo/_base/lang", show: function(effectiveData) { this.effectiveData = effectiveData; + this._destroyTypeFields(this.containerNode); this.storeForm.reset(); if (effectiveData) { - this._destroyTypeFields(this.containerNode); this._initFields(effectiveData); } this.storeName.set("disabled", effectiveData == null ? false : true); @@ -185,11 +185,6 @@ define(["dojo/_base/lang", { typeUI.show({containerNode:typeFieldsContainer, parent: that, data: that.initialData, effectiveData: that.effectiveData}); util.applyMetadataToWidgets(typeFieldsContainer, category, type); - if (that.effectiveData) - { - typeUI.update(that.effectiveData); - that.effectiveData = undefined; - } } catch(e) { diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filekeystore/add.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filekeystore/add.js index b4c45d8f99..dfe8e5059a 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filekeystore/add.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filekeystore/add.js @@ -18,30 +18,41 @@ * under the License. * */ -define(["dojo/dom","dojo/query", "dojo/_base/array", "dijit/registry","qpid/common/util", "qpid/common/metadata"], - function (dom, query, array, registry, util, metadata) +define(["dojo/dom", + "dojo/query", + "dojo/_base/array", + "dijit/registry", + "qpid/common/util", + "qpid/common/metadata", + "dojo/parser", + "dojo/text!store/filekeystore/add.html", + "dojo/domReady!"], + function (dom, query, array, registry, util, metadata, parser, template) { var addKeyStore = { - init: function() - { - }, show: function(data) { var that=this; - util.parseHtmlIntoDiv(data.containerNode, "store/filekeystore/add.html"); - this.containerNode = data.containerNode; + data.containerNode.innerHTML = template; + parser.parse(this.containerNode).then(function(instances) + { + that.keyStoreOldBrowserWarning = dom.byId("addStore.oldBrowserWarning"); - this.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", ""); + } - this.addButton = data.parent.addButton; + if (data.effectiveData) + { + that.update(data.effectiveData); + } - if (!window.FileReader) - { - this.keyStoreOldBrowserWarning.innerHTML = "File upload requires a more recent browser with HTML5 support"; - this.keyStoreOldBrowserWarning.className = this.keyStoreOldBrowserWarning.className.replace("hidden", ""); - } + util.applyMetadataToWidgets(data.containerNode, "KeyStore", "FileKeyStore"); + }); }, update: function(effectiveData) { @@ -53,28 +64,38 @@ define(["dojo/dom","dojo/query", "dojo/_base/array", "dijit/registry","qpid/comm if (name in attributes ) { var attribute = attributes[name]; - if (attribute.secure || attribute.oversize) - { - item.set("required", false); - item.set("placeHolder", effectiveData[name]); - } - else + var value = effectiveData[name]; + if (value) { - item.set("value", effectiveData[name]); + 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); + } } } }); } }; - try - { - addKeyStore.init(); - } - catch(e) - { - console.warn(e); - } return addKeyStore; } ); diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filetruststore/add.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filetruststore/add.js index e04ee1a835..5893ce0d2d 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filetruststore/add.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filetruststore/add.js @@ -18,31 +18,42 @@ * under the License. * */ -define(["dojo/dom","dojo/query", "dojo/_base/array", "dijit/registry","qpid/common/util", "qpid/common/metadata"], - function (dom, query, array, registry, util, metadata) +define(["dojo/dom", + "dojo/query", + "dojo/_base/array", + "dijit/registry", + "qpid/common/util", + "qpid/common/metadata", + "dojo/parser", + "dojo/text!store/filetruststore/add.html", + "dojo/domReady!"], + function (dom, query, array, registry, util, metadata, parser, template) { var addTrustStore = { - init: function() - { - }, show: function(data) { var that=this; - util.parseHtmlIntoDiv(data.containerNode, "store/filetruststore/add.html"); - this.containerNode = data.containerNode; + data.containerNode.innerHTML = template; + parser.parse(this.containerNode).then(function(instances) + { + that.keyStoreOldBrowserWarning = dom.byId("addStore.oldBrowserWarning"); - this.keyStoreOldBrowserWarning = dom.byId("addStore.oldBrowserWarning"); + if (!window.FileReader) + { + // Fall back for IE8/9 which do not support FileReader + that.keyStoreOldBrowserWarning.innerHTML = "File upload requires a more recent browser with HTML5 support"; + that.keyStoreOldBrowserWarning.className = that.keyStoreOldBrowserWarning.className.replace("hidden", ""); + } - this.addButton = data.parent.addButton; + if (data.effectiveData) + { + that.update(data.effectiveData); + } - if (!window.FileReader) - { - // Fall back for IE8/9 which do not support FileReader - this.keyStoreOldBrowserWarning.innerHTML = "File upload requires a more recent browser with HTML5 support"; - this.keyStoreOldBrowserWarning.className = this.keyStoreOldBrowserWarning.className.replace("hidden", ""); - } + util.applyMetadataToWidgets(data.containerNode, "TrustStore", "FileTrustStore"); + }); }, update: function(effectiveData) { @@ -54,14 +65,25 @@ define(["dojo/dom","dojo/query", "dojo/_base/array", "dijit/registry","qpid/comm if (name in attributes ) { var attribute = attributes[name]; - if (attribute.secure || attribute.oversize) - { - item.set("required", false); - item.set("placeHolder", effectiveData[name]); - } - else + var value = effectiveData[name]; + if (value) { - item.set("value", effectiveData[name]); + if (attribute.secure) + { + if (!/^\*+/.test(value) ) + { + item.set("value", value); + } + else + { + item.set("placeHolder", value); + item.set("required", false); + } + } + else + { + item.set("value", value); + } } } }); @@ -69,14 +91,6 @@ define(["dojo/dom","dojo/query", "dojo/_base/array", "dijit/registry","qpid/comm } }; - try - { - addTrustStore.init(); - } - catch(e) - { - console.warn(e); - } return addTrustStore; } ); diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavakeystore/add.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavakeystore/add.js index 0d74699d79..5c25ae2cc6 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavakeystore/add.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavakeystore/add.js @@ -18,64 +18,85 @@ * under the License. * */ -define(["dojo/dom","dojo/query", "dojo/_base/array", "dijit/registry","qpid/common/util", "qpid/common/metadata", "qpid/common/ResourceWidget"], - function (dom, query, array, registry, util, metadata) +define(["dojo/dom", + "dojo/query", + "dojo/_base/array", + "dijit/registry", + "qpid/common/util", + "qpid/common/metadata", + "dojo/parser", + "dojo/text!store/nonjavakeystore/add.html", + "qpid/common/ResourceWidget", + "dojo/domReady!"], + function (dom, query, array, registry, util, metadata, parser, template) { var addKeyStore = { - init: function() - { - }, show: function(data) { var that=this; - util.parseHtmlIntoDiv(data.containerNode, "store/nonjavakeystore/add.html"); - - this.keyStoreOldBrowserWarning = dom.byId("addStore.oldBrowserWarning"); - this.addButton = data.parent.addButton; this.containerNode = data.containerNode; - - if (!window.FileReader) + data.containerNode.innerHTML = template; + parser.parse(this.containerNode).then(function(instances) { - this.keyStoreOldBrowserWarning.innerHTML = "File upload requires a more recent browser with HTML5 support"; - this.keyStoreOldBrowserWarning.className = this.keyStoreOldBrowserWarning.className.replace("hidden", ""); - } + 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 (data.effectiveData) + { + that.update(data.effectiveData); + } + + util.applyMetadataToWidgets(data.containerNode, "KeyStore", "NonJavaKeyStore"); + }); }, update: function(effectiveData) { - if (effectiveData) - { - var attributes = metadata.getMetaData("KeyStore", "NonJavaKeyStore").attributes; - var widgets = registry.findWidgets(this.containerNode); - array.forEach(widgets, function(item) + var attributes = metadata.getMetaData("KeyStore", "NonJavaKeyStore").attributes; + var widgets = registry.findWidgets(this.containerNode); + array.forEach(widgets, function(item) + { + var name = item.id.replace("addStore.",""); + if (name in attributes ) { - var name = item.id.replace("addStore.",""); - if (name in attributes ) + var attribute = attributes[name]; + var value = effectiveData[name]; + if (value) { - var attribute = attributes[name]; - if (attribute.oversize || attribute.secure) + if (attribute.secure) { - item.set("required", false); - item.set("placeHolder", effectiveData[name]); + if (!/^\*+/.test(value) ) + { + item.set("value", value); + } + else + { + item.set("required", false); + if (name == "privateKeyUrl") + { + item.set("uploaded", true) + } + else + { + item.set("placeHolder", value); + } + } } else { - item.set("value", effectiveData[name]); + item.set("value", value); } } - }); - } + } + }); } }; - try - { - addKeyStore.init(); - } - catch(e) - { - console.warn(e); - } return addKeyStore; } ); diff --git a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavatruststore/add.js b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavatruststore/add.js index 53e3b43082..550c388910 100644 --- a/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavatruststore/add.js +++ b/qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavatruststore/add.js @@ -18,64 +18,77 @@ * under the License. * */ -define(["dojo/dom","dojo/query", "dojo/_base/array", "dijit/registry","qpid/common/util", "qpid/common/metadata"], - function (dom, query, array, registry, util, metadata) +define(["dojo/dom", + "dojo/query", + "dojo/_base/array", + "dijit/registry", + "qpid/common/util", + "qpid/common/metadata", + "dojo/parser", + "dojo/text!store/nonjavatruststore/add.html", + "dojo/domReady!"], + function (dom, query, array, registry, util, metadata, parser, template) { var addKeyStore = { - init: function() - { - }, show: function(data) { var that=this; - util.parseHtmlIntoDiv(data.containerNode, "store/nonjavatruststore/add.html"); - - this.keyStoreOldBrowserWarning = dom.byId("addStore.oldBrowserWarning"); - this.addButton = data.parent.addButton; this.containerNode = data.containerNode; - - if (!window.FileReader) + data.containerNode.innerHTML = template; + parser.parse(this.containerNode).then(function(instances) { - this.keyStoreOldBrowserWarning.innerHTML = "File upload requires a more recent browser with HTML5 support"; - this.keyStoreOldBrowserWarning.className = this.keyStoreOldBrowserWarning.className.replace("hidden", ""); - } + 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 (data.effectiveData) + { + that.update(data.effectiveData); + } + + util.applyMetadataToWidgets(data.containerNode, "TrustStore", "NonJavaTrustStore"); + }); }, update: function(effectiveData) { - if (effectiveData) - { - var attributes = metadata.getMetaData("TrustStore", "NonJavaTrustStore").attributes; - var widgets = registry.findWidgets(this.containerNode); - array.forEach(widgets, function(item) + var attributes = metadata.getMetaData("TrustStore", "NonJavaTrustStore").attributes; + var widgets = registry.findWidgets(this.containerNode); + array.forEach(widgets, function(item) + { + var name = item.id.replace("addStore.",""); + if (name in attributes ) { - var name = item.id.replace("addStore.",""); - if (name in attributes ) + var attribute = attributes[name]; + var value = effectiveData[name]; + if (value) { - var attribute = attributes[name]; - if (attribute.oversize || attribute.secure) + if (attribute.secure) { - item.set("required", false); - item.set("placeHolder", effectiveData[name]); + if (!/^\*+/.test(value) ) + { + item.set("value", value); + } + else + { + item.set("placeHolder", value); + item.set("required", false); + } } else { - item.set("value", effectiveData[name]); + item.set("value", value); } } - }); - } + } + }); } }; - try - { - addKeyStore.init(); - } - catch(e) - { - console.warn(e); - } return addKeyStore; } ); |