ignite-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From sboi...@apache.org
Subject [1/7] incubator-ignite git commit: #ignite-964: Query "select * from String" works for nodejs.
Date Fri, 26 Jun 2015 16:46:56 GMT
Repository: incubator-ignite
Updated Branches:
  refs/heads/ignite-964 fb182ab17 -> ed7dd30ed


#ignite-964: Query "select * from String" works for nodejs.


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

Branch: refs/heads/ignite-964
Commit: 967ea5488fa8ff096a86f534fbb875fc434dba24
Parents: fb182ab
Author: ivasilinets <ivasilinets@gridgain.com>
Authored: Fri Jun 26 16:39:00 2015 +0300
Committer: ivasilinets <ivasilinets@gridgain.com>
Committed: Fri Jun 26 16:39:00 2015 +0300

----------------------------------------------------------------------
 .../processors/rest/GridRestProcessor.java      |  2 +
 .../handlers/query/QueryCommandHandler.java     | 13 +++-
 .../rest/request/RestSqlQueryRequest.java       | 40 +++++++++++-
 modules/nodejs/pom.xml                          |  6 ++
 modules/nodejs/src/main/js/apache-ignite.js     |  3 +-
 modules/nodejs/src/main/js/cache.js             | 22 +++++--
 modules/nodejs/src/main/js/compute.js           | 20 ++----
 modules/nodejs/src/main/js/server.js            | 64 +++++++++++--------
 modules/nodejs/src/main/js/sql-query.js         | 65 ++++++++++++++++++++
 .../ignite/internal/NodeJsAbstractTest.java     |  1 +
 .../apache/ignite/internal/NodeJsSqlQuery.java  | 47 ++++++++++++++
 modules/nodejs/src/test/js/test-query.js        | 53 ++++++++++++++++
 .../http/jetty/GridJettyRestHandler.java        |  4 +-
 13 files changed, 288 insertions(+), 52 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
index 5d886fc..bcc6496 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/GridRestProcessor.java
@@ -24,6 +24,7 @@ import org.apache.ignite.internal.processors.*;
 import org.apache.ignite.internal.processors.rest.client.message.*;
 import org.apache.ignite.internal.processors.rest.handlers.*;
 import org.apache.ignite.internal.processors.rest.handlers.cache.*;
+import org.apache.ignite.internal.processors.rest.handlers.query.*;
 import org.apache.ignite.internal.processors.rest.handlers.scripting.*;
 import org.apache.ignite.internal.processors.rest.handlers.datastructures.*;
 import org.apache.ignite.internal.processors.rest.handlers.task.*;
@@ -290,6 +291,7 @@ public class GridRestProcessor extends GridProcessorAdapter {
             addHandler(new GridVersionCommandHandler(ctx));
             addHandler(new DataStructuresCommandHandler(ctx));
             addHandler(new IgniteScriptingCommandHandler(ctx));
+            addHandler(new QueryCommandHandler(ctx));
         }
     }
 

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
index 3f5c8bb..c866933 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/handlers/query/QueryCommandHandler.java
@@ -17,6 +17,8 @@
 
 package org.apache.ignite.internal.processors.rest.handlers.query;
 
+import org.apache.ignite.*;
+import org.apache.ignite.cache.query.*;
 import org.apache.ignite.internal.*;
 import org.apache.ignite.internal.processors.rest.*;
 import org.apache.ignite.internal.processors.rest.handlers.*;
@@ -25,6 +27,7 @@ import org.apache.ignite.internal.util.future.*;
 import org.apache.ignite.internal.util.typedef.internal.*;
 import org.apache.ignite.lang.*;
 
+import javax.cache.*;
 import java.util.*;
 
 import static org.apache.ignite.internal.processors.rest.GridRestCommand.*;
@@ -59,9 +62,15 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter
{
                 assert req instanceof RestSqlQueryRequest : "Invalid type of query request.";
 
                 return ctx.closure().callAsync(new IgniteClosure<RestSqlQueryRequest,
GridRestResponse>() {
-                    @Override public GridRestResponse apply(RestSqlQueryRequest req) {
+                    @Override public GridRestResponse apply(RestSqlQueryRequest req0) {
                         try {
-                            return new GridRestResponse(); //TODO
+                            SqlQuery<String, String> qry = new SqlQuery(String.class,
req0.sqlQuery());
+
+                            IgniteCache<Object, Object> cache = ctx.grid().cache(req0.cacheName());
+
+                            List<Cache.Entry<String, String>> res = cache.query(qry).getAll();
+
+                            return new GridRestResponse("Page size " + res);
                         }
                         catch (Exception e) {
                             return new GridRestResponse(GridRestResponse.STATUS_FAILED, e.getMessage());

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/request/RestSqlQueryRequest.java
----------------------------------------------------------------------
diff --git a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/request/RestSqlQueryRequest.java
b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/request/RestSqlQueryRequest.java
index 4d74626..5731a03 100644
--- a/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/request/RestSqlQueryRequest.java
+++ b/modules/core/src/main/java/org/apache/ignite/internal/processors/rest/request/RestSqlQueryRequest.java
@@ -25,7 +25,13 @@ public class RestSqlQueryRequest extends GridRestRequest {
     private String sqlQry;
 
     /** Sql query arguments. */
-    private Object[] args;
+    private Object args;
+
+    /** Page size. */
+    private Integer pageSz;
+
+    /** Cache name. */
+    private String cacheName;
 
     /**
      * @param sqlQry Sql query.
@@ -44,14 +50,42 @@ public class RestSqlQueryRequest extends GridRestRequest {
     /**
      * @param args Sql query arguments.
      */
-    public void arguments(Object[] args) {
+    public void arguments(Object args) {
         this.args = args;
     }
 
     /**
      * @return Sql query arguments.
      */
-    public Object[] arguments() {
+    public Object arguments() {
         return args;
     }
+
+    /**
+     * @param pageSz Page size.
+     */
+    public void pageSize(Integer pageSz) {
+        this.pageSz = pageSz;
+    }
+
+    /**
+     * @return Page size.
+     */
+    public int pageSize() {
+        return pageSz;
+    }
+
+    /**
+     * @param cacheName Cache name.
+     */
+    public void cacheName(String cacheName) {
+        this.cacheName = cacheName;
+    }
+
+    /**
+     * @return Cache name.
+     */
+    public String cacheName() {
+        return cacheName;
+    }
 }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/modules/nodejs/pom.xml
----------------------------------------------------------------------
diff --git a/modules/nodejs/pom.xml b/modules/nodejs/pom.xml
index dcd3471..c9752b1 100644
--- a/modules/nodejs/pom.xml
+++ b/modules/nodejs/pom.xml
@@ -54,6 +54,12 @@
 
         <dependency>
             <groupId>org.apache.ignite</groupId>
+            <artifactId>ignite-indexing</artifactId>
+            <version>${project.version}</version>
+        </dependency>
+
+        <dependency>
+            <groupId>org.apache.ignite</groupId>
             <artifactId>ignite-rest-http</artifactId>
             <version>${project.version}</version>
         </dependency>

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/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 e8252fc..c65c49d 100644
--- a/modules/nodejs/src/main/js/apache-ignite.js
+++ b/modules/nodejs/src/main/js/apache-ignite.js
@@ -20,5 +20,6 @@ module.exports = {
     Ignition : require('./ignition.js').Ignition,
     Server : require('./server.js').Server,
     Ignite : require('./ignite.js').Ignite,
-    Compute : require('./compute.js').Compute
+    Compute : require('./compute.js').Compute,
+    SqlQuery : require('./sql-query.js').SqlQuery
 }
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/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 9333254..fcb3d49 100644
--- a/modules/nodejs/src/main/js/cache.js
+++ b/modules/nodejs/src/main/js/cache.js
@@ -131,12 +131,24 @@ Cache.prototype.getAll = function(keys, callback) {
 /**
  * Execute sql query
  *
- * @param {string} qry Query
- * @param {string[]} arg Arguments
- * @param {onGet} callback Callback.
+ * @param {SqlQuery} qry Query
  */
-Cache.prototype.query = function(qry, arg, callback) {
-    this._server.runCommand("sqlqry", [Server.pair("qry", qry), Server.pair("arg", arg)],
callback);
+Cache.prototype.query = function(qry) {
+    function onQuery(qry, error, res) {
+        if (error) {
+            qry.error(error);
+
+            return;
+        }
+
+        qry.end(res);
+    }
+
+    this._server.runCommand("sqlqry", [
+        Server.pair("cacheName", this._cacheName),
+        Server.pair("qry", qry.query()),
+        Server.pair("arg", qry.arguments()),
+        Server.pair("psz", qry.pageSize())], onQuery.bind(null, qry));
 }
 
 /**

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/modules/nodejs/src/main/js/compute.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/main/js/compute.js b/modules/nodejs/src/main/js/compute.js
index 9aef39e..5789528 100644
--- a/modules/nodejs/src/main/js/compute.js
+++ b/modules/nodejs/src/main/js/compute.js
@@ -33,8 +33,8 @@ function Compute(server) {
  * @param {onGet} callback Callback
  */
 Compute.prototype.runScript = function(runnable, args, callback) {
-    this._server.runCommand("runscript", [Server.pair("func", this._escape(runnable)),
-        Server.pair("arg", this._escape(args))], callback);
+    this._server.runCommand("runscript", [Server.pair("func", runnable),
+        Server.pair("arg", args)], callback);
 }
 
 /**
@@ -47,24 +47,14 @@ Compute.prototype.runScript = function(runnable, args, callback) {
 Compute.prototype.execute = function(map, reduce, arg, callback) {
     var params = [];
 
-    params.push(Server.pair("map", this._escape(map)));
-    params.push(Server.pair("reduce", this._escape(reduce)));
-    params.push(Server.pair("arg", this._escape(arg)));
+    params.push(Server.pair("map", map));
+    params.push(Server.pair("reduce", reduce));
+    params.push(Server.pair("arg", arg));
 
     this._server.runCommand("excmapreduce", params, callback);
 }
 
 /**
- * @param {noValue} f Function
- * @returns {string} Encoding function
- */
-Compute.prototype._escape = function(f) {
-    var qs = require('querystring');
-
-    return qs.escape(f.toString());
-}
-
-/**
  * @name EmitFunction
  * @function
  * @param {function} func Remote job

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/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 2bd0b4e..376e981 100644
--- a/modules/nodejs/src/main/js/server.js
+++ b/modules/nodejs/src/main/js/server.js
@@ -87,33 +87,37 @@ Server.prototype.runCommand = function(cmdName, params, callback) {
         });
 
         response.on('end', function () {
-        if (response.statusCode !== 200) {
-            if (response.statusCode === 401) {
-                callback.call(null, "Authentication failed. Status code 401.");
+            console.log("END " + response);
+            console.log("End status code " + response.statusCode);
+            console.log("Full response " + fullResponseString);
+
+            if (response.statusCode !== 200) {
+                if (response.statusCode === 401) {
+                    callback.call(null, "Authentication failed. Status code 401.");
+                }
+                else {
+                    callback.call(null, "Request failed. Status code " + response.statusCode);
+                }
+
+                return;
             }
-            else {
-                callback.call(null, "Request failed. Status code " + response.statusCode);
+
+            var igniteResponse;
+
+            try {
+                igniteResponse = JSON.parse(fullResponseString);
+            }
+            catch (e) {
+                callback.call(null, e, null);
+                return;
             }
 
-            return;
-        }
-
-        var igniteResponse;
-
-        try {
-            igniteResponse = JSON.parse(fullResponseString);
-        }
-        catch (e) {
-            callback.call(null, e, null);
-            return;
-        }
-
-        if (igniteResponse.successStatus) {
-            callback.call(null, igniteResponse.error, null)
-        }
-        else {
-            callback.call(null, null, igniteResponse.response);
-        }
+            if (igniteResponse.successStatus) {
+                callback.call(null, igniteResponse.error, null)
+            }
+            else {
+                callback.call(null, null, igniteResponse.response);
+            }
         });
     }
 
@@ -144,7 +148,7 @@ Server.prototype.checkConnection = function(callback) {
  * @returns Pair of strings
  */
 Server.pair = function(key, value) {
-    return {key: key, value: value}
+    return {key: Server._escape(key), value: Server._escape(value)}
 }
 
 /**
@@ -175,4 +179,14 @@ Server.prototype._signature = function() {
     return {"X-Signature" : key};
 }
 
+/**
+ * @param {noValue} f Function
+ * @returns {string} Encoding function
+ */
+Server._escape = function(f) {
+    var qs = require('querystring');
+
+    return qs.escape(f.toString());
+}
+
 exports.Server = Server;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/modules/nodejs/src/main/js/sql-query.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/main/js/sql-query.js b/modules/nodejs/src/main/js/sql-query.js
new file mode 100644
index 0000000..ea3b23b
--- /dev/null
+++ b/modules/nodejs/src/main/js/sql-query.js
@@ -0,0 +1,65 @@
+/*
+ * 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.
+ */
+
+/**
+ * @this {SqlQuery}
+ * @param {string} Sql query
+ */
+function SqlQuery(sql) {
+    this._sql = sql;
+    this._arg = [];
+    this._pageSz = 0;
+    this._endFunc = function(res) {console.log("Empty end function is called [res=" + res
+ "]")};
+    this._errFunc = function(err) {console.log("Empty error function is called [err=" + err
+ "]")}
+}
+
+SqlQuery.prototype.on = function(code, f) {
+    switch(code) {
+        case "end":
+            this._endFunc = f;
+
+            break;
+        case "error" :
+            this._errFunc = f;
+
+            break;
+        default :
+            throw "Sql do not have method " + code;
+    }
+}
+
+SqlQuery.prototype.end = function(res) {
+    return this._endFunc(res);
+}
+
+SqlQuery.prototype.error = function(err) {
+    return this._errFunc(err);
+}
+
+SqlQuery.prototype.query = function() {
+    return this._sql;
+}
+
+SqlQuery.prototype.arguments = function() {
+    return this._arg;
+}
+
+SqlQuery.prototype.pageSize = function() {
+    return this._pageSz;
+}
+
+exports.SqlQuery = SqlQuery;
\ No newline at end of file

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsAbstractTest.java
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsAbstractTest.java
b/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsAbstractTest.java
index 79ae908..47152e9 100644
--- a/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsAbstractTest.java
+++ b/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsAbstractTest.java
@@ -87,6 +87,7 @@ public class NodeJsAbstractTest extends GridCommonAbstractTest {
 
         ccfg.setName(CACHE_NAME);
         ccfg.setAtomicityMode(CacheAtomicityMode.ATOMIC);
+        ccfg.setIndexedTypes(String.class, String.class);
 
         return ccfg;
     }

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsSqlQuery.java
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsSqlQuery.java b/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsSqlQuery.java
new file mode 100644
index 0000000..54d6395
--- /dev/null
+++ b/modules/nodejs/src/test/java/org/apache/ignite/internal/NodeJsSqlQuery.java
@@ -0,0 +1,47 @@
+/*
+ * 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.
+ */
+
+package org.apache.ignite.internal;
+
+/**
+ * Node js sql query test.
+ */
+public class NodeJsSqlQuery  extends NodeJsAbstractTest {
+    /**
+     * Constructor.
+     */
+    public NodeJsSqlQuery() {
+        super("test-query.js");
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void beforeTestsStarted() throws Exception {
+        startGrid(0);
+    }
+
+    /** {@inheritDoc} */
+    @Override protected void afterTestsStopped() throws Exception {
+        stopAllGrids();
+    }
+
+    /**
+     * @throws Exception If failed.
+     */
+    public void testSqlQuery() throws Exception {
+        runJsScript("testSqlQuery");
+    }
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/modules/nodejs/src/test/js/test-query.js
----------------------------------------------------------------------
diff --git a/modules/nodejs/src/test/js/test-query.js b/modules/nodejs/src/test/js/test-query.js
new file mode 100644
index 0000000..cb861fc
--- /dev/null
+++ b/modules/nodejs/src/test/js/test-query.js
@@ -0,0 +1,53 @@
+/*
+ * 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.
+ */
+
+var TestUtils = require("./test-utils").TestUtils;
+
+var assert = require("assert");
+
+var Ignite = require(TestUtils.scriptPath());
+var SqlQuery = Ignite.SqlQuery;
+
+testSqlQuery = function() {
+    function sqlQuery(ignite, error) {
+        assert(error == null, "error on sql query [err=" + error + "]");
+
+        var qry = new SqlQuery("select * from String");
+
+        qry.on("error", function(err) {
+                console.log("!!!!!!!!!!!!Error: " + err);
+
+                TestUtils.testFails();
+            });
+
+        qry.on("end", function(res) {
+                console.log("!!!!!!!!!!!Result: " + res);
+
+                TestUtils.testDone();
+            });
+
+        ignite.cache("mycache").query(qry);
+    }
+
+    function put(error, ignite) {
+        assert(error == null, "error on put [err=" + error + "]");
+
+        ignite.cache("mycache").put("key", "val", sqlQuery.bind(null, ignite))
+    }
+
+    TestUtils.startIgniteNode(put);
+}

http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/967ea548/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
----------------------------------------------------------------------
diff --git a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
index 65eaa3c..c188439 100644
--- a/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
+++ b/modules/rest-http/src/main/java/org/apache/ignite/internal/processors/rest/protocols/http/jetty/GridJettyRestHandler.java
@@ -475,7 +475,9 @@ public class GridJettyRestHandler extends AbstractHandler {
                 RestSqlQueryRequest restReq0 = new RestSqlQueryRequest();
 
                 restReq0.sqlQuery((String)params.get("qry"));
-                restReq0.arguments((Object[]) params.get("arg"));
+                restReq0.arguments(params.get("arg"));
+                restReq0.pageSize(Integer.parseInt((String) params.get("psz")));
+                restReq0.cacheName((String)params.get("cacheName"));
 
                 restReq = restReq0;
 


Mime
View raw message