summaryrefslogtreecommitdiff
path: root/qpid/java/broker-plugins
diff options
context:
space:
mode:
authorAlex Rudyy <orudyy@apache.org>2015-02-17 14:37:53 +0000
committerAlex Rudyy <orudyy@apache.org>2015-02-17 14:37:53 +0000
commit9b0b08e1bf468b07e95637d51d53a0a5baf77f67 (patch)
tree6909443956b2ccfa20d2d3654bbeeb4b23527b15 /qpid/java/broker-plugins
parente15f00f8565cccda1e63869ca7c1a64d16af29ae (diff)
downloadqpid-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')
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/org/apache/qpid/server/management/plugin/servlet/rest/ConfiguredObjectToMapConverter.java2
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/common/ResourceWidget.js36
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addStore.js7
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filekeystore/add.js79
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/filetruststore/add.js74
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavakeystore/add.js93
-rw-r--r--qpid/java/broker-plugins/management-http/src/main/java/resources/js/qpid/management/store/nonjavatruststore/add.js85
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;
}
);