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 + 
'">');

Reply via email to