Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addLogger.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addLogger.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addLogger.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addLogger.js Fri Apr 29 11:04:40 2016 @@ -44,192 +44,234 @@ define(["dojo/_base/lang", "dijit/layout/ContentPane", "dojox/layout/TableContainer", "dojo/domReady!"], - function (lang, dom, construct, domStyle, registry, parser, memory, array, event, json, util, template) - { - var addLogger = - { - init: function() - { - var that=this; - this.containerNode = construct.create("div", {innerHTML: template}); - parser.parse(this.containerNode).then(function(instances) { that._postParse(); }); - }, - _postParse: function() - { - var that=this; - this.name = registry.byId("addLogger.name"); - this.name.set("regExpGen", util.nameOrContextVarRegexp); - - this.dialog = registry.byId("addLogger"); - this.addButton = registry.byId("addLogger.addButton"); - this.cancelButton = registry.byId("addLogger.cancelButton"); - this.cancelButton.on("click", function(e){that._cancel(e);}); - this.addButton.on("click", function(e){that._add(e);}); - - this.typeFieldsContainer = dom.byId("addLogger.typeFields"); - this.form = registry.byId("addLogger.form"); - this.form.on("submit", function(){return false;}); - - this.loggerType = registry.byId("addLogger.type"); - this.loggerType.on("change", function(type){that._typeChanged(type);}); - - this.durable = registry.byId("addLogger.durable"); - - this.categoryFieldsContainer = dom.byId("addLogger.categoryFields"); - this.allFieldsContainer = dom.byId("addLogger.contentPane"); - }, - show: function(management, modelObj, category, actualData) - { - this.management = management; - this.modelObj = modelObj; - this.category = category; - this.configured = false; - this._destroyTypeFields(this.typeFieldsContainer); - this._destroyTypeFields(this.categoryFieldsContainer); - this.form.reset(); - this.loggerType.set("store", util.makeTypeStoreFromMetadataByCategory(management.metadata, category)); - this.initialData = actualData; - this.isNew = !actualData; - this.name.set("disabled", !this.isNew); - this.loggerType.set("disabled", !this.isNew); - this.durable.set("disabled", !this.isNew); - this.dialog.set("title",this.isNew ? "Add Logger" : "Edit Logger - " + actualData.name); - - if (actualData) - { - this._configure(actualData.type); - } - - var brokerLoggerEditWarningNode = dom.byId("brokerLoggerEditWarning"); - var virtualHostlLoggerEditWarningNode = dom.byId("virtualHostlLoggerEditWarning"); - domStyle.set(brokerLoggerEditWarningNode, "display", !this.isNew && this.category == "BrokerLogger" ? "block" : "none"); - domStyle.set(virtualHostlLoggerEditWarningNode, "display", !this.isNew && this.category == "VirtualHostLogger" ? "block" : "none"); - - this._loadCategoryUserInterfacesAndShowDialog(actualData); - }, - hide: function() - { - this._destroyTypeFields(this.categoryFieldsContainer); - this._destroyTypeFields(this.typeFieldsContainer); - this.dialog.hide(); - }, - _cancel: function(e) - { - event.stop(e); - this.hide(); - }, - _add: function(e) - { - event.stop(e); - this._submit(); - }, - _submit: function() - { - if (this.form.validate()) - { - var excludedData = this.initialData || this.management.metadata.getDefaultValueForType(this.category, this.loggerType.get("value")); - var formData = util.getFormWidgetValues(this.form, excludedData); - var that = this; - if (this.isNew) - { - this.management.create(this.category, this.modelObj, formData).then(function(){that.hide();}); - } - else - { - this.management.update(this.modelObj, formData).then(function(){that.hide();}); - } - } - else - { - alert('Form contains invalid data. Please correct first'); - } - }, - _destroyTypeFields: function(typeFieldsContainer) - { - var widgets = registry.findWidgets(typeFieldsContainer); - array.forEach(widgets, function(item) { item.destroyRecursive();}); - construct.empty(typeFieldsContainer); - }, - _typeChanged: function(type) - { - this._destroyTypeFields(this.typeFieldsContainer); - - if (type) - { - this._configure(type); - var that = this; - require(["qpid/management/logger/" + this.category.toLowerCase() + "/" + type.toLowerCase() + "/add"], function(typeUI) - { - try - { - var promise = typeUI.show({ containerNode: that.typeFieldsContainer, - data: that.initialData, - metadata: that.management.metadata, - category: that.category, - type: type}); - if (promise) - { - promise.then( - function(instances) - { - util.applyToWidgets(that.typeFieldsContainer, that.category, type, that.initialData, that.management.metadata); - }); - } - } - catch(e) - { - console.warn(e); - } - }); - } - }, - _configure: function(type) - { - if (!this.configured) - { - var metadata = this.management.metadata; - util.applyToWidgets(this.allFieldsContainer, this.category, type, this.initialData, metadata); - this.configured = true; - } - }, - _loadCategoryUserInterfacesAndShowDialog : function(actualData) - { - var that = this; - var node = construct.create("div", {}, this.categoryFieldsContainer); - require(["qpid/management/logger/" + this.category.toLowerCase() + "/add"], function(categoryUI) - { - try - { - var promise = categoryUI.show({containerNode: node, data: actualData}); - if (actualData) - { - promise.then( - function(instances) - { - util.applyToWidgets(node, that.category, actualData.type, actualData, that.management.metadata); - that.dialog.show(); - }); - } - else - { - that.dialog.show(); - } - } - catch(e) - { - console.error(e); - } - }); - } - }; - - try - { - addLogger.init(); - } - catch(e) - { - console.warn(e); - } - return addLogger; - }); + function (lang, dom, construct, domStyle, registry, parser, memory, array, event, json, util, template) + { + var addLogger = { + init: function () + { + var that = this; + this.containerNode = construct.create("div", {innerHTML: template}); + parser.parse(this.containerNode).then(function (instances) + { + that._postParse(); + }); + }, + _postParse: function () + { + var that = this; + this.name = registry.byId("addLogger.name"); + this.name.set("regExpGen", util.nameOrContextVarRegexp); + + this.dialog = registry.byId("addLogger"); + this.addButton = registry.byId("addLogger.addButton"); + this.cancelButton = registry.byId("addLogger.cancelButton"); + this.cancelButton.on("click", function (e) + { + that._cancel(e); + }); + this.addButton.on("click", function (e) + { + that._add(e); + }); + + this.typeFieldsContainer = dom.byId("addLogger.typeFields"); + this.form = registry.byId("addLogger.form"); + this.form.on("submit", function () + { + return false; + }); + + this.loggerType = registry.byId("addLogger.type"); + this.loggerType.on("change", function (type) + { + that._typeChanged(type); + }); + + this.durable = registry.byId("addLogger.durable"); + + this.categoryFieldsContainer = dom.byId("addLogger.categoryFields"); + this.allFieldsContainer = dom.byId("addLogger.contentPane"); + }, + show: function (management, modelObj, category, actualData) + { + this.management = management; + this.modelObj = modelObj; + this.category = category; + this.configured = false; + this._destroyTypeFields(this.typeFieldsContainer); + this._destroyTypeFields(this.categoryFieldsContainer); + this.form.reset(); + this.loggerType.set("store", + util.makeTypeStoreFromMetadataByCategory(management.metadata, category)); + this.initialData = actualData; + this.isNew = !actualData; + this.name.set("disabled", !this.isNew); + this.loggerType.set("disabled", !this.isNew); + this.durable.set("disabled", !this.isNew); + this.dialog.set("title", this.isNew ? "Add Logger" : "Edit Logger - " + actualData.name); + + if (actualData) + { + this._configure(actualData.type); + } + + var brokerLoggerEditWarningNode = dom.byId("brokerLoggerEditWarning"); + var virtualHostlLoggerEditWarningNode = dom.byId("virtualHostlLoggerEditWarning"); + domStyle.set(brokerLoggerEditWarningNode, + "display", + !this.isNew && this.category == "BrokerLogger" ? "block" : "none"); + domStyle.set(virtualHostlLoggerEditWarningNode, + "display", + !this.isNew && this.category == "VirtualHostLogger" ? "block" : "none"); + + this._loadCategoryUserInterfacesAndShowDialog(actualData); + }, + hide: function () + { + this._destroyTypeFields(this.categoryFieldsContainer); + this._destroyTypeFields(this.typeFieldsContainer); + this.dialog.hide(); + }, + _cancel: function (e) + { + event.stop(e); + this.hide(); + }, + _add: function (e) + { + event.stop(e); + this._submit(); + }, + _submit: function () + { + if (this.form.validate()) + { + var excludedData = this.initialData + || this.management.metadata.getDefaultValueForType(this.category, + this.loggerType.get("value")); + var formData = util.getFormWidgetValues(this.form, excludedData); + var that = this; + if (this.isNew) + { + this.management.create(this.category, this.modelObj, formData).then(function () + { + that.hide(); + }); + } + else + { + this.management.update(this.modelObj, formData).then(function () + { + that.hide(); + }); + } + } + else + { + alert('Form contains invalid data. Please correct first'); + } + }, + _destroyTypeFields: function (typeFieldsContainer) + { + var widgets = registry.findWidgets(typeFieldsContainer); + array.forEach(widgets, function (item) + { + item.destroyRecursive(); + }); + construct.empty(typeFieldsContainer); + }, + _typeChanged: function (type) + { + this._destroyTypeFields(this.typeFieldsContainer); + + if (type) + { + this._configure(type); + var that = this; + require(["qpid/management/logger/" + this.category.toLowerCase() + "/" + type.toLowerCase() + + "/add"], function (typeUI) + { + try + { + var promise = typeUI.show({ + containerNode: that.typeFieldsContainer, + data: that.initialData, + metadata: that.management.metadata, + category: that.category, + type: type + }); + if (promise) + { + promise.then(function (instances) + { + util.applyToWidgets(that.typeFieldsContainer, + that.category, + type, + that.initialData, + that.management.metadata); + }); + } + } + catch (e) + { + console.warn(e); + } + }); + } + }, + _configure: function (type) + { + if (!this.configured) + { + var metadata = this.management.metadata; + util.applyToWidgets(this.allFieldsContainer, this.category, type, this.initialData, metadata); + this.configured = true; + } + }, + _loadCategoryUserInterfacesAndShowDialog: function (actualData) + { + var that = this; + var node = construct.create("div", {}, this.categoryFieldsContainer); + require(["qpid/management/logger/" + this.category.toLowerCase() + "/add"], function (categoryUI) + { + try + { + var promise = categoryUI.show({ + containerNode: node, + data: actualData + }); + if (actualData) + { + promise.then(function (instances) + { + util.applyToWidgets(node, + that.category, + actualData.type, + actualData, + that.management.metadata); + that.dialog.show(); + }); + } + else + { + that.dialog.show(); + } + } + catch (e) + { + console.error(e); + } + }); + } + }; + + try + { + addLogger.init(); + } + catch (e) + { + console.warn(e); + } + return addLogger; + });
Modified: qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js URL: http://svn.apache.org/viewvc/qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js?rev=1741609&r1=1741608&r2=1741609&view=diff ============================================================================== --- qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js (original) +++ qpid/java/trunk/broker-plugins/management-http/src/main/java/resources/js/qpid/management/addPort.js Fri Apr 29 11:04:40 2016 @@ -32,10 +32,10 @@ define(["dojo/dom", "dojo/_base/lang", "qpid/common/util", "dojo/text!addPort.html", - /* dojox/ validate resources */ + /* dojox/ validate resources */ "dojox/validate/us", "dojox/validate/web", - /* basic dijit classes */ + /* basic dijit classes */ "dijit/Dialog", "dijit/form/CheckBox", "dijit/form/Textarea", @@ -50,537 +50,658 @@ define(["dojo/dom", "dijit/form/MultiSelect", "dijit/form/Select", "dijit/form/NumberSpinner", - /* basic dojox classes */ + /* basic dojox classes */ "dojox/grid/EnhancedGrid", "dojox/grid/enhanced/plugins/IndirectSelection", "qpid/common/ContextVariablesEditor", "dojo/domReady!"], - function (dom, construct, win, registry, array, event, json, Memory, ObjectStore, FilteringSelect, domStyle, lang, util, template) { + function (dom, construct, win, registry, array, event, json, Memory, ObjectStore, FilteringSelect, domStyle, lang, util, template) + { - var addPort = {}; + var addPort = {}; - var node = construct.create("div", null, win.body(), "last"); + var node = construct.create("div", null, win.body(), "last"); - node.innerHTML = template; - addPort.dialogNode = dom.byId("addPort") + node.innerHTML = template; + addPort.dialogNode = dom.byId("addPort") - addPort._typeChanged = function (newValue) - { - var meta = addPort.management.metadata; - var typeMetaData = meta.getMetaData("Port", newValue); - - //protocols - var protocolsMultiSelect = dom.byId("formAddPort.protocols"); - var protocolValidValues = typeMetaData.attributes.protocols.validValues; - var protocolValues = meta.extractUniqueListOfValues(protocolValidValues); - util.setMultiSelectOptions(protocolsMultiSelect, protocolValues.sort()); - - //authenticationProvider - registry.byId("formAddPort.authenticationProvider").set("disabled", ! ("authenticationProvider" in typeMetaData.attributes)); - dom.byId("formAddPort:fieldsAuthenticationProvider").style.display = "authenticationProvider" in typeMetaData.attributes ? "block" : "none"; - - //bindingAddress - registry.byId("formAddPort.bindingAddress").set("disabled", ! ("bindingAddress" in typeMetaData.attributes)); - dom.byId("formAddPort:fieldsBindingAddress").style.display = "bindingAddress" in typeMetaData.attributes ? "block" : "none"; - - //maxOpenConnections - registry.byId("formAddPort.maxOpenConnections").set("disabled", ! ("maxOpenConnections" in typeMetaData.attributes)); - dom.byId("formAddPort:maxOpenConnections").style.display = "maxOpenConnections" in typeMetaData.attributes ? "block" : "none"; - - //threadPoolSettings - var hasThreadPoolMinMaxSettings = "threadPoolMinimum" in typeMetaData.attributes; - dom.byId("formAddPort:threadPoolMinMaxSettings").style.display = hasThreadPoolMinMaxSettings ? "block" : "none"; - registry.byId("formAddPort.threadPoolMinimum").set("disabled", !hasThreadPoolMinMaxSettings); - registry.byId("formAddPort.threadPoolMaximum").set("disabled", !hasThreadPoolMinMaxSettings); - - //threadPoolSettings - var hasThreadPoolSizeSettings = "threadPoolSize" in typeMetaData.attributes; - dom.byId("formAddPort:threadPoolSizeSettings").style.display = hasThreadPoolSizeSettings ? "block" : "none"; - registry.byId("formAddPort.threadPoolSize").set("disabled", !hasThreadPoolSizeSettings); - - //transports - var transportsMultiSelect = dom.byId("formAddPort.transports"); - var transportsValidValues = typeMetaData.attributes.transports.validValues; - var transportsValues = meta.extractUniqueListOfValues(transportsValidValues); - util.setMultiSelectOptions(transportsMultiSelect, transportsValues.sort()); - - addPort._toggleSslWidgets(newValue, transportsMultiSelect.value); - - util.applyMetadataToWidgets(registry.byId("addPort").domNode, "Port", newValue, meta); - }; - - addPort._isSecure = function(currentTransport) - { - return currentTransport == "SSL" || (lang.isArray(currentTransport) && array.indexOf(currentTransport, "SSL")>=0) - || currentTransport == "WSS" || (lang.isArray(currentTransport) && array.indexOf(currentTransport, "WSS")>=0); - } - - addPort._convertToPort = function(formValues) - { - var newPort = {}; - newPort.name = dijit.byId("formAddPort.name").value; - var id = dojo.byId("formAddPort.id").value; - if (id) - { - newPort.id = id; - } - for(var propName in formValues) - { - if(formValues.hasOwnProperty(propName) && formValues[propName]) - { - if (propName == "needClientAuth" || propName == "wantClientAuth") - { - continue; - } - else if (propName === "protocols") - { - var val = formValues[propName]; - - if(val === "" || (lang.isArray(val) && val.length == 0) ) - { - continue; - } - - if (!lang.isArray(val)) - { - val = [ val ]; - } - newPort[ propName ] = val; - } - else if (propName === "transports") - { - var val = formValues[propName]; - - if(val === "" || (lang.isArray(val) && val.length == 0) ) - { - continue; - } - - if (!lang.isArray(val)) - { - val = [ val ]; - } - newPort[ propName ] = val; - } - else if (propName === "context") - { - var context = this.context.get("value"); - if (context && (!this.initialData || !util.equals(context, this.initialData.context))) - { - newPort["context"] = context; - } - } - else if(formValues[ propName ] !== "") - { - newPort[ propName ] = formValues[propName]; - } - - } - } - - var type = dijit.byId("formAddPort.type").value; - if (type == "AMQP" || type == "HTTP") - { - var transportWidget = registry.byId("formAddPort.transports"); - var needClientAuth = dijit.byId("formAddPort.needClientAuth"); - var wantClientAuth = dijit.byId("formAddPort.wantClientAuth"); - var trustStoreWidget = dijit.byId("formAddPort.trustStores"); - - var initialTransport = transportWidget.initialValue; - var currentTransport = transportWidget.value; - if (addPort._isSecure(currentTransport)) - { - newPort.needClientAuth = needClientAuth.checked; - newPort.wantClientAuth = wantClientAuth.checked - - var items = trustStoreWidget.selection.getSelected(); - var trustStores = []; - if(items.length > 0){ - for(var i in items) - { - var item = items[i]; - trustStores.push(trustStoreWidget.store.getValue(item, "name")); - } - newPort.trustStores = trustStores; - } - else if (trustStoreWidget.initialValue && trustStoreWidget.initialValue.length > 0) - { - newPort.trustStores = null; - } - - var clientCertRecorder = registry.byId("formAddPort.managedCertificateStores") - newPort.clientCertRecorder = clientCertRecorder.value ? clientCertRecorder.value : null; - } - else if (initialTransport && currentTransport != initialTransport) - { - newPort.needClientAuth = false; - newPort.wantClientAuth = false; - newPort.trustStores = null; - newPort.clientCertRecorder = null; - } - } - - return newPort; - }; - - addPort._toggleSslWidgets = function(portType, transportType) - { - var clientAuthPanel = dojo.byId("formAddPort:fieldsClientAuth"); - var transportSSLPanelNode = dom.byId("formAddPort:fieldsTransportSSL"); - var managedCertificateStoresNode = dom.byId("formAddPort:fieldsManagedCertificateStores"); - var managedCertificateStoreWidget = registry.byId("formAddPort.managedCertificateStores"); - if (addPort._isSecure(transportType)) - { - var metadata = addPort.management.metadata; - var typeMetaData = metadata.getMetaData("Port", portType); - var clientAuth = "needClientAuth" in typeMetaData.attributes || "wantClientAuth" in typeMetaData.attributes; - clientAuthPanel.style.display = clientAuth ? "block" : "none"; - if (clientAuth) - { - registry.byId("formAddPort.needClientAuth").set("disabled", !("needClientAuth" in typeMetaData.attributes)); - registry.byId("formAddPort.wantClientAuth").set("disabled", !("wantClientAuth" in typeMetaData.attributes)); - registry.byId("formAddPort.trustStores").resize(); - } - managedCertificateStoresNode.style.display = "block"; - managedCertificateStoreWidget.set("disabled", false); - - transportSSLPanelNode.style.display = "block"; - registry.byId("formAddPort.keyStore").set("disabled", false); - } - else - { - clientAuthPanel.style.display = "none"; - registry.byId("formAddPort.needClientAuth").set("disabled", true); - registry.byId("formAddPort.wantClientAuth").set("disabled", true); - - transportSSLPanelNode.style.display = "none"; - registry.byId("formAddPort.keyStore").set("disabled", true); - managedCertificateStoresNode.style.display = "none"; - managedCertificateStoreWidget.set("disabled", true); - } - - }; - - addPort._prepareForm = function(metadata) - { - this.context = dijit.byId("formAddPort.context"); - - //add the port types to formAddPort.type - var portTypeSelect = registry.byId("formAddPort.type"); - var supportedPortTypes = metadata.getTypesForCategory("Port"); - var portTypeSelectStore = util.makeTypeStore(supportedPortTypes); - portTypeSelect.set("store", portTypeSelectStore); - - //add handler for transports change - registry.byId("formAddPort.transports").on("change", function (newValue) - { - var portType = portTypeSelect.get("value"); - addPort._toggleSslWidgets(portType, newValue); - }); - - var that = this; - var theForm = registry.byId("formAddPort"); - theForm.on("submit", function (e) - { - - event.stop(e); - if (theForm.validate()) - { - - var newPort = addPort._convertToPort(theForm.getValues()); - if ((newPort.needClientAuth || newPort.wantClientAuth) && (!newPort.hasOwnProperty("trustStores") || newPort.trustStores.length == 0)) - { - alert("A trust store must be selected when requesting client certificates."); - return false; - } - if (registry.byId("formAddPort.name").get("disabled")) - { - // update request - addPort.management.update(addPort.modelObj,newPort).then(function(x){registry.byId("addPort").hide()}); - } - else - { - addPort.management.create("port", addPort.modelObj, newPort).then(function(x){registry.byId("addPort").hide()}); - } - return false; - } else - { - alert('Form contains invalid data. Please correct first'); - return false; - } - - }); - } - - addPort.show = function(management, modelObj, portType, providers, keystores, truststores) - { - addPort.management = management; - addPort.modelObj = modelObj; - var metadata = management.metadata; - if (!this.formPrepared) - { - this._prepareForm(metadata); - this.formPrepared = true; - } - - registry.byId("formAddPort").reset(); - dojo.byId("formAddPort.id").value = ""; - - var nameWidget = registry.byId("formAddPort.name"); - var typeWidget = registry.byId("formAddPort.type"); - var portWidget = registry.byId("formAddPort.port"); - var maxOpenConnectionsWidget = registry.byId("formAddPort.maxOpenConnections"); - var editWarning = dojo.byId("portEditWarning"); - - var providerWidget = registry.byId("formAddPort.authenticationProvider"); - if (providers) - { - var data = []; - for (var i=0; i< providers.length; i++) - { - data.push( {id: providers[i].name, name: providers[i].name} ); - } - var providersStore = new Memory({ data: data }); - providerWidget.set("store", providersStore); - providerWidget.startup(); - } - - var keystoreWidget = registry.byId("formAddPort.keyStore"); - if (keystores) - { - var data = []; - for (var i=0; i< keystores.length; i++) - { - data.push( {id: keystores[i].name, name: keystores[i].name} ); - } - var keystoresStore = new Memory({ data: data }); - keystoreWidget.set("store", keystoresStore); - keystoreWidget.startup(); - } - - var managedCertificateStoreWidget = registry.byId("formAddPort.managedCertificateStores"); - this._initClientCertRecorders(truststores); - - var truststoreWidget = registry.byId("formAddPort.trustStores"); - if (truststores) - { - var layout = [[{name: "Name", field: "name", width: "80%"}, - {name: "Peers only", field: "peersOnly", width: "20%", - formatter: function(val){ - return "<input type='radio' disabled='disabled' "+(val?"checked='checked'": "")+" />" - } - }]]; - - var mem = new Memory({ data: truststores, idProperty: "id"}); - truststoreWidget.set("store", new ObjectStore({objectStore: mem})); - truststoreWidget.set("structure", layout); - truststoreWidget.rowSelectCell.toggleAllSelection(false); - truststoreWidget.startup(); - } - - // Editing existing port, de-register existing on change handler if set - if (this.typeChangeHandler) - { - this.typeChangeHandler.remove(); - } - - if (modelObj.type == "port") - { - editWarning.style.display = "block"; - - management.load(modelObj, { actuals: true }).then( - function(data){ - var port = data[0]; - nameWidget.set("value", port.name); - nameWidget.set("disabled", true); - - dom.byId("formAddPort.id").value=port.id; - - //type - typeWidget.set("value", portType); - typeWidget.set("disabled", true); - var typeMetaData = metadata.getMetaData("Port", portType); - - //port number - portWidget.set("value", port.port); - portWidget.set("regExpGen", util.numericOrContextVarRegexp); - - //protocols - var protocolsMultiSelect = dom.byId("formAddPort.protocols"); - var protocolValidValues = typeMetaData.attributes.protocols.validValues; - var protocolValues = metadata.extractUniqueListOfValues(protocolValidValues); - util.setMultiSelectOptions(protocolsMultiSelect, protocolValues.sort()); - - var protocolsMultiSelectWidget = registry.byId("formAddPort.protocols"); - protocolsMultiSelectWidget.set("value", port.protocols); - - //authenticationProvider - providerWidget.set("value", port.authenticationProvider ? port.authenticationProvider : ""); - providerWidget.set("disabled", ! ("authenticationProvider" in typeMetaData.attributes)); - dom.byId("formAddPort:fieldsAuthenticationProvider").style.display = "authenticationProvider" in typeMetaData.attributes ? "block" : "none"; - - //transports - var transportsMultiSelect = dom.byId("formAddPort.transports"); - var transportsValidValues = typeMetaData.attributes.transports.validValues; - var transportsValues = metadata.extractUniqueListOfValues(transportsValidValues); - util.setMultiSelectOptions(transportsMultiSelect, transportsValues.sort()); - var transportWidget = registry.byId("formAddPort.transports"); - transportWidget.set("value", port.transports); - - //binding address - var bindAddressWidget = registry.byId("formAddPort.bindingAddress"); - bindAddressWidget.set("value", port.bindingAddress ? port.bindingAddress : ""); - bindAddressWidget.set("disabled", ! ("bindingAddress" in typeMetaData.attributes)); - dom.byId("formAddPort:fieldsBindingAddress").style.display = "bindingAddress" in typeMetaData.attributes ? "block" : "none"; - - //maxOpenConnections - var maxOpenConnectionsWidget = registry.byId("formAddPort.maxOpenConnections"); - maxOpenConnectionsWidget.set("regExpGen", util.signedOrContextVarRegexp); - maxOpenConnectionsWidget.set("value", port.maxOpenConnections ? port.maxOpenConnections : ""); - maxOpenConnectionsWidget.set("disabled", ! ("maxOpenConnections" in typeMetaData.attributes)); - dom.byId("formAddPort:maxOpenConnections").style.display = "maxOpenConnections" in typeMetaData.attributes ? "block" : "none"; - - //ssl - keystoreWidget.set("value", port.keyStore ? port.keyStore : ""); - if (port.trustStores) - { - var items = truststoreWidget.store.objectStore.data; - for (var j=0; j< items.length; j++) - { - var selected = false; - for (var i=0; i< port.trustStores.length; i++) + addPort._typeChanged = function (newValue) + { + var meta = addPort.management.metadata; + var typeMetaData = meta.getMetaData("Port", newValue); + + //protocols + var protocolsMultiSelect = dom.byId("formAddPort.protocols"); + var protocolValidValues = typeMetaData.attributes.protocols.validValues; + var protocolValues = meta.extractUniqueListOfValues(protocolValidValues); + util.setMultiSelectOptions(protocolsMultiSelect, protocolValues.sort()); + + //authenticationProvider + registry.byId("formAddPort.authenticationProvider") + .set("disabled", !("authenticationProvider" in typeMetaData.attributes)); + dom.byId("formAddPort:fieldsAuthenticationProvider").style.display = + "authenticationProvider" in typeMetaData.attributes ? "block" : "none"; + + //bindingAddress + registry.byId("formAddPort.bindingAddress") + .set("disabled", !("bindingAddress" in typeMetaData.attributes)); + dom.byId("formAddPort:fieldsBindingAddress").style.display = + "bindingAddress" in typeMetaData.attributes ? "block" : "none"; + + //maxOpenConnections + registry.byId("formAddPort.maxOpenConnections") + .set("disabled", !("maxOpenConnections" in typeMetaData.attributes)); + dom.byId("formAddPort:maxOpenConnections").style.display = + "maxOpenConnections" in typeMetaData.attributes ? "block" : "none"; + + //threadPoolSettings + var hasThreadPoolMinMaxSettings = "threadPoolMinimum" in typeMetaData.attributes; + dom.byId("formAddPort:threadPoolMinMaxSettings").style.display = + hasThreadPoolMinMaxSettings ? "block" : "none"; + registry.byId("formAddPort.threadPoolMinimum").set("disabled", !hasThreadPoolMinMaxSettings); + registry.byId("formAddPort.threadPoolMaximum").set("disabled", !hasThreadPoolMinMaxSettings); + + //threadPoolSettings + var hasThreadPoolSizeSettings = "threadPoolSize" in typeMetaData.attributes; + dom.byId("formAddPort:threadPoolSizeSettings").style.display = + hasThreadPoolSizeSettings ? "block" : "none"; + registry.byId("formAddPort.threadPoolSize").set("disabled", !hasThreadPoolSizeSettings); + + //transports + var transportsMultiSelect = dom.byId("formAddPort.transports"); + var transportsValidValues = typeMetaData.attributes.transports.validValues; + var transportsValues = meta.extractUniqueListOfValues(transportsValidValues); + util.setMultiSelectOptions(transportsMultiSelect, transportsValues.sort()); + + addPort._toggleSslWidgets(newValue, transportsMultiSelect.value); + + util.applyMetadataToWidgets(registry.byId("addPort").domNode, "Port", newValue, meta); + }; + + addPort._isSecure = function (currentTransport) + { + return currentTransport == "SSL" || (lang.isArray(currentTransport) && array.indexOf(currentTransport, + "SSL") >= 0) + || currentTransport == "WSS" || (lang.isArray(currentTransport) && array.indexOf(currentTransport, + "WSS") >= 0); + } + + addPort._convertToPort = function (formValues) + { + var newPort = {}; + newPort.name = dijit.byId("formAddPort.name").value; + var id = dojo.byId("formAddPort.id").value; + if (id) + { + newPort.id = id; + } + for (var propName in formValues) + { + if (formValues.hasOwnProperty(propName) && formValues[propName]) + { + if (propName == "needClientAuth" || propName == "wantClientAuth") + { + continue; + } + else if (propName === "protocols") + { + var val = formValues[propName]; + + if (val === "" || (lang.isArray(val) && val.length == 0)) { - var trustStore = port.trustStores[i]; - if (items[j].name == trustStore) - { - selected = true; - break; - } + continue; } - truststoreWidget.selection.setSelected(j,selected); - } + + if (!lang.isArray(val)) + { + val = [val]; + } + newPort[propName] = val; } + else if (propName === "transports") + { + var val = formValues[propName]; - // want/need client auth - registry.byId("formAddPort.needClientAuth").set("checked", port.needClientAuth); - registry.byId("formAddPort.wantClientAuth").set("checked", port.wantClientAuth); - - //threadPoolMinMaxSettings - var hasThreadPoolMinMaxSettings = "threadPoolMinimum" in typeMetaData.attributes; - function initThreadPoolSettingWidget(name, disabled) - { - var widget = registry.byId("formAddPort." + name); - widget.set("regExpGen", util.signedOrContextVarRegexp); - widget.set("value", port[name] ? port[name] : ""); - widget.set("disabled", disabled); - } - initThreadPoolSettingWidget("threadPoolMaximum", !hasThreadPoolMinMaxSettings); - initThreadPoolSettingWidget("threadPoolMinimum", !hasThreadPoolMinMaxSettings); - dom.byId("formAddPort:threadPoolMinMaxSettings").style.display = hasThreadPoolMinMaxSettings ? "block" : "none"; - - //threadPoolSizeSettings - var hasThreadPoolSizeSettings = "threadPoolSize" in typeMetaData.attributes; - initThreadPoolSettingWidget("threadPoolSize", !hasThreadPoolSizeSettings); - dom.byId("formAddPort:threadPoolSizeSettings").style.display = hasThreadPoolSizeSettings ? "block" : "none"; - - keystoreWidget.initialValue = port.keyStore; - truststoreWidget.initialValue = port.trustStores; - transportWidget.initialValue = transportWidget.value; - providerWidget.initialValue = providerWidget.value; - maxOpenConnectionsWidget.initialValue = maxOpenConnectionsWidget.value; - - managedCertificateStoreWidget.set("value", port.clientCertRecorder); - managedCertificateStoreWidget.initialValue = port.clientCertRecorder; - - util.applyMetadataToWidgets(registry.byId("addPort").domNode, "Port", portType, management.metadata); - - addPort._initContextEditorAndShowDialog(port); - - }, util.xhrErrorHandler); - } - else - { - // Adding new port, register the on change handler - this.typeChangeHandler = typeWidget.on("change", addPort._typeChanged); - - if (typeWidget.get("disabled")) - { - typeWidget.set("disabled", false); - } - typeWidget.set("value", portType); - - nameWidget.set("disabled", false); - nameWidget.set("regExpGen", util.nameOrContextVarRegexp); - portWidget.set("regExpGen", util.numericOrContextVarRegexp); - maxOpenConnectionsWidget.set("regExpGen", util.signedOrContextVarRegexp); - - editWarning.style.display = "none"; - util.applyMetadataToWidgets(registry.byId("addPort").domNode, "Port", portType, management.metadata); - - managedCertificateStoreWidget.set("value", undefined); - managedCertificateStoreWidget.initialValue = undefined; - - this._initContextEditorAndShowDialog(); - } - }; - - addPort._initContextEditorAndShowDialog = function(actualData) - { - this.initialData = actualData; - if (actualData) + if (val === "" || (lang.isArray(val) && val.length == 0)) + { + continue; + } + + if (!lang.isArray(val)) + { + val = [val]; + } + newPort[propName] = val; + } + else if (propName === "context") + { + var context = this.context.get("value"); + if (context && (!this.initialData || !util.equals(context, this.initialData.context))) + { + newPort["context"] = context; + } + } + else if (formValues[propName] !== "") + { + newPort[propName] = formValues[propName]; + } + + } + } + + var type = dijit.byId("formAddPort.type").value; + if (type == "AMQP" || type == "HTTP") + { + var transportWidget = registry.byId("formAddPort.transports"); + var needClientAuth = dijit.byId("formAddPort.needClientAuth"); + var wantClientAuth = dijit.byId("formAddPort.wantClientAuth"); + var trustStoreWidget = dijit.byId("formAddPort.trustStores"); + + var initialTransport = transportWidget.initialValue; + var currentTransport = transportWidget.value; + if (addPort._isSecure(currentTransport)) + { + newPort.needClientAuth = needClientAuth.checked; + newPort.wantClientAuth = wantClientAuth.checked + + var items = trustStoreWidget.selection.getSelected(); + var trustStores = []; + if (items.length > 0) + { + for (var i in items) + { + var item = items[i]; + trustStores.push(trustStoreWidget.store.getValue(item, "name")); + } + newPort.trustStores = trustStores; + } + else if (trustStoreWidget.initialValue && trustStoreWidget.initialValue.length > 0) + { + newPort.trustStores = null; + } + + var clientCertRecorder = registry.byId("formAddPort.managedCertificateStores") + newPort.clientCertRecorder = clientCertRecorder.value ? clientCertRecorder.value : null; + } + else if (initialTransport && currentTransport != initialTransport) + { + newPort.needClientAuth = false; + newPort.wantClientAuth = false; + newPort.trustStores = null; + newPort.clientCertRecorder = null; + } + } + + return newPort; + }; + + addPort._toggleSslWidgets = function (portType, transportType) { - var modelObj = this.modelObj; - this.management.load(modelObj ).then( function(effectiveData) - { - util.setContextData(addPort.context, - addPort.management, - modelObj, - actualData, - effectiveData[0], - addPort._showDialog); - }); - } - else + var clientAuthPanel = dojo.byId("formAddPort:fieldsClientAuth"); + var transportSSLPanelNode = dom.byId("formAddPort:fieldsTransportSSL"); + var managedCertificateStoresNode = dom.byId("formAddPort:fieldsManagedCertificateStores"); + var managedCertificateStoreWidget = registry.byId("formAddPort.managedCertificateStores"); + if (addPort._isSecure(transportType)) + { + var metadata = addPort.management.metadata; + var typeMetaData = metadata.getMetaData("Port", portType); + var clientAuth = "needClientAuth" in typeMetaData.attributes || "wantClientAuth" + in typeMetaData.attributes; + clientAuthPanel.style.display = clientAuth ? "block" : "none"; + if (clientAuth) + { + registry.byId("formAddPort.needClientAuth") + .set("disabled", !("needClientAuth" in typeMetaData.attributes)); + registry.byId("formAddPort.wantClientAuth") + .set("disabled", !("wantClientAuth" in typeMetaData.attributes)); + registry.byId("formAddPort.trustStores").resize(); + } + managedCertificateStoresNode.style.display = "block"; + managedCertificateStoreWidget.set("disabled", false); + + transportSSLPanelNode.style.display = "block"; + registry.byId("formAddPort.keyStore").set("disabled", false); + } + else + { + clientAuthPanel.style.display = "none"; + registry.byId("formAddPort.needClientAuth").set("disabled", true); + registry.byId("formAddPort.wantClientAuth").set("disabled", true); + + transportSSLPanelNode.style.display = "none"; + registry.byId("formAddPort.keyStore").set("disabled", true); + managedCertificateStoresNode.style.display = "none"; + managedCertificateStoreWidget.set("disabled", true); + } + + }; + + addPort._prepareForm = function (metadata) { - util.setToBrokerEffectiveContext(addPort.context, addPort.management, addPort._showDialog); + this.context = dijit.byId("formAddPort.context"); + + //add the port types to formAddPort.type + var portTypeSelect = registry.byId("formAddPort.type"); + var supportedPortTypes = metadata.getTypesForCategory("Port"); + var portTypeSelectStore = util.makeTypeStore(supportedPortTypes); + portTypeSelect.set("store", portTypeSelectStore); + + //add handler for transports change + registry.byId("formAddPort.transports").on("change", function (newValue) + { + var portType = portTypeSelect.get("value"); + addPort._toggleSslWidgets(portType, newValue); + }); + + var that = this; + var theForm = registry.byId("formAddPort"); + theForm.on("submit", function (e) + { + + event.stop(e); + if (theForm.validate()) + { + + var newPort = addPort._convertToPort(theForm.getValues()); + if ((newPort.needClientAuth || newPort.wantClientAuth) && (!newPort.hasOwnProperty("trustStores") + || newPort.trustStores.length == 0)) + { + alert("A trust store must be selected when requesting client certificates."); + return false; + } + if (registry.byId("formAddPort.name").get("disabled")) + { + // update request + addPort.management.update(addPort.modelObj, newPort).then(function (x) + { + registry.byId("addPort").hide() + }); + } + else + { + addPort.management.create("port", addPort.modelObj, newPort).then(function (x) + { + registry.byId("addPort") + .hide() + }); + } + return false; + } + else + { + alert('Form contains invalid data. Please correct first'); + return false; + } + + }); } - }; - addPort._showDialog = function() - { - var dialog = registry.byId("addPort"); - dialog.show(); - }; - - addPort._getManagedPeerCertificateTrustStore = function(truststores) - { - var managedPeerCertificateTrustStore = []; - if (truststores) - { - for(var i=0;i<truststores.length;i++) - { - if (truststores[i].type == "ManagedCertificateStore") - { - managedPeerCertificateTrustStore.push(truststores[i]); - } - } - } - return managedPeerCertificateTrustStore; - }; - - addPort._initClientCertRecorders = function(truststores) - { - var managedPeerCertificateTrustStores = this._getManagedPeerCertificateTrustStore(truststores); - var data = [{id:undefined, name: "None"}]; - for(var i=0;i<managedPeerCertificateTrustStores.length;i++) - { - data.push({id:managedPeerCertificateTrustStores[i].name, name: managedPeerCertificateTrustStores[i].name}); - } - var store = new Memory({ data: data, idProperty: "id"}); - var managedCertificateStoresWidget = registry.byId("formAddPort.managedCertificateStores"); - managedCertificateStoresWidget.set("store", store); - managedCertificateStoresWidget.startup(); - }; + addPort.show = function (management, modelObj, portType, providers, keystores, truststores) + { + addPort.management = management; + addPort.modelObj = modelObj; + var metadata = management.metadata; + if (!this.formPrepared) + { + this._prepareForm(metadata); + this.formPrepared = true; + } + + registry.byId("formAddPort").reset(); + dojo.byId("formAddPort.id").value = ""; + + var nameWidget = registry.byId("formAddPort.name"); + var typeWidget = registry.byId("formAddPort.type"); + var portWidget = registry.byId("formAddPort.port"); + var maxOpenConnectionsWidget = registry.byId("formAddPort.maxOpenConnections"); + var editWarning = dojo.byId("portEditWarning"); + + var providerWidget = registry.byId("formAddPort.authenticationProvider"); + if (providers) + { + var data = []; + for (var i = 0; i < providers.length; i++) + { + data.push({ + id: providers[i].name, + name: providers[i].name + }); + } + var providersStore = new Memory({data: data}); + providerWidget.set("store", providersStore); + providerWidget.startup(); + } + + var keystoreWidget = registry.byId("formAddPort.keyStore"); + if (keystores) + { + var data = []; + for (var i = 0; i < keystores.length; i++) + { + data.push({ + id: keystores[i].name, + name: keystores[i].name + }); + } + var keystoresStore = new Memory({data: data}); + keystoreWidget.set("store", keystoresStore); + keystoreWidget.startup(); + } + + var managedCertificateStoreWidget = registry.byId("formAddPort.managedCertificateStores"); + this._initClientCertRecorders(truststores); + + var truststoreWidget = registry.byId("formAddPort.trustStores"); + if (truststores) + { + var layout = [[{ + name: "Name", + field: "name", + width: "80%" + }, { + name: "Peers only", + field: "peersOnly", + width: "20%", + formatter: function (val) + { + return "<input type='radio' disabled='disabled' " + (val ? "checked='checked'" : "") + " />" + } + }]]; + + var mem = new Memory({ + data: truststores, + idProperty: "id" + }); + truststoreWidget.set("store", new ObjectStore({objectStore: mem})); + truststoreWidget.set("structure", layout); + truststoreWidget.rowSelectCell.toggleAllSelection(false); + truststoreWidget.startup(); + } + + // Editing existing port, de-register existing on change handler if set + if (this.typeChangeHandler) + { + this.typeChangeHandler.remove(); + } + + if (modelObj.type == "port") + { + editWarning.style.display = "block"; + + management.load(modelObj, {actuals: true}).then(function (data) + { + var port = data[0]; + nameWidget.set("value", port.name); + nameWidget.set("disabled", true); + + dom.byId("formAddPort.id").value = port.id; + + //type + typeWidget.set("value", portType); + typeWidget.set("disabled", true); + var typeMetaData = metadata.getMetaData("Port", + portType); + + //port number + portWidget.set("value", port.port); + portWidget.set("regExpGen", + util.numericOrContextVarRegexp); + + //protocols + var protocolsMultiSelect = dom.byId( + "formAddPort.protocols"); + var protocolValidValues = typeMetaData.attributes.protocols.validValues; + var protocolValues = metadata.extractUniqueListOfValues( + protocolValidValues); + util.setMultiSelectOptions(protocolsMultiSelect, + protocolValues.sort()); + + var protocolsMultiSelectWidget = registry.byId( + "formAddPort.protocols"); + protocolsMultiSelectWidget.set("value", + port.protocols); + + //authenticationProvider + providerWidget.set("value", + port.authenticationProvider + ? port.authenticationProvider + : ""); + providerWidget.set("disabled", + !("authenticationProvider" + in typeMetaData.attributes)); + dom.byId( + "formAddPort:fieldsAuthenticationProvider").style.display = + "authenticationProvider" + in typeMetaData.attributes + ? "block" + : "none"; + + //transports + var transportsMultiSelect = dom.byId( + "formAddPort.transports"); + var transportsValidValues = typeMetaData.attributes.transports.validValues; + var transportsValues = metadata.extractUniqueListOfValues( + transportsValidValues); + util.setMultiSelectOptions(transportsMultiSelect, + transportsValues.sort()); + var transportWidget = registry.byId( + "formAddPort.transports"); + transportWidget.set("value", port.transports); + + //binding address + var bindAddressWidget = registry.byId( + "formAddPort.bindingAddress"); + bindAddressWidget.set("value", + port.bindingAddress + ? port.bindingAddress + : ""); + bindAddressWidget.set("disabled", + !("bindingAddress" + in typeMetaData.attributes)); + dom.byId("formAddPort:fieldsBindingAddress").style.display = + "bindingAddress" in typeMetaData.attributes + ? "block" + : "none"; + + //maxOpenConnections + var maxOpenConnectionsWidget = registry.byId( + "formAddPort.maxOpenConnections"); + maxOpenConnectionsWidget.set("regExpGen", + util.signedOrContextVarRegexp); + maxOpenConnectionsWidget.set("value", + port.maxOpenConnections + ? port.maxOpenConnections + : ""); + maxOpenConnectionsWidget.set("disabled", + !("maxOpenConnections" + in typeMetaData.attributes)); + dom.byId("formAddPort:maxOpenConnections").style.display = + "maxOpenConnections" + in typeMetaData.attributes + ? "block" + : "none"; + + //ssl + keystoreWidget.set("value", + port.keyStore + ? port.keyStore + : ""); + if (port.trustStores) + { + var items = truststoreWidget.store.objectStore.data; + for (var j = 0; j < items.length; j++) + { + var selected = false; + for (var i = 0; + i < port.trustStores.length; + i++) + { + var trustStore = port.trustStores[i]; + if (items[j].name == trustStore) + { + selected = true; + break; + } + } + truststoreWidget.selection.setSelected(j, + selected); + } + } + + // want/need client auth + registry.byId("formAddPort.needClientAuth") + .set("checked", port.needClientAuth); + registry.byId("formAddPort.wantClientAuth") + .set("checked", port.wantClientAuth); + + //threadPoolMinMaxSettings + var hasThreadPoolMinMaxSettings = "threadPoolMinimum" + in typeMetaData.attributes; + + function initThreadPoolSettingWidget(name, disabled) + { + var widget = registry.byId("formAddPort." + + name); + widget.set("regExpGen", + util.signedOrContextVarRegexp); + widget.set("value", + port[name] ? port[name] : ""); + widget.set("disabled", disabled); + } + + initThreadPoolSettingWidget("threadPoolMaximum", + !hasThreadPoolMinMaxSettings); + initThreadPoolSettingWidget("threadPoolMinimum", + !hasThreadPoolMinMaxSettings); + dom.byId("formAddPort:threadPoolMinMaxSettings").style.display = + hasThreadPoolMinMaxSettings + ? "block" + : "none"; + + //threadPoolSizeSettings + var hasThreadPoolSizeSettings = "threadPoolSize" + in typeMetaData.attributes; + initThreadPoolSettingWidget("threadPoolSize", + !hasThreadPoolSizeSettings); + dom.byId("formAddPort:threadPoolSizeSettings").style.display = + hasThreadPoolSizeSettings ? "block" : "none"; + + keystoreWidget.initialValue = port.keyStore; + truststoreWidget.initialValue = port.trustStores; + transportWidget.initialValue = + transportWidget.value; + providerWidget.initialValue = + providerWidget.value; + maxOpenConnectionsWidget.initialValue = + maxOpenConnectionsWidget.value; + + managedCertificateStoreWidget.set("value", + port.clientCertRecorder); + managedCertificateStoreWidget.initialValue = + port.clientCertRecorder; + + util.applyMetadataToWidgets(registry.byId( + "addPort").domNode, + "Port", + portType, + management.metadata); + + addPort._initContextEditorAndShowDialog(port); + + }, util.xhrErrorHandler); + } + else + { + // Adding new port, register the on change handler + this.typeChangeHandler = typeWidget.on("change", addPort._typeChanged); + + if (typeWidget.get("disabled")) + { + typeWidget.set("disabled", false); + } + typeWidget.set("value", portType); + + nameWidget.set("disabled", false); + nameWidget.set("regExpGen", util.nameOrContextVarRegexp); + portWidget.set("regExpGen", util.numericOrContextVarRegexp); + maxOpenConnectionsWidget.set("regExpGen", util.signedOrContextVarRegexp); + + editWarning.style.display = "none"; + util.applyMetadataToWidgets(registry.byId("addPort").domNode, "Port", portType, management.metadata); + + managedCertificateStoreWidget.set("value", undefined); + managedCertificateStoreWidget.initialValue = undefined; + + this._initContextEditorAndShowDialog(); + } + }; + + addPort._initContextEditorAndShowDialog = function (actualData) + { + this.initialData = actualData; + if (actualData) + { + var modelObj = this.modelObj; + this.management.load(modelObj).then(function (effectiveData) + { + util.setContextData(addPort.context, + addPort.management, + modelObj, + actualData, + effectiveData[0], + addPort._showDialog); + }); + } + else + { + util.setToBrokerEffectiveContext(addPort.context, addPort.management, addPort._showDialog); + } + }; + + addPort._showDialog = function () + { + var dialog = registry.byId("addPort"); + dialog.show(); + }; + + addPort._getManagedPeerCertificateTrustStore = function (truststores) + { + var managedPeerCertificateTrustStore = []; + if (truststores) + { + for (var i = 0; i < truststores.length; i++) + { + if (truststores[i].type == "ManagedCertificateStore") + { + managedPeerCertificateTrustStore.push(truststores[i]); + } + } + } + return managedPeerCertificateTrustStore; + }; + + addPort._initClientCertRecorders = function (truststores) + { + var managedPeerCertificateTrustStores = this._getManagedPeerCertificateTrustStore(truststores); + var data = [{ + id: undefined, + name: "None" + }]; + for (var i = 0; i < managedPeerCertificateTrustStores.length; i++) + { + data.push({ + id: managedPeerCertificateTrustStores[i].name, + name: managedPeerCertificateTrustStores[i].name + }); + } + var store = new Memory({ + data: data, + idProperty: "id" + }); + var managedCertificateStoresWidget = registry.byId("formAddPort.managedCertificateStores"); + managedCertificateStoresWidget.set("store", store); + managedCertificateStoresWidget.startup(); + }; - return addPort; - }); + return addPort; + }); --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
