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 2016/02/16 16:15:05 UTC
[48/50] ignite git commit: IGNITE-843 Check name duplicate.
IGNITE-843 Check name duplicate.
Project: http://git-wip-us.apache.org/repos/asf/ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/ignite/commit/09d6538d
Tree: http://git-wip-us.apache.org/repos/asf/ignite/tree/09d6538d
Diff: http://git-wip-us.apache.org/repos/asf/ignite/diff/09d6538d
Branch: refs/heads/ignite-843-rc3
Commit: 09d6538d5ecb82cae8aeb606e33261375d1d9290
Parents: a170c4e
Author: Vasiliy Sisko <vs...@gridgain.com>
Authored: Tue Feb 16 18:56:48 2016 +0700
Committer: Andrey <an...@gridgain.com>
Committed: Tue Feb 16 18:56:48 2016 +0700
----------------------------------------------------------------------
.../src/main/js/serve/routes/caches.js | 52 +++++++++---------
.../src/main/js/serve/routes/clusters.js | 56 ++++++++++----------
.../src/main/js/serve/routes/domains.js | 54 ++++++++++---------
.../src/main/js/serve/routes/igfs.js | 46 ++++++++--------
4 files changed, 107 insertions(+), 101 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/ignite/blob/09d6538d/modules/control-center-web/src/main/js/serve/routes/caches.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/serve/routes/caches.js b/modules/control-center-web/src/main/js/serve/routes/caches.js
index aed7f10..17fef2d 100644
--- a/modules/control-center-web/src/main/js/serve/routes/caches.js
+++ b/modules/control-center-web/src/main/js/serve/routes/caches.js
@@ -73,32 +73,32 @@ module.exports.factory = function(_, express, mongo) {
const domains = params.domains;
let cacheId = params._id;
- if (params._id) {
- mongo.Cache.update({_id: cacheId}, params, {upsert: true}).exec()
- .then(() => mongo.Cluster.update({_id: {$in: clusters}}, {$addToSet: {caches: cacheId}}, {multi: true}).exec())
- .then(() => mongo.Cluster.update({_id: {$nin: clusters}}, {$pull: {caches: cacheId}}, {multi: true}).exec())
- .then(() => mongo.DomainModel.update({_id: {$in: domains}}, {$addToSet: {caches: cacheId}}, {multi: true}).exec())
- .then(() => mongo.DomainModel.update({_id: {$nin: domains}}, {$pull: {caches: cacheId}}, {multi: true}).exec())
- .then(() => res.send(cacheId))
- .catch((err) => mongo.handleError(res, err));
- }
- else {
- mongo.Cache.findOne({space: params.space, name: params.name}).exec()
- .then((cache) => {
- if (cache)
- throw new Error('Cache with name: "' + cache.name + '" already exist.');
-
- return (new mongo.Cache(params)).save();
- })
- .then((cache) => {
- cacheId = cache._id;
-
- return mongo.Cluster.update({_id: {$in: clusters}}, {$addToSet: {caches: cacheId}}, {multi: true}).exec();
- })
- .then(() => mongo.DomainModel.update({_id: {$in: domains}}, {$addToSet: {caches: cacheId}}, {multi: true}).exec())
- .then(() => res.send(cacheId))
- .catch((err) => mongo.handleError(res, err));
- }
+ mongo.Cache.findOne({space: params.space, name: params.name}).exec()
+ .then((_cache) => {
+ if (_cache && cacheId !== _cache._id.toString())
+ return res.status(500).send('Cache with name: "' + _cache.name + '" already exist.');
+
+ if (cacheId) {
+ return mongo.Cache.update({_id: cacheId}, params, {upsert: true}).exec()
+ .then(() => mongo.Cluster.update({_id: {$in: clusters}}, {$addToSet: {caches: cacheId}}, {multi: true}).exec())
+ .then(() => mongo.Cluster.update({_id: {$nin: clusters}}, {$pull: {caches: cacheId}}, {multi: true}).exec())
+ .then(() => mongo.DomainModel.update({_id: {$in: domains}}, {$addToSet: {caches: cacheId}}, {multi: true}).exec())
+ .then(() => mongo.DomainModel.update({_id: {$nin: domains}}, {$pull: {caches: cacheId}}, {multi: true}).exec())
+ .then(() => res.send(cacheId))
+ .catch((err) => mongo.handleError(res, err));
+ }
+ else {
+ return (new mongo.Cache(params)).save()
+ .then((cache) => {
+ cacheId = cache._id;
+
+ return mongo.Cluster.update({_id: {$in: clusters}}, {$addToSet: {caches: cacheId}}, {multi: true}).exec();
+ })
+ .then(() => mongo.DomainModel.update({_id: {$in: domains}}, {$addToSet: {caches: cacheId}}, {multi: true}).exec())
+ .then(() => res.send(cacheId))
+ .catch((err) => mongo.handleError(res, err));
+ }
+ });
});
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/09d6538d/modules/control-center-web/src/main/js/serve/routes/clusters.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/serve/routes/clusters.js b/modules/control-center-web/src/main/js/serve/routes/clusters.js
index b6af923..6bbf4c0 100644
--- a/modules/control-center-web/src/main/js/serve/routes/clusters.js
+++ b/modules/control-center-web/src/main/js/serve/routes/clusters.js
@@ -83,34 +83,34 @@ module.exports.factory = function(_, express, mongo) {
const igfss = params.igfss;
let clusterId = params._id;
- if (params._id) {
- mongo.Cluster.update({_id: params._id}, params, {upsert: true}).exec()
- .then(() => mongo.Cache.update({_id: {$in: caches}}, {$addToSet: {clusters: clusterId}}, {multi: true}).exec())
- .then(() => mongo.Cache.update({_id: {$nin: caches}}, {$pull: {clusters: clusterId}}, {multi: true}).exec())
- .then(() => mongo.Igfs.update({_id: {$in: igfss}}, {$addToSet: {clusters: clusterId}}, {multi: true}).exec())
- .then(() => mongo.Igfs.update({_id: {$nin: igfss}}, {$pull: {clusters: clusterId}}, {multi: true}).exec())
- .then(() => res.send(clusterId))
- .catch((err) => mongo.handleError(res, err));
- }
- else {
- mongo.Cluster.findOne({space: params.space, name: params.name}).exec()
- .then((cluster) => {
- if (cluster)
- return res.status(500).send('Cluster with name: "' + cluster.name + '" already exist.');
-
- return (new mongo.Cluster(params)).save();
- })
- .then((cluster) => {
- clusterId = cluster._id;
-
- return mongo.Cache.update({_id: {$in: caches}}, {$addToSet: {clusters: clusterId}}, {multi: true}).exec();
- })
- .then(() => mongo.Cache.update({_id: {$nin: caches}}, {$pull: {clusters: clusterId}}, {multi: true}).exec())
- .then(() => mongo.Igfs.update({_id: {$in: igfss}}, {$addToSet: {clusters: clusterId}}, {multi: true}).exec())
- .then(() => mongo.Igfs.update({_id: {$nin: igfss}}, {$pull: {clusters: clusterId}}, {multi: true}).exec())
- .then(() => res.send(clusterId))
- .catch((err) => mongo.handleError(res, err));
- }
+ mongo.Cluster.findOne({space: params.space, name: params.name}).exec()
+ .then((_cluster) => {
+ if (_cluster && clusterId !== _cluster._id.toString())
+ return res.status(500).send('Cluster with name: "' + _cluster.name + '" already exist.');
+
+ if (clusterId) {
+ return mongo.Cluster.update({_id: clusterId}, params, {upsert: true}).exec()
+ .then(() => mongo.Cache.update({_id: {$in: caches}}, {$addToSet: {clusters: clusterId}}, {multi: true}).exec())
+ .then(() => mongo.Cache.update({_id: {$nin: caches}}, {$pull: {clusters: clusterId}}, {multi: true}).exec())
+ .then(() => mongo.Igfs.update({_id: {$in: igfss}}, {$addToSet: {clusters: clusterId}}, {multi: true}).exec())
+ .then(() => mongo.Igfs.update({_id: {$nin: igfss}}, {$pull: {clusters: clusterId}}, {multi: true}).exec())
+ .then(() => res.send(clusterId))
+ .catch((err) => mongo.handleError(res, err));
+ }
+ else {
+ return (new mongo.Cluster(params)).save()
+ .then((cluster) => {
+ clusterId = cluster._id;
+
+ return mongo.Cache.update({_id: {$in: caches}}, {$addToSet: {clusters: clusterId}}, {multi: true}).exec();
+ })
+ .then(() => mongo.Cache.update({_id: {$nin: caches}}, {$pull: {clusters: clusterId}}, {multi: true}).exec())
+ .then(() => mongo.Igfs.update({_id: {$in: igfss}}, {$addToSet: {clusters: clusterId}}, {multi: true}).exec())
+ .then(() => mongo.Igfs.update({_id: {$nin: igfss}}, {$pull: {clusters: clusterId}}, {multi: true}).exec())
+ .then(() => res.send(clusterId))
+ .catch((err) => mongo.handleError(res, err));
+ }
+ });
});
/**
http://git-wip-us.apache.org/repos/asf/ignite/blob/09d6538d/modules/control-center-web/src/main/js/serve/routes/domains.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/serve/routes/domains.js b/modules/control-center-web/src/main/js/serve/routes/domains.js
index 5d4acac..6fe64b3 100644
--- a/modules/control-center-web/src/main/js/serve/routes/domains.js
+++ b/modules/control-center-web/src/main/js/serve/routes/domains.js
@@ -78,30 +78,31 @@ module.exports.factory = (_, express, mongo) => {
const cacheStoreChanges = domain.cacheStoreChanges;
const domainId = domain._id;
- if (domainId) {
- return mongo.DomainModel.update({_id: domain._id}, domain, {upsert: true}).exec()
- .then(() => mongo.Cache.update({_id: {$in: caches}}, {$addToSet: {domains: domainId}}, {multi: true}).exec())
- .then(() => mongo.Cache.update({_id: {$nin: caches}}, {$pull: {domains: domainId}}, {multi: true}).exec())
- .then(() => {
- savedDomains.push(domain);
-
- return _updateCacheStore(cacheStoreChanges);
- });
- }
-
return mongo.DomainModel.findOne({space: domain.space, valueType: domain.valueType}).exec()
- .then((found) => {
- if (found)
- throw new Error('Domain model with value type: "' + found.valueType + '" already exist.');
-
- return (new mongo.DomainModel(domain)).save();
- })
- .then((savedDomain) => {
- savedDomains.push(savedDomain);
-
- return mongo.Cache.update({_id: {$in: caches}}, {$addToSet: {domains: savedDomain._id}}, {multi: true}).exec();
- })
- .then(() => _updateCacheStore(cacheStoreChanges));
+ .then((_domain) => {
+ if (_domain && domainId !== _domain._id.toString())
+ throw new Error('Domain model with value type: "' + _domain.valueType + '" already exist.');
+
+ if (domainId) {
+ return mongo.DomainModel.update({_id: domain._id}, domain, {upsert: true}).exec()
+ .then(() => mongo.Cache.update({_id: {$in: caches}}, {$addToSet: {domains: domainId}}, {multi: true}).exec())
+ .then(() => mongo.Cache.update({_id: {$nin: caches}}, {$pull: {domains: domainId}}, {multi: true}).exec())
+ .then(() => {
+ savedDomains.push(domain);
+
+ return _updateCacheStore(cacheStoreChanges);
+ });
+ }
+ else {
+ return (new mongo.DomainModel(domain)).save()
+ .then((savedDomain) => {
+ savedDomains.push(savedDomain);
+
+ return mongo.Cache.update({_id: {$in: caches}}, {$addToSet: {domains: savedDomain._id}}, {multi: true}).exec();
+ })
+ .then(() => _updateCacheStore(cacheStoreChanges));
+ }
+ });
};
const _save = (domains, res) => {
@@ -123,7 +124,12 @@ module.exports.factory = (_, express, mongo) => {
newCache.space = domain.space;
return (new mongo.Cache(newCache)).save()
- .then((_cache) => mongo.Cluster.update({_id: {$in: _cache.clusters}}, {$addToSet: {caches: _cache._id}}, {multi: true}).exec());
+ .then((_cache) => {
+ generatedCaches.push(_cache);
+
+ return mongo.Cluster.update({_id: {$in: _cache.clusters}}, {$addToSet: {caches: _cache._id}}, {multi: true}).exec()
+ .then(() => Promise.resolve(_cache));
+ });
})
.then((cache) => {
domain.caches = [cache._id];
http://git-wip-us.apache.org/repos/asf/ignite/blob/09d6538d/modules/control-center-web/src/main/js/serve/routes/igfs.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/serve/routes/igfs.js b/modules/control-center-web/src/main/js/serve/routes/igfs.js
index 0291728..baadfe6 100644
--- a/modules/control-center-web/src/main/js/serve/routes/igfs.js
+++ b/modules/control-center-web/src/main/js/serve/routes/igfs.js
@@ -67,29 +67,29 @@ module.exports.factory = function(_, express, mongo) {
const clusters = params.clusters;
let igfsId = params._id;
- if (params._id) {
- mongo.Igfs.update({_id: igfsId}, params, {upsert: true}).exec()
- .then(() => mongo.Cluster.update({_id: {$in: clusters}}, {$addToSet: {igfss: igfsId}}, {multi: true}).exec())
- .then(() => mongo.Cluster.update({_id: {$nin: clusters}}, {$pull: {igfss: igfsId}}, {multi: true}).exec())
- .then(() => res.send(igfsId))
- .catch((err) => mongo.handleError(res, err));
- }
- else {
- mongo.Igfs.findOne({space: params.space, name: params.name}).exec()
- .then((igfs) => {
- if (igfs)
- throw new Error('IGFS with name: "' + params.name + '" already exist.');
-
- return (new mongo.Igfs(params)).save();
- })
- .then((igfs) => {
- igfsId = igfs._id;
-
- return mongo.Cluster.update({_id: {$in: clusters}}, {$addToSet: {igfss: igfsId}}, {multi: true}).exec();
- })
- .then(() => res.send(igfsId))
- .catch((err) => mongo.handleError(res, err));
- }
+ mongo.Igfs.findOne({space: params.space, name: params.name}).exec()
+ .then((_igfs) => {
+ if (_igfs && igfsId !== _igfs._id.toString())
+ return res.status(500).send('IGFS with name: "' + params.name + '" already exist.');
+
+ if (params._id) {
+ return mongo.Igfs.update({_id: igfsId}, params, {upsert: true}).exec()
+ .then(() => mongo.Cluster.update({_id: {$in: clusters}}, {$addToSet: {igfss: igfsId}}, {multi: true}).exec())
+ .then(() => mongo.Cluster.update({_id: {$nin: clusters}}, {$pull: {igfss: igfsId}}, {multi: true}).exec())
+ .then(() => res.send(igfsId))
+ .catch((err) => mongo.handleError(res, err));
+ }
+ else {
+ return (new mongo.Igfs(params)).save()
+ .then((igfs) => {
+ igfsId = igfs._id;
+
+ return mongo.Cluster.update({_id: {$in: clusters}}, {$addToSet: {igfss: igfsId}}, {multi: true}).exec();
+ })
+ .then(() => res.send(igfsId))
+ .catch((err) => mongo.handleError(res, err));
+ }
+ })
});
/**