Repository: incubator-ignite Updated Branches: refs/heads/ignite-nodejs 5658d35b3 -> 7ef272797
#nodejs: add ignite.js Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/7ef27279 Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/7ef27279 Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/7ef27279 Branch: refs/heads/ignite-nodejs Commit: 7ef2727977aa6b162efbe17d7c33ed3314dbc52f Parents: 5658d35 Author: ivasilinets <ivasilin...@gridgain.com> Authored: Mon Jun 8 15:40:16 2015 +0300 Committer: ivasilinets <ivasilin...@gridgain.com> Committed: Mon Jun 8 15:40:16 2015 +0300 ---------------------------------------------------------------------- modules/nodejs/src/main/js/apache-ignite.js | 3 +- modules/nodejs/src/main/js/cache.js | 16 +++++---- modules/nodejs/src/main/js/ignite.js | 42 ++++++++++++++++++++++++ modules/nodejs/src/main/js/ignition.js | 7 ++-- modules/nodejs/src/main/js/server.js | 12 +++++++ modules/nodejs/src/test/js/test-put-get.js | 10 ++++-- 6 files changed, 77 insertions(+), 13 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7ef27279/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 c20e3dd..e03334d 100644 --- a/modules/nodejs/src/main/js/apache-ignite.js +++ b/modules/nodejs/src/main/js/apache-ignite.js @@ -18,5 +18,6 @@ module.exports = { Cache : require('./cache.js').Cache, Ignition : require('./ignition.js').Ignition, - Server : require('./server.js').Server + Server : require('./server.js').Server, + Ignite : require('./ignite.js').Ignite } \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7ef27279/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 e3c5406..83a93c5 100644 --- a/modules/nodejs/src/main/js/cache.js +++ b/modules/nodejs/src/main/js/cache.js @@ -24,9 +24,11 @@ * @param {string} cacheName Cache name */ function Cache(server, cacheName) { + var Server = require("./server").Server; + this._server = server; this._cacheName = cacheName; - this._cacheNameParam = _pair("cacheName", this._cacheName); + this._cacheNameParam = Server.pair("cacheName", this._cacheName); } /** @@ -37,7 +39,9 @@ function Cache(server, cacheName) { * @param {Cache~onGet} callback Called on finish */ Cache.prototype.get = function(key, callback) { - this._server.runCommand("get", [this._cacheNameParam, _pair("key", key)], callback); + var Server = require("./server").Server; + + this._server.runCommand("get", [this._cacheNameParam, Server.pair("key", key)], callback); }; /** @@ -56,7 +60,9 @@ Cache.prototype.get = function(key, callback) { * @param {Cache~onPut} callback Called on finish */ Cache.prototype.put = function(key, value, callback) { - this._server.runCommand("put", [this._cacheNameParam, _pair("key", key), _pair("val", value)], + var Server = require("./server").Server; + + this._server.runCommand("put", [this._cacheNameParam, Server.pair("key", key), Server.pair("val", value)], callback); } @@ -66,8 +72,4 @@ Cache.prototype.put = function(key, value, callback) { * @param {string} error Error */ -function _pair(key, value) { - return {key: key, value: value} -} - exports.Cache = Cache \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7ef27279/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 new file mode 100644 index 0000000..a883267 --- /dev/null +++ b/modules/nodejs/src/main/js/ignite.js @@ -0,0 +1,42 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * Create an instance of Ignite + * + * @constructor + * @this {Ignite} + * @param {Server} Server + */ +function Ignite(server) { + this._server = server; +} + +/** + * Get an instance of cache + * + * @this {Ignite} + * @param {string} Cache name + * @returns {Cache} Cache + */ +Ignite.prototype.cache = function(cacheName) { + var Cache = require("./cache").Cache; + + return new Cache(this._server, cacheName); +} + +exports.Ignite = Ignite; http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7ef27279/modules/nodejs/src/main/js/ignition.js ---------------------------------------------------------------------- diff --git a/modules/nodejs/src/main/js/ignition.js b/modules/nodejs/src/main/js/ignition.js index 08398a1..8450fc7 100644 --- a/modules/nodejs/src/main/js/ignition.js +++ b/modules/nodejs/src/main/js/ignition.js @@ -28,7 +28,7 @@ function Ignition() { * * @callback Ignition~onStart * @param {string} error Error - * @param {Server} server Connected server + * @param {Ignite} ignite Connected ignite */ /** @@ -39,7 +39,10 @@ function Ignition() { */ Ignition.start = function(address, callback) { var Server = require("./server").Server; + var Ignite = require("./ignite").Ignite + var numConn = address.length; + for (var addr of address) { var params = addr.split(":"); var server = new Server(params[0], params[1]); @@ -51,7 +54,7 @@ Ignition.start = function(address, callback) { numConn--; if (!error) { - callback.call(null, null, server); + callback.call(null, null, new Ignite(server)); callback = null; return; } http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7ef27279/modules/nodejs/src/main/js/server.js ---------------------------------------------------------------------- diff --git a/modules/nodejs/src/main/js/server.js b/modules/nodejs/src/main/js/server.js index 27256b8..a53985b 100644 --- a/modules/nodejs/src/main/js/server.js +++ b/modules/nodejs/src/main/js/server.js @@ -89,6 +89,7 @@ Server.prototype.runCommand = function(cmdName, params, callback) { } } catch (e) { console.log("fail on json parse: " + fullResponseString); + callback.call(null, e, null); } }); @@ -112,4 +113,15 @@ Server.prototype.checkConnection = function(callback) { this.runCommand("version", [], callback); } +/** + * Returns pair for runCommand + * + * @param {string} key Key + * @param {string} value Value + * @returns Pair of strings + */ +Server.pair = function(key, value) { + return {key: key, value: value} +} + exports.Server = Server; \ No newline at end of file http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7ef27279/modules/nodejs/src/test/js/test-put-get.js ---------------------------------------------------------------------- diff --git a/modules/nodejs/src/test/js/test-put-get.js b/modules/nodejs/src/test/js/test-put-get.js index 10205d5..3bf7b89 100644 --- a/modules/nodejs/src/test/js/test-put-get.js +++ b/modules/nodejs/src/test/js/test-put-get.js @@ -18,13 +18,17 @@ var TestUtils = require("./test-utils").TestUtils; var Apache = require(TestUtils.scriptPath()); +var Ignition = Apache.Ignition; var Cache = Apache.Cache; var Server = Apache.Server; testPutGet = function() { - var server = new Server('127.0.0.1', 9095); - var cache = new Cache(server, "mycache"); - cache.put("key", "6", onPut.bind(null, cache)); + Ignition.start(['127.0.0.1:9095'], onStart); +} + +function onStart(error, ignite) { + var cache = ignite.cache("mycache"); + cache.put("key", "6", onPut.bind(null, cache)); } function onPut(cache, error) {