You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@ignite.apache.org by iv...@apache.org on 2015/07/08 19:07:57 UTC

[35/35] incubator-ignite git commit: #ignite-964: NodeJs ignite.getOrCreateCache is async function.

#ignite-964: NodeJs ignite.getOrCreateCache is async function.


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

Branch: refs/heads/ignite-964-1
Commit: ae2d0c2ff32dd2ba56f915876a35c99feac930f7
Parents: 43ab939
Author: ivasilinets <iv...@gridgain.com>
Authored: Wed Jul 8 20:07:10 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Wed Jul 8 20:07:10 2015 +0300

----------------------------------------------------------------------
 examples/src/main/js/cache-api-example.js     |  6 +-
 examples/src/main/js/cache-put-get-example.js |  8 +--
 examples/src/main/js/cache-query-example.js   |  4 +-
 modules/nodejs/src/main/js/apache-ignite.js   |  1 -
 modules/nodejs/src/main/js/cache.js           | 75 +++++++++-------------
 modules/nodejs/src/main/js/ignite.js          | 19 ++++--
 modules/nodejs/src/test/js/test-cache-api.js  | 39 +++++++----
 7 files changed, 83 insertions(+), 69 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ae2d0c2f/examples/src/main/js/cache-api-example.js
----------------------------------------------------------------------
diff --git a/examples/src/main/js/cache-api-example.js b/examples/src/main/js/cache-api-example.js
index 24c31d2..13368d5 100644
--- a/examples/src/main/js/cache-api-example.js
+++ b/examples/src/main/js/cache-api-example.js
@@ -23,9 +23,9 @@ Ignition.start(['127.0.0.1:9095'], null, onConnect);
 function onConnect(err, ignite) {
     console.log(">>> Cache API example started.");
 
-    var cache = ignite.getOrCreateCache("ApiExampleCache");
-
-    atomicMapOperations(cache);
+    ignite.getOrCreateCache("ApiExampleCache", function(err, cache) {
+            atomicMapOperations(cache);
+        });
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ae2d0c2f/examples/src/main/js/cache-put-get-example.js
----------------------------------------------------------------------
diff --git a/examples/src/main/js/cache-put-get-example.js b/examples/src/main/js/cache-put-get-example.js
index 92e0797..7a9b035 100644
--- a/examples/src/main/js/cache-put-get-example.js
+++ b/examples/src/main/js/cache-put-get-example.js
@@ -26,11 +26,11 @@ function onConnect(err, ignite) {
     if (err)
         throw err;
 
-    var cache = ignite.getOrCreateCache("PutGetExampleCache");
+   ignite.getOrCreateCache("PutGetExampleCache", function(err, cache) {
+            putGet(cache);
 
-    putGet(cache);
-
-    putAllGetAll(cache);
+            putAllGetAll(cache);
+        });
 }
 
 putGet = function(cache) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ae2d0c2f/examples/src/main/js/cache-query-example.js
----------------------------------------------------------------------
diff --git a/examples/src/main/js/cache-query-example.js b/examples/src/main/js/cache-query-example.js
index f31f0d5..1b774a0 100644
--- a/examples/src/main/js/cache-query-example.js
+++ b/examples/src/main/js/cache-query-example.js
@@ -31,7 +31,9 @@ function onConnect(err, ignite) {
 
     var entries = [new Entry("key0", "val0"), new Entry("key1", "val1")];
 
-    ignite.getOrCreateCache(cacheName).putAll(entries, onCachePut.bind(null, ignite));
+    ignite.getOrCreateCache(cacheName, function(err, cache) {
+            cache.putAll(entries, onCachePut.bind(null, ignite));
+        });
 }
 
 function onCachePut(ignite, err) {

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ae2d0c2f/modules/nodejs/src/main/js/apache-ignite.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/main/js/apache-ignite.js b/modules/nodejs/src/main/js/apache-ignite.js
index 2379b36..053b88a 100644
--- a/modules/nodejs/src/main/js/apache-ignite.js
+++ b/modules/nodejs/src/main/js/apache-ignite.js
@@ -19,7 +19,6 @@ module.exports = {
     Cache : require('./cache.js').Cache,
     CacheEntry : require('./cache.js').CacheEntry,
     Ignition : require('./ignition.js').Ignition,
-    Server : require('./server.js').Server,
     Ignite : require('./ignite.js').Ignite,
     Compute : require('./compute.js').Compute,
     SqlQuery : require('./sql-query.js').SqlQuery,

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ae2d0c2f/modules/nodejs/src/main/js/cache.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/main/js/cache.js b/modules/nodejs/src/main/js/cache.js
index 67a8b6c..893a945 100644
--- a/modules/nodejs/src/main/js/cache.js
+++ b/modules/nodejs/src/main/js/cache.js
@@ -27,12 +27,20 @@ var SqlQuery = require("./sql-query").SqlQuery
  * @this {Cache}
  * @param {Server} server Server class
  * @param {string} cacheName Cache name
- * @param {boolean} create True if cache is not exist.
  */
-function Cache(server, cacheName, create) {
+function Cache(server, cacheName) {
     this._server = server;
     this._cacheName = cacheName;
-    this._create = create;
+}
+
+/**
+ * Get cache name.
+ *
+ * @this{Cache}
+ * @returns {string} Cache name.
+ */
+Cache.prototype.name = function() {
+    return this._cacheName;
 }
 
 /**
@@ -43,7 +51,7 @@ function Cache(server, cacheName, create) {
  * @param {onGet} callback Called on finish
  */
 Cache.prototype.get = function(key, callback) {
-    this._runCacheCommand(this._createCommand("get").
+    this._server.runCommand(this._createCommand("get").
         setPostData(JSON.stringify({"key": key})),
         callback);
 };
@@ -57,7 +65,7 @@ Cache.prototype.get = function(key, callback) {
  * @param {noValue} callback Called on finish
  */
 Cache.prototype.put = function(key, value, callback) {
-    this._runCacheCommand(this._createCommand("put").
+    this._server.runCommand(this._createCommand("put").
         setPostData(JSON.stringify({"key": key, "val" : value})),
         callback);
 }
@@ -71,7 +79,7 @@ Cache.prototype.put = function(key, value, callback) {
  * @param {onGet} callback Called on finish
  */
 Cache.prototype.putIfAbsent = function(key, value, callback) {
-    this._runCacheCommand(this._createCommand("putifabsent").
+    this._server.runCommand(this._createCommand("putifabsent").
         setPostData(JSON.stringify({"key": key, "val" : value})),
         callback);
 }
@@ -84,7 +92,7 @@ Cache.prototype.putIfAbsent = function(key, value, callback) {
  * @param {noValue} callback Called on finish
  */
 Cache.prototype.remove = function(key, callback) {
-    this._runCacheCommand(this._createCommand("rmv").
+    this._server.runCommand(this._createCommand("rmv").
         setPostData(JSON.stringify({"key": key})),
         callback);
 }
@@ -98,7 +106,7 @@ Cache.prototype.remove = function(key, callback) {
  * @param {noValue} callback Called on finish
  */
 Cache.prototype.removeValue = function(key, value, callback) {
-    this._runCacheCommand(this._createCommand("rmvvalue").
+    this._server.runCommand(this._createCommand("rmvvalue").
         setPostData(JSON.stringify({"key": key, "val" : value})),
         callback);
 }
@@ -111,7 +119,7 @@ Cache.prototype.removeValue = function(key, value, callback) {
  * @param {onGet} callback Called on finish with previous value
  */
 Cache.prototype.getAndRemove = function(key, callback) {
-    this._runCacheCommand(this._createCommand("getandrmv").
+    this._server.runCommand(this._createCommand("getandrmv").
         setPostData(JSON.stringify({"key": key})),
         callback);
 }
@@ -124,7 +132,7 @@ Cache.prototype.getAndRemove = function(key, callback) {
  * @param {noValue} callback Called on finish
  */
 Cache.prototype.removeAll = function(keys, callback) {
-    this._runCacheCommand(this._createCommand("rmvall").
+    this._server.runCommand(this._createCommand("rmvall").
         setPostData(JSON.stringify({"keys" : keys})),
         callback);
 }
@@ -136,7 +144,7 @@ Cache.prototype.removeAll = function(keys, callback) {
  * @param {noValue} callback Called on finish
  */
 Cache.prototype.removeAllFromCache = function(callback) {
-    this._runCacheCommand(this._createCommand("rmvall"),
+    this._server.runCommand(this._createCommand("rmvall"),
         callback);
 }
 
@@ -148,7 +156,7 @@ Cache.prototype.removeAllFromCache = function(callback) {
  * @param {noValue} callback Called on finish
  */
 Cache.prototype.putAll = function(entries, callback) {
-    this._runCacheCommand(this._createCommand("putall").setPostData(
+    this._server.runCommand(this._createCommand("putall").setPostData(
         JSON.stringify({"entries" : entries})), callback);
 }
 
@@ -176,7 +184,7 @@ Cache.prototype.getAll = function(keys, callback) {
         callback.call(null, null, result);
     }
 
-    this._runCacheCommand(this._createCommand("getall").setPostData(
+    this._server.runCommand(this._createCommand("getall").setPostData(
         JSON.stringify({"keys" : keys})),
         onGetAll.bind(null, callback));
 }
@@ -189,7 +197,7 @@ Cache.prototype.getAll = function(keys, callback) {
  * @param {Cache~onGetAll} callback Called on finish with boolean result
  */
 Cache.prototype.containsKey = function(key, callback) {
-    this._runCacheCommand(this._createCommand("containskey").
+    this._server.runCommand(this._createCommand("containskey").
         setPostData(JSON.stringify({"key" : key})), callback);
 }
 
@@ -201,7 +209,7 @@ Cache.prototype.containsKey = function(key, callback) {
  * @param {Cache~onGetAll} callback Called on finish with boolean result
  */
 Cache.prototype.containsKeys = function(keys, callback) {
-    this._runCacheCommand(this._createCommand("containskeys").
+    this._server.runCommand(this._createCommand("containskeys").
         setPostData(JSON.stringify({"keys" : keys})), callback);
 }
 
@@ -214,7 +222,7 @@ Cache.prototype.containsKeys = function(keys, callback) {
  * @param {onGet} callback Called on finish
  */
 Cache.prototype.getAndPut = function(key, val, callback) {
-    this._runCacheCommand(this._createCommand("getandput").
+    this._server.runCommand(this._createCommand("getandput").
         setPostData(JSON.stringify({"key" : key, "val" : val})), callback);
 }
 
@@ -227,7 +235,7 @@ Cache.prototype.getAndPut = function(key, val, callback) {
  * @param {onGet} callback Called on finish
  */
 Cache.prototype.replace = function(key, val, callback) {
-    this._runCacheCommand(this._createCommand("rep").
+    this._server.runCommand(this._createCommand("rep").
         setPostData(JSON.stringify({"key" : key, "val" : val})), callback);
 }
 
@@ -241,7 +249,7 @@ Cache.prototype.replace = function(key, val, callback) {
  * @param {onGet} callback Called on finish
  */
 Cache.prototype.replaceValue = function(key, val, oldVal, callback) {
-    this._runCacheCommand(this._createCommand("repVal").
+    this._server.runCommand(this._createCommand("repVal").
         setPostData(JSON.stringify({"key" : key, "val" : val, "oldVal" : oldVal})), callback);
 }
 
@@ -254,7 +262,7 @@ Cache.prototype.replaceValue = function(key, val, oldVal, callback) {
  * @param {onGet} callback Called on finish
  */
 Cache.prototype.getAndReplace = function(key, val, callback) {
-    this._runCacheCommand(this._createCommand("getandreplace").
+    this._server.runCommand(this._createCommand("getandreplace").
         setPostData(JSON.stringify({"key" : key, "val" : val})), callback);
 }
 
@@ -267,7 +275,7 @@ Cache.prototype.getAndReplace = function(key, val, callback) {
  * @param {onGet} callback Called on finish
  */
 Cache.prototype.getAndPutIfAbsent = function(key, val, callback) {
-    this._runCacheCommand(this._createCommand("getandputifabsent").
+    this._server.runCommand(this._createCommand("getandputifabsent").
         setPostData(JSON.stringify({"key" : key, "val" : val})), callback);
 }
 
@@ -276,7 +284,7 @@ Cache.prototype.getAndPutIfAbsent = function(key, val, callback) {
  * @param {onGet} callback Called on finish
  */
 Cache.prototype.size = function(callback) {
-    this._runCacheCommand(this._createCommand("cachesize"), callback);
+    this._server.runCommand(this._createCommand("cachesize"), callback);
 }
 
 /**
@@ -319,7 +327,7 @@ Cache.prototype._sqlFieldsQuery = function(qry, onQueryExecute) {
 
     command.setPostData(JSON.stringify({"arg" : qry.arguments()}));
 
-    this._runCacheCommand(command, onQueryExecute.bind(this, qry));
+    this._server.runCommand(command, onQueryExecute.bind(this, qry));
 }
 
 Cache.prototype._sqlQuery = function(qry, onQueryExecute) {
@@ -335,7 +343,7 @@ Cache.prototype._sqlQuery = function(qry, onQueryExecute) {
 
     command.setPostData(JSON.stringify({"arg" : qry.arguments()}));
 
-    this._runCacheCommand(command, onQueryExecute.bind(this, qry));
+    this._server.runCommand(command, onQueryExecute.bind(this, qry));
 }
 
 Cache.prototype._createCommand = function(name) {
@@ -352,27 +360,6 @@ Cache.prototype._createQueryCommand = function(name, qry) {
     return command.addParam("psz", qry.pageSize());
 }
 
-Cache.prototype._runCacheCommand = function(command, callback) {
-    if (this._create) {
-        var onCreateCallback = function(command, callback, err) {
-            if (err !== null) {
-                callback.call(null, err, null);
-
-                return;
-            }
-
-            this._create = false;
-
-            this._server.runCommand(command, callback);
-        }
-
-        this._server.runCommand(this._createCommand("getorcreatecache"),
-            onCreateCallback.bind(this, command, callback));
-    }
-    else {
-        this._server.runCommand(command, callback);
-    }
-}
 /**
  * @this{CacheEntry}
  * @param key Key

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ae2d0c2f/modules/nodejs/src/main/js/ignite.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/main/js/ignite.js b/modules/nodejs/src/main/js/ignite.js
index fea34f9..cbe8552 100644
--- a/modules/nodejs/src/main/js/ignite.js
+++ b/modules/nodejs/src/main/js/ignite.js
@@ -48,7 +48,7 @@ Ignite.prototype.server = function() {
  * @returns {Cache} Cache
  */
 Ignite.prototype.cache = function(cacheName) {
-    return new Cache(this._server, cacheName, false);
+    return new Cache(this._server, cacheName);
 }
 
 /**
@@ -56,10 +56,21 @@ Ignite.prototype.cache = function(cacheName) {
  *
  * @this {Ignite}
  * @param {string} Cache name
- * @returns {Cache} Cache
+ * @param callback Callback with cache.
  */
-Ignite.prototype.getOrCreateCache = function(cacheName) {
-    return new Cache(this._server, cacheName, true);
+Ignite.prototype.getOrCreateCache = function(cacheName, callback) {
+    var onCreateCallback = function(err) {
+        if (err !== null) {
+            callback.call(null, err, null);
+
+            return;
+        }
+
+        callback.call(null, null, new Cache(this._server, cacheName))
+    }
+
+    this._server.runCommand(new Command("getorcreatecache").addParam("cacheName", cacheName),
+        onCreateCallback.bind(this));
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/ae2d0c2f/modules/nodejs/src/test/js/test-cache-api.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/test/js/test-cache-api.js b/modules/nodejs/src/test/js/test-cache-api.js
index c599a86..9855fa3 100644
--- a/modules/nodejs/src/test/js/test-cache-api.js
+++ b/modules/nodejs/src/test/js/test-cache-api.js
@@ -311,23 +311,38 @@ function startTest(createCache, cacheName, testDescription) {
 }
 
 function onStart(createCache, cacheName, testDescription, error, ignite) {
-    var cache;
     if (createCache) {
-        cache = ignite.getOrCreateCache(cacheName);
+        ignite.getOrCreateCache(cacheName, function(err, cache) {
+            assert(err === null, err);
+
+            function callNext(error) {
+                assert(!error);
+                var next = testDescription.trace.shift();
+                if (next)
+                    next.call(null, cache, testDescription.entry, callNext);
+                else
+                    TestUtils.testDone();
+            }
+
+            callNext();
+        });
     }
     else {
-        cache = ignite.cache(cacheName);
-    }
-    callNext();
+        var cache = ignite.cache(cacheName);
+
+        function callNext(error) {
+            assert(!error);
+            var next = testDescription.trace.shift();
+            if (next)
+                next.call(null, cache, testDescription.entry, callNext);
+            else
+                TestUtils.testDone();
+        }
 
-    function callNext(error) {
-        assert(!error);
-        var next = testDescription.trace.shift();
-        if (next)
-            next.call(null, cache, testDescription.entry, callNext);
-        else
-            TestUtils.testDone();
+        callNext();
     }
+
+
 }
 
 function put(cache, entry, next) {