Repository: ignite Updated Branches: refs/heads/ignite-843 79302de2d -> 60c64aac1
ignite-1219 Trust managers Project: http://git-wip-us.apache.org/repos/asf/ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/60c64aac Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/60c64aac Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/60c64aac Branch: refs/heads/ignite-843 Commit: 60c64aac135f5207e5ab5cf9de76f12ac95af21b Parents: 79302de Author: Andrey <[email protected]> Authored: Thu Oct 1 17:49:36 2015 +0700 Committer: Andrey <[email protected]> Committed: Thu Oct 1 17:49:36 2015 +0700 ---------------------------------------------------------------------- .../main/js/controllers/clusters-controller.js | 8 +++-- .../main/js/controllers/models/clusters.json | 14 +++++++++ modules/control-center-web/src/main/js/db.js | 3 +- .../js/routes/generator/generator-common.js | 1 + .../main/js/routes/generator/generator-java.js | 32 +++++++++++++++++++- .../main/js/routes/generator/generator-xml.js | 21 +++++++++++-- 6 files changed, 73 insertions(+), 6 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/ignite/blob/60c64aac/modules/control-center-web/src/main/js/controllers/clusters-controller.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/controllers/clusters-controller.js b/modules/control-center-web/src/main/js/controllers/clusters-controller.js index 19c9f36..772b39b 100644 --- a/modules/control-center-web/src/main/js/controllers/clusters-controller.js +++ b/modules/control-center-web/src/main/js/controllers/clusters-controller.js @@ -131,12 +131,16 @@ consoleModule.controller('clustersController', [ addresses: {msg: 'Such IP address already exists!', id: 'IpAddress'}, regions: {msg: 'Such region already exists!', id: 'Region'}, zones: {msg: 'Such zone already exists!', id: 'Zone'}, - peerClassLoadingLocalClassPathExclude: {msg: 'Such package already exists!', id: 'PeerClsPathExclude'} + peerClassLoadingLocalClassPathExclude: {msg: 'Such package already exists!', id: 'PeerClsPathExclude'}, + trustManagers: {msg: 'Such trust manager already exists!', id: 'trustManagers'} }; $scope.tableSimpleValid = function (item, field, val, index) { var model = $common.getModel(item, field)[field.model]; + if (field.model == 'trustManagers' && !$common.isValidJavaClass('Trust manager', val, false, $table.tableFieldId(index, 'trustManagers'), false)) + return false; + if ($common.isDefined(model)) { var idx = _.indexOf(model, val); @@ -145,7 +149,7 @@ consoleModule.controller('clustersController', [ var simpleTable = simpleTables[field.model]; if (simpleTable) { - $common.showError(simpleTable.msg); + $common.showPopoverMessage(null, null, $table.tableFieldId(index, 'trustManagers'), simpleTable.msg); return $table.tableFocusInvalidField(index, simpleTable.id); } http://git-wip-us.apache.org/repos/asf/ignite/blob/60c64aac/modules/control-center-web/src/main/js/controllers/models/clusters.json ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/controllers/models/clusters.json b/modules/control-center-web/src/main/js/controllers/models/clusters.json index 80c9f86..3556837 100644 --- a/modules/control-center-web/src/main/js/controllers/models/clusters.json +++ b/modules/control-center-web/src/main/js/controllers/models/clusters.json @@ -812,6 +812,20 @@ "tip": [ "Trust store type used in context initialization" ] + }, + { + "label": "Trust managers", + "type": "table-simple", + "path": "sslContextFactory", + "model": "trustManagers", + "placeholder": "Trust manager", + "focusId": "trustManagers", + "addTip": "Add new trust manager.", + "removeTip": "Remove trust manager", + "hide": "!backupItem.sslEnabled", + "tableTip": [ + "Pre-configured trust managers" + ] } ] }, http://git-wip-us.apache.org/repos/asf/ignite/blob/60c64aac/modules/control-center-web/src/main/js/db.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/db.js b/modules/control-center-web/src/main/js/db.js index 874aa82..5c5d24d 100644 --- a/modules/control-center-web/src/main/js/db.js +++ b/modules/control-center-web/src/main/js/db.js @@ -334,7 +334,8 @@ var ClusterSchema = new Schema({ keyStoreType: String, protocol: String, trustStoreFilePath: String, - trustStoreType: String + trustStoreType: String, + trustManagers: [String] } }); http://git-wip-us.apache.org/repos/asf/ignite/blob/60c64aac/modules/control-center-web/src/main/js/routes/generator/generator-common.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/routes/generator/generator-common.js b/modules/control-center-web/src/main/js/routes/generator/generator-common.js index 6f20dab..d07ee38 100644 --- a/modules/control-center-web/src/main/js/routes/generator/generator-common.js +++ b/modules/control-center-web/src/main/js/routes/generator/generator-common.js @@ -329,6 +329,7 @@ $generatorCommon.SSL_CONFIGURATION_FACTORY = { trustStoreFilePath: {type: 'path'}, keyTrustPassword: {type: 'raw'}, trustStoreType: null, + trustManagers: {type: 'array'} } }; http://git-wip-us.apache.org/repos/asf/ignite/blob/60c64aac/modules/control-center-web/src/main/js/routes/generator/generator-java.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/routes/generator/generator-java.js b/modules/control-center-web/src/main/js/routes/generator/generator-java.js index 0676ca2..bd3a24f 100644 --- a/modules/control-center-web/src/main/js/routes/generator/generator-java.js +++ b/modules/control-center-web/src/main/js/routes/generator/generator-java.js @@ -130,7 +130,7 @@ $generatorJava.declareVariable = function (res, varNew, varName, varFullType, va $generatorJava.property = function (res, varName, obj, propName, dataType, setterName, dflt) { var val = obj[propName]; - if ($commonUtils.isDefined(val)) { + if ($commonUtils.isDefinedAndNotEmpty(val)) { var hasDflt = $commonUtils.isDefined(dflt); // Add to result if no default provided or value not equals to default. @@ -195,6 +195,32 @@ $generatorJava.listProperty = function (res, varName, obj, propName, dataType, s }; /** + * Add array property. + * + * @param res Resulting output with generated code. + * @param varName Variable name. + * @param obj Source object with data. + * @param propName Property name to take from source object. + * @param dataType Optional data type. + * @param setterName Optional setter name. + */ +$generatorJava.arrayProperty = function (res, varName, obj, propName, dataType, setterName) { + var val = obj[propName]; + + if (val && val.length > 0) { + res.emptyLineIfNeeded(); + + res.line(varName + '.' + $generatorJava.setterName(propName, setterName) + '(' + + _.map(val, function (v) { + return $generatorJava.toJavaCode(v, dataType) + }).join(', ') + + ');'); + + res.needEmptyLine = true; + } +}; + +/** * Add multi-param property (setter with several arguments). * * @param res Resulting output with generated code. @@ -250,6 +276,10 @@ $generatorJava.beanProperty = function (res, varName, bean, beanPropName, beanVa $generatorJava.listProperty(res, beanVarName, bean, propName, descr.elementsType, descr.setterName); break; + case 'array': + $generatorJava.arrayProperty(res, beanVarName, bean, propName, descr.elementsType, descr.setterName); + break; + case 'enum': $generatorJava.property(res, beanVarName, bean, propName, res.importClass(descr.enumClass), descr.setterName); break; http://git-wip-us.apache.org/repos/asf/ignite/blob/60c64aac/modules/control-center-web/src/main/js/routes/generator/generator-xml.js ---------------------------------------------------------------------- diff --git a/modules/control-center-web/src/main/js/routes/generator/generator-xml.js b/modules/control-center-web/src/main/js/routes/generator/generator-xml.js index 81d2ab3..a75ea9f 100644 --- a/modules/control-center-web/src/main/js/routes/generator/generator-xml.js +++ b/modules/control-center-web/src/main/js/routes/generator/generator-xml.js @@ -107,6 +107,22 @@ $generatorXml.listProperty = function (res, obj, propName, listType, rowFactory) } }; +// Add array property +$generatorXml.arrayProperty = function (res, obj, propName, rowFactory) { + var val = obj[propName]; + + if (val && val.length > 0) { + res.emptyLineIfNeeded(); + + if (!rowFactory) + rowFactory = function (val) { + return $generatorXml.escape(val); + }; + + res.line('<property name="' + propName + '" value="' + _.map(val, function (v) { return rowFactory(v) }).join(',') +'"/>'); + } +} + // Add bean property. $generatorXml.beanProperty = function (res, bean, beanPropName, desc, createBeanAlthoughNoProps) { var props = desc.fields; @@ -125,9 +141,10 @@ $generatorXml.beanProperty = function (res, bean, beanPropName, desc, createBean var descr = props[propName]; if (descr) { - if (descr.type == 'list') { + if (descr.type == 'list') $generatorXml.listProperty(res, bean, propName, descr.setterName); - } + else if (descr.type == 'array') + $generatorXml.arrayProperty(res, bean, propName); else if (descr.type == 'jdbcDialect') { if (bean[propName]) { res.startBlock('<property name="' + propName + '">');
