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/08/19 05:42:10 UTC

incubator-ignite git commit: IGNITE-843: WIP Load metadata from db.

Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-843 835ea08b8 -> c18cee2ac


IGNITE-843: WIP Load metadata from db.


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

Branch: refs/heads/ignite-843
Commit: c18cee2ac0d6298778d2582bc6b6adbe1fdcedbd
Parents: 835ea08
Author: AKuznetsov <ak...@gridgain.com>
Authored: Wed Aug 19 10:42:27 2015 +0700
Committer: AKuznetsov <ak...@gridgain.com>
Committed: Wed Aug 19 10:42:27 2015 +0700

----------------------------------------------------------------------
 .../main/js/controllers/caches-controller.js    |  2 +-
 modules/control-center-web/src/main/js/db.js    | 74 ++++++++++----------
 .../src/main/js/routes/caches.js                | 32 +++------
 .../src/main/js/routes/clusters.js              | 28 +++-----
 .../js/views/configuration/metadata-load.jade   |  5 +-
 5 files changed, 61 insertions(+), 80 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c18cee2a/modules/control-center-web/src/main/js/controllers/caches-controller.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/controllers/caches-controller.js b/modules/control-center-web/src/main/js/controllers/caches-controller.js
index 5c8fb0f..121eed0 100644
--- a/modules/control-center-web/src/main/js/controllers/caches-controller.js
+++ b/modules/control-center-web/src/main/js/controllers/caches-controller.js
@@ -248,7 +248,7 @@ controlCenterModule.controller('cachesController', [
                 if (item)
                     sessionStorage.cacheSelectedItem = angular.toJson(item);
                 else
-                    sessionStorage.removeItem(cacheSelectedItem);
+                    sessionStorage.removeItem('cacheSelectedItem');
             };
 
             // Add new cache.

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c18cee2a/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 b183bdb..6746758 100644
--- a/modules/control-center-web/src/main/js/db.js
+++ b/modules/control-center-web/src/main/js/db.js
@@ -28,7 +28,7 @@ var deepPopulate = require('mongoose-deep-populate')( mongoose);
 // Connect to mongoDB database.
 mongoose.connect(config.get('mongoDB:url'), {server: {poolSize: 4}});
 
-// Define account model.
+// Define Account schema.
 var AccountSchema = new Schema({
     username: String,
     email: String,
@@ -37,9 +37,11 @@ var AccountSchema = new Schema({
     resetPasswordToken: String
 });
 
+// Install passport plugin.
 AccountSchema.plugin(passportLocalMongoose, {usernameField: 'email', limitAttempts: true, lastLoginField: 'lastLogin',
     usernameLowerCase: true});
 
+// Configure transformation to JSON.
 AccountSchema.set('toJSON', {
     transform: function(doc, ret) {
         return {
@@ -52,9 +54,10 @@ AccountSchema.set('toJSON', {
     }
 });
 
+// Define Account model.
 exports.Account = mongoose.model('Account', AccountSchema);
 
-// Define space model.
+// Define Space model.
 exports.Space = mongoose.model('Space', new Schema({
     name: String,
     owner: {type: ObjectId, ref: 'Account'},
@@ -64,7 +67,7 @@ exports.Space = mongoose.model('Space', new Schema({
     }]
 }));
 
-// Define cache type metadata model.
+// Define Cache type metadata schema.
 var CacheTypeMetadataSchema = new Schema({
     space: {type: ObjectId, ref: 'Space'},
     name: String,
@@ -82,9 +85,10 @@ var CacheTypeMetadataSchema = new Schema({
     groups: [{name: String, fields: [{name: String, className: String, direction: Boolean}]}]
 });
 
+// Define Cache type metadata model.
 exports.CacheTypeMetadata = mongoose.model('CacheTypeMetadata', CacheTypeMetadataSchema);
 
-// Define cache model.
+// Define Cache schema.
 var CacheSchema = new Schema({
     space: {type: ObjectId, ref: 'Space'},
     name: String,
@@ -206,9 +210,10 @@ var CacheSchema = new Schema({
     }
 });
 
+// Define Cache model.
 exports.Cache = mongoose.model('Cache', CacheSchema);
 
-// Define cluster schema.
+// Define Cluster schema.
 var ClusterSchema = new Schema({
     space: {type: ObjectId, ref: 'Space'},
     name: String,
@@ -317,6 +322,7 @@ var ClusterSchema = new Schema({
     waitForSegmentOnStart: Boolean
 });
 
+// Install deep populate plugin.
 ClusterSchema.plugin(deepPopulate, {
     whitelist: [
         'caches',
@@ -325,40 +331,10 @@ ClusterSchema.plugin(deepPopulate, {
     ]
 });
 
-// Define cluster model.
+// Define Cluster model.
 exports.Cluster = mongoose.model('Cluster', ClusterSchema);
 
-// Define persistence schema.
-var PersistenceSchema = new Schema({
-    space: {type: ObjectId, ref: 'Space'},
-    name: String,
-    rdbms: {type: String, enum: ['oracle', 'db2', 'mssql', 'postgre', 'mysql', 'h2']},
-    dbName: String,
-    host: String,
-    user: String,
-    tables: [{
-        use: Boolean,
-        schemaName: String,
-        tableName: String,
-        keyClass: String,
-        valueClass: String,
-        columns: [{
-            use: Boolean,
-            pk: Boolean,
-            ak: Boolean,
-            notNull: Boolean,
-            databaseName: String,
-            databaseType: Number,
-            javaName: String,
-            javaType: String
-        }]
-    }]
-});
-
-// Define persistence model.
-exports.Persistence = mongoose.model('Persistence', PersistenceSchema);
-
-// Define persistence schema.
+// Define Notebook schema.
 var NotebookSchema = new Schema({
     space: {type: ObjectId, ref: 'Space'},
     name: String,
@@ -367,9 +343,21 @@ var NotebookSchema = new Schema({
     }]
 });
 
-// Define persistence model.
+// Define Notebook model.
 exports.Notebook = mongoose.model('Notebook', NotebookSchema);
 
+// Define Database preset schema.
+var DatabasePresetSchema = new Schema({
+    space: {type: ObjectId, ref: 'Space'},
+    jdbcDriverJar: String,
+    jdbcDriverClass: String,
+    jdbcUrl: String,
+    user: String
+});
+
+// Define Database preset model.
+exports.DatabasePreset = mongoose.model('DatabasePreset', DatabasePresetSchema);
+
 exports.upsert = function (model, data, cb) {
     if (data._id) {
         var id = data._id;
@@ -382,4 +370,14 @@ exports.upsert = function (model, data, cb) {
         new model(data).save(cb);
 };
 
+exports.processed = function(err, res) {
+    if (err) {
+        res.status(500).send(err.message);
+
+        return false;
+    }
+
+    return true;
+};
+
 exports.mongoose = mongoose;

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c18cee2a/modules/control-center-web/src/main/js/routes/caches.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/routes/caches.js b/modules/control-center-web/src/main/js/routes/caches.js
index 7edd742..dac1d98 100644
--- a/modules/control-center-web/src/main/js/routes/caches.js
+++ b/modules/control-center-web/src/main/js/routes/caches.js
@@ -24,16 +24,6 @@ router.get('/', function (req, res) {
     res.render('configuration/caches');
 });
 
-function _processed(err, res) {
-    if (err) {
-        res.status(500).send(err.message);
-
-        return false;
-    }
-
-    return true;
-}
-
 /**
  * Get spaces and caches accessed for user account.
  *
@@ -45,20 +35,20 @@ router.post('/list', function (req, res) {
 
     // Get owned space and all accessed space.
     db.Space.find({$or: [{owner: user_id}, {usedBy: {$elemMatch: {account: user_id}}}]}, function (err, spaces) {
-        if (_processed(err, res)) {
+        if (db.processed(err, res)) {
             var space_ids = spaces.map(function (value) {
                 return value._id;
             });
 
             // Get all clusters for spaces.
             db.Cluster.find({space: {$in: space_ids}}, '_id name').sort('name').exec(function (err, clusters) {
-                if (_processed(err, res)) {
+                if (db.processed(err, res)) {
                     // Get all caches type metadata for spaces.
                     db.CacheTypeMetadata.find({space: {$in: space_ids}}, '_id name kind', function (err, metadatas) {
-                        if (_processed(err, res)) {
+                        if (db.processed(err, res)) {
                             // Get all caches for spaces.
                             db.Cache.find({space: {$in: space_ids}}).sort('name').exec(function (err, caches) {
-                                if (_processed(err, res)) {
+                                if (db.processed(err, res)) {
 
                                     _.forEach(caches, function (cache) {
                                         // Remove deleted clusters.
@@ -112,11 +102,11 @@ router.post('/save', function (req, res) {
 
     if (params._id){
         db.Cache.update({_id: cacheId}, params, {upsert: true}, function (err) {
-            if (_processed(err, res))
+            if (db.processed(err, res))
                 db.Cluster.update({_id: {$in: clusters}}, {$addToSet: {caches: cacheId}}, {upsert: true, multi: true}, function(err) {
-                    if (_processed(err, res))
+                    if (db.processed(err, res))
                         db.Cluster.update({_id: {$nin: clusters}}, {$pull: {caches: cacheId}}, {upsert: true, multi: true}, function(err) {
-                            if (_processed(err, res))
+                            if (db.processed(err, res))
                                 res.send(params._id);
                         });
                 });
@@ -124,16 +114,16 @@ router.post('/save', function (req, res) {
     }
     else
         db.Cache.findOne({space: params.space, name: params.name}, function (err, cache) {
-            if (_processed(err, res)) {
+            if (db.processed(err, res)) {
                 if (cache)
                     return res.status(500).send('Cache with name: "' + cache.name + '" already exist.');
 
                 (new db.Cache(params)).save(function (err, cache) {
-                    if (_processed(err, res)) {
+                    if (db.processed(err, res)) {
                         cacheId = cache._id;
 
                         db.Cluster.update({_id: {$in: clusters}}, {$addToSet: {caches: cacheId}}, {upsert: true, multi: true}, function(err) {
-                            if (_processed(err, res))
+                            if (db.processed(err, res))
                                 res.send(cacheId);
                         });
                     }
@@ -148,7 +138,7 @@ router.post('/save', function (req, res) {
  */
 router.post('/remove', function (req, res) {
     db.Cache.remove(req.body, function (err) {
-        if (_processed(err, res))
+        if (db.processed(err, res))
             res.sendStatus(200);
     })
 });

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c18cee2a/modules/control-center-web/src/main/js/routes/clusters.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/routes/clusters.js b/modules/control-center-web/src/main/js/routes/clusters.js
index 9da8200..3c7a41f 100644
--- a/modules/control-center-web/src/main/js/routes/clusters.js
+++ b/modules/control-center-web/src/main/js/routes/clusters.js
@@ -24,16 +24,6 @@ router.get('/', function (req, res) {
     res.render('configuration/clusters');
 });
 
-function _processed(err, res) {
-    if (err) {
-        res.status(500).send(err.message);
-
-        return false;
-    }
-
-    return true;
-}
-
 /**
  * Get spaces and clusters accessed for user account.
  *
@@ -45,17 +35,17 @@ router.post('/list', function (req, res) {
 
     // Get owned space and all accessed space.
     db.Space.find({$or: [{owner: user_id}, {usedBy: {$elemMatch: {account: user_id}}}]}, function (err, spaces) {
-        if (_processed(err, res)) {
+        if (db.processed(err, res)) {
             var space_ids = spaces.map(function (value) {
                 return value._id;
             });
 
             // Get all caches for spaces.
             db.Cache.find({space: {$in: space_ids}}, '_id name swapEnabled').sort('name').exec(function (err, caches) {
-                if (_processed(err, res)) {
+                if (db.processed(err, res)) {
                     // Get all clusters for spaces.
                     db.Cluster.find({space: {$in: space_ids}}).sort('name').exec(function (err, clusters) {
-                        if (_processed(err, res)) {
+                        if (db.processed(err, res)) {
                             // Remove deleted caches.
                             _.forEach(clusters, function (cluster) {
                                 cluster.caches = _.filter(cluster.caches, function (cacheId) {
@@ -90,11 +80,11 @@ router.post('/save', function (req, res) {
 
     if (params._id)
         db.Cluster.update({_id: params._id}, params, {upsert: true}, function (err) {
-            if (_processed(err, res))
+            if (db.processed(err, res))
                 db.Cache.update({_id: {$in: caches}}, {$addToSet: {clusters: clusterId}}, {upsert: true, multi: true}, function(err) {
-                    if (_processed(err, res)) {
+                    if (db.processed(err, res)) {
                         db.Cache.update({_id: {$nin: caches}}, {$pull: {clusters: clusterId}}, {upsert: true, multi: true}, function(err) {
-                            if (_processed(err, res))
+                            if (db.processed(err, res))
                                 res.send(params._id);
                         });
                     }
@@ -102,16 +92,16 @@ router.post('/save', function (req, res) {
         });
     else {
         db.Cluster.findOne({space: params.space, name: params.name}, function (err, cluster) {
-            if (_processed(err, res)) {
+            if (db.processed(err, res)) {
                 if (cluster)
                     return res.status(500).send('Cluster with name: "' + cluster.name + '" already exist.');
 
                 (new db.Cluster(params)).save(function (err, cluster) {
-                    if (_processed(err, res)) {
+                    if (db.processed(err, res)) {
                         clusterId = cluster._id;
 
                         db.Cache.update({_id: {$in: caches}}, {$addToSet: {clusters: clusterId}}, {upsert: true, multi: true}, function (err) {
-                            if (_processed(err, res))
+                            if (db.processed(err, res))
                                 res.send(clusterId);
                         });
                     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c18cee2a/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 9eaeba6..4f7833a 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
@@ -28,6 +28,10 @@ include ../includes/controls
                         .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')
             div(ng-show='loadMeta.action == "tables"' style='margin: 15px')
+                .settings-row
+                    label.col-sm-2.required Package:
+                    .col-sm-4
+                        input.form-control(type="text")
                 table.table.table-condensed.table-stripped.admin(st-table='displayedTables' st-safe-src='loadMeta.tables')
                     thead
                         tr
@@ -49,7 +53,6 @@ include ../includes/controls
                         tr
                             td.text-right(colspan='2')
                                 div(st-pagination st-items-by-page='10' st-displayed-pages='5')
-
             .modal-footer
                 button.btn.btn-primary(ng-show='loadMeta.action == "connect"' ng-disabled='loadForm.$invalid' ng-click='loadMetadataFromDb()') Load metadata
                 button.btn.btn-primary(ng-show='loadMeta.action == "tables"' ng-click='loadMeta.action = "connect"') Prev