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