ignite-1155 Fix problems after merge.

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

Branch: refs/heads/ignite-843
Commit: c07e2c9699f4d0bb18fea568a353fc4d5972d220
Parents: f1b0351
Author: sevdokimov <sergey.evdoki...@jetbrains.com>
Authored: Fri Jul 31 10:36:30 2015 +0300
Committer: sevdokimov <sergey.evdoki...@jetbrains.com>
Committed: Fri Jul 31 10:36:30 2015 +0300

----------------------------------------------------------------------
 .../src/main/js/routes/agent.js                 | 59 ++++++++++++++++++--
 1 file changed, 53 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/c07e2c96/modules/control-center-web/src/main/js/routes/agent.js
----------------------------------------------------------------------
diff --git a/modules/control-center-web/src/main/js/routes/agent.js 
b/modules/control-center-web/src/main/js/routes/agent.js
index aad5cef..061376f 100644
--- a/modules/control-center-web/src/main/js/routes/agent.js
+++ b/modules/control-center-web/src/main/js/routes/agent.js
@@ -18,19 +18,66 @@
 var router = require('express').Router();
 var agentManager = require('../agents/agent-manager');
 
+var apacheIgnite = require('apache-ignite');
+var SqlFieldsQuery = apacheIgnite.SqlFieldsQuery;
+
 /* GET summary page. */
 router.post('/topology', function(req, res) {
-    var c = agentManager.getAgentManager()._getFirstClient();
+    var client = agentManager.getAgentManager().getOneClient();
 
-    if (!c)
+    if (!client)
         return res.status(500).send("Client not found");
 
-    var ignite = c.ignite();
+    client.ignite().cluster().then(function (clusters) {
+        res.json(clusters.map(function (cluster) {
+            var caches = Object.keys(cluster._caches).map(function(key) {
+                return {"name" : key, "mode" : cluster._caches[key] }
+            });
+
+            return { nodeId: cluster._nodeId, caches: caches };
+        }));
+    }, function (err) {
+        res.status(500).send(err);
+    });
+});
+
+/* GET summary page. */
+router.post('/query', function(req, res) {
+    var client = agentManager.getAgentManager().getOneClient();
+
+    if (!client)
+        return res.status(500).send("Client not found");
+
+    // Create sql query.
+    var qry = new SqlFieldsQuery(req.body.query);
+
+    // Set page size for query.
+    qry.setPageSize(req.body.pageSize);
+
+    // Get query cursor.
+    
client.ignite().cache(req.body.cacheName).query(qry).nextPage().then(function 
(cursor) {
+        res.json({meta: cursor.fieldsMetadata(), rows: cursor.page(), queryId: 
cursor.queryId()});
+    }, function (err) {
+        res.status(500).send(err);
+    });
+});
+
+/* GET summary page. */
+router.post('/next_page', function(req, res) {
+    var client = agentManager.getAgentManager().getOneClient();
+
+    if (!client)
+        return res.status(500).send("Client not found");
+
+    var cache = client.ignite().cache(req.body.cacheName);
+
+    var cmd = cache._createCommand("qryfetch").addParam("qryId", 
req.body.queryId).
+        addParam("psz", req.body.pageSize);
 
-    ignite.cluster().then(function (cluster) {
-        res.json(cluster);
+    cache.__createPromise(cmd).then(function (page) {
+        res.json({rows: page["items"], last: page === null || page["last"]});
     }, function (err) {
-        res.send(err);
+        res.status(500).send(err);
     });
 });
 

Reply via email to