You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by ak...@apache.org on 2015/09/18 12:42:02 UTC

ignite git commit: IGNITE-843 Minor metadata load modal fixes.

Repository: ignite
Updated Branches:
  refs/heads/ignite-843 ffb26ac40 -> f9ff56674


IGNITE-843 Minor metadata load modal fixes.


Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/f9ff5667
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/f9ff5667
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/f9ff5667

Branch: refs/heads/ignite-843
Commit: f9ff566746e8f6a4f614f5021e1579b0b81b3bfc
Parents: ffb26ac
Author: Alexey Kuznetsov <ak...@apache.org>
Authored: Fri Sep 18 17:41:56 2015 +0700
Committer: Alexey Kuznetsov <ak...@apache.org>
Committed: Fri Sep 18 17:41:56 2015 +0700

----------------------------------------------------------------------
 .../src/main/js/controllers/common-module.js    |  4 +--
 .../main/js/controllers/metadata-controller.js  | 27 ++++++++++++++------
 .../main/js/routes/generator/generator-java.js  |  6 +++--
 .../js/views/configuration/metadata-load.jade   | 14 +++++-----
 4 files changed, 32 insertions(+), 19 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/ignite/blob/f9ff5667/modules/control-center-web/src/main/js/controllers/common-module.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/common-module.js b/modules/control-center-web/src/main/js/controllers/common-module.js
index 4b776a6..7e94b4a 100644
--- a/modules/control-center-web/src/main/js/controllers/common-module.js
+++ b/modules/control-center-web/src/main/js/controllers/common-module.js
@@ -611,7 +611,7 @@ controlCenterModule.service('$common', [
             javaBuildInClasses: javaBuildInClasses,
             isJavaBuildInClass: isJavaBuildInClass,
             isValidJavaIdentifier: isValidJavaIdentifier,
-            isValidJavaClass: function (msg, ident, allowBuildInClass, elemId) {
+            isValidJavaClass: function (msg, ident, allowBuildInClass, elemId, packageOnly) {
                 if (isEmptyString(ident))
                     return showPopoverMessage(null, null, elemId, msg + ' could not be empty!');
 
@@ -622,7 +622,7 @@ controlCenterModule.service('$common', [
                 if (!allowBuildInClass && isJavaBuildInClass(ident))
                     return showPopoverMessage(null, null, elemId, msg + ' should not be the Java build-in class!');
 
-                if (len < 2 && !isJavaBuildInClass(ident))
+                if (len < 2 && !isJavaBuildInClass(ident) && !packageOnly)
                     return showPopoverMessage(null, null, elemId, msg + ' does not have package specified!');
 
                 for (var i = 0; i < parts.length; i++) {

http://git-wip-us.apache.org/repos/asf/ignite/blob/f9ff5667/modules/control-center-web/src/main/js/controllers/metadata-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/metadata-controller.js b/modules/control-center-web/src/main/js/controllers/metadata-controller.js
index cb70fcf..7f3b8ed 100644
--- a/modules/control-center-web/src/main/js/controllers/metadata-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/metadata-controller.js
@@ -192,7 +192,7 @@ controlCenterModule.controller('metadataController', [
             $scope.selectAllSchemas = function () {
                 var allSelected = $scope.loadMeta.allSchemasSelected;
 
-                _.forEach($scope.loadMeta.schemas, function (schema) {
+                _.forEach($scope.loadMeta.displayedSchemas, function (schema) {
                     schema.use = allSelected;
                 });
             };
@@ -204,7 +204,7 @@ controlCenterModule.controller('metadataController', [
             $scope.selectAllTables = function () {
                 var allSelected = $scope.loadMeta.allTablesSelected;
 
-                _.forEach($scope.loadMeta.tables, function (table) {
+                _.forEach($scope.loadMeta.displayedTables, function (table) {
                     table.use = allSelected;
                 });
             };
@@ -389,6 +389,13 @@ controlCenterModule.controller('metadataController', [
             }
 
             function _saveMetadata() {
+                if ($common.isEmptyString($scope.ui.packageName))
+                    return $common.showPopoverMessage(undefined, undefined, 'metadataLoadPackage',
+                        'Package should be not empty');
+
+                if (!$common.isValidJavaClass('Package', $scope.ui.packageName, false, 'metadataLoadPackage', true))
+                    return false;
+
                 $scope.preset.space = $scope.spaces[0];
 
                 $http.post('presets/save', $scope.preset)
@@ -398,7 +405,7 @@ controlCenterModule.controller('metadataController', [
 
                 var batch = [];
                 var tables = [];
-                var dupCnt = 1;
+                var dupCnt = 0;
 
                 _.forEach($scope.loadMeta.tables, function (table) {
                     if (table.use) {
@@ -411,8 +418,10 @@ controlCenterModule.controller('metadataController', [
 
                         var tableName = table.tbl;
 
-                        if (tables.indexOf(table.tbl) >= 0)
-                            tableName += '(' + (dupCnt++) + ')';
+                        var dup = tables.indexOf(tableName) >= 0;
+
+                        if (dup)
+                            dupCnt++;
 
                         var valType = $scope.ui.packageName + '.' + toJavaClassName(tableName);
 
@@ -493,8 +502,10 @@ controlCenterModule.controller('metadataController', [
                             meta.confirm = true;
                         }
 
-                        meta.keyType = valType + 'Key';
-                        meta.valueType = valType;
+                        var dupSfx = (dup ? '_' + dupCnt : '');
+
+                        meta.keyType = valType + 'Key' + dupSfx;
+                        meta.valueType = valType + dupSfx;
                         meta.databaseSchema = table.schema;
                         meta.databaseTable = tableName;
                         meta.queryFields = qryFields;
@@ -505,7 +516,7 @@ controlCenterModule.controller('metadataController', [
                         meta.valueFields = valFields;
 
                         batch.push(meta);
-                        tables.push(table.tbl);
+                        tables.push(tableName);
                     }
                 });
 

http://git-wip-us.apache.org/repos/asf/ignite/blob/f9ff5667/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 45a79d0..a9814f1 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
@@ -1288,11 +1288,13 @@ $generatorJava.javaClassCode = function (meta, key, pkg, constructor, res) {
 
         res.startBlock('return \"' + type + ' [' + field.javaName + '=\" + ' + field.javaName + ' +', type);
 
-        _.forEach(fields, function (field) {
+        for (var fldIx = 1; fldIx < fields.length; fldIx ++) {
+            field = fields[fldIx];
+
             var javaName = field.javaName;
 
             res.line('\", ' + javaName + '=\" + ' + field.javaName + ' +');
-        });
+        }
     }
 
     res.line('\']\';');

http://git-wip-us.apache.org/repos/asf/ignite/blob/f9ff5667/modules/control-center-web/src/main/js/views/configuration/metadata-load.jade
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/views/configuration/metadata-load.jade b/modules/control-center-web/src/main/js/views/configuration/metadata-load.jade
index 0c0bdc3..7d6c1b0 100644
--- a/modules/control-center-web/src/main/js/views/configuration/metadata-load.jade
+++ b/modules/control-center-web/src/main/js/views/configuration/metadata-load.jade
@@ -30,12 +30,12 @@ mixin chk(mdl, change, tip)
                     .settings-row(ng-repeat='field in metadataDb')
                         +form-row-custom(['col-xs-4 col-sm-3 col-md-3'], ['col-xs-8 col-sm-9 col-md-9'], 'preset')
             .metadata-content(ng-show='loadMeta.action == "schemas"')
-                table.table.metadata(st-table='displayedSchemas' st-safe-src='loadMeta.schemas')
+                table.table.metadata(st-table='loadMeta.displayedSchemas' st-safe-src='loadMeta.schemas')
                     thead
                         tr
                             th.header(colspan='2')
                                 .col-sm-4.pull-right
-                                    input.form-control(type='text' st-search='' placeholder='Filter schemas...')
+                                    input.form-control(type='text' st-search='' placeholder='Filter schemas...' ng-model='loadMeta.displayedSchemasFilter' ng-change='selectSchema()')
                         tr
                             th(width='50px')
                                 +chk('loadMeta.allSchemasSelected',  'selectAllSchemas()', 'Select all schemas')
@@ -47,7 +47,7 @@ mixin chk(mdl, change, tip)
                                     .scrollable-y(style='height: 184px')
                                         table.table-modal-striped(id='metadataSchemaData')
                                             tbody
-                                                tr(ng-repeat='schema in displayedSchemas')
+                                                tr(ng-repeat='schema in loadMeta.displayedSchemas')
                                                     td(width='50px')
                                                         input(type='checkbox' ng-model='schema.use' ng-change='selectSchema()')
                                                     td
@@ -56,13 +56,13 @@ mixin chk(mdl, change, tip)
                 .metadata-package-name
                     label.required Package:
                     span
-                        input.form-control(type="text" ng-model='ui.packageName' placeholder='Package for POJOs generation' bs-tooltip='' data-title='Package that will be used for POJOs generation' data-placement='top' data-trigger='hover')
-                table.table.metadata(st-table='displayedTables' st-safe-src='loadMeta.tables')
+                        input.form-control(id='metadataLoadPackage' type="text" ng-model='ui.packageName' placeholder='Package for POJOs generation' bs-tooltip='' data-title='Package that will be used for POJOs generation' data-placement='top' data-trigger='hover')
+                table.table.metadata(st-table='loadMeta.displayedTables' st-safe-src='loadMeta.tables')
                     thead
                         tr
                             th.header(colspan='3')
                                 .col-sm-4.pull-right
-                                    input.form-control(type='text' st-search='' placeholder='Filter tables...')
+                                    input.form-control(type='text' st-search='' placeholder='Filter tables...' ng-model='loadMeta.displayedTablesFilter' ng-change='selectTable()')
                         tr
                             th(width='50px')
                                 +chk('loadMeta.allTablesSelected',  'selectAllTables()', 'Select all tables')
@@ -76,7 +76,7 @@ mixin chk(mdl, change, tip)
                                 .scrollable-y(style='height: 146px')
                                     table.table-modal-striped(id='metadataTableData')
                                         tbody
-                                            tr(ng-repeat='table in displayedTables')
+                                            tr(ng-repeat='table in loadMeta.displayedTables')
                                                 td(width='50px')
                                                     input(type='checkbox' ng-model='table.use' ng-change='selectTable()')
                                                 td(width='200px')