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/01 12:14:06 UTC
[30/39] incubator-ignite git commit: #ignite-964: QueryCommandHandler
code style.
#ignite-964: QueryCommandHandler code style.
Project: http://git-wip-us.apache.org/repos/asf/incubator-ignite/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-ignite/commit/7e0a63b6
Tree: http://git-wip-us.apache.org/repos/asf/incubator-ignite/tree/7e0a63b6
Diff: http://git-wip-us.apache.org/repos/asf/incubator-ignite/diff/7e0a63b6
Branch: refs/heads/ignite-964
Commit: 7e0a63b6408d079b146e7d5b9dc21efd766e803f
Parents: f9a738f
Author: ivasilinets <iv...@gridgain.com>
Authored: Wed Jul 1 12:25:35 2015 +0300
Committer: ivasilinets <iv...@gridgain.com>
Committed: Wed Jul 1 12:25:35 2015 +0300
----------------------------------------------------------------------
.../handlers/query/QueryCommandHandler.java | 99 +++++++++-----------
1 file changed, 43 insertions(+), 56 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/incubator-ignite/blob/7e0a63b6/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 a254115..9432bb7 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
@@ -25,7 +25,6 @@ import org.apache.ignite.internal.processors.rest.request.*;
import org.apache.ignite.internal.util.future.*;
import org.apache.ignite.internal.util.typedef.internal.*;
-import javax.cache.*;
import java.util.*;
import java.util.concurrent.*;
import java.util.concurrent.atomic.*;
@@ -45,8 +44,7 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
private static final AtomicLong qryIdGen = new AtomicLong();
/** Current queries. */
- private final ConcurrentHashMap<Long, Iterator<Cache.Entry<Object, Object>>> curs =
- new ConcurrentHashMap<>();
+ private final ConcurrentHashMap<Long, Iterator> curs = new ConcurrentHashMap<>();
/**
* @param ctx Context.
@@ -79,7 +77,7 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
assert req instanceof RestSqlQueryRequest : "Invalid type of query request.";
return ctx.closure().callLocalSafe(
- new FetchQueryCallable(ctx, (RestSqlQueryRequest)req, curs), false);
+ new FetchQueryCallable((RestSqlQueryRequest)req, curs), false);
}
}
@@ -90,9 +88,6 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
* Execute query callable.
*/
private static class ExecuteQueryCallable implements Callable<GridRestResponse> {
- /** */
- private static final long serialVersionUID = 0L;
-
/** Kernal context. */
private GridKernalContext ctx;
@@ -100,14 +95,15 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
private RestSqlQueryRequest req;
/** Queries cursors. */
- private ConcurrentHashMap<Long, Iterator<Cache.Entry<Object, Object>>> curs;
+ private ConcurrentHashMap<Long, Iterator> curs;
/**
* @param ctx Kernal context.
* @param req Execute query request.
+ * @param curs Queries cursors.
*/
public ExecuteQueryCallable(GridKernalContext ctx, RestSqlQueryRequest req,
- ConcurrentHashMap<Long, Iterator<Cache.Entry<Object, Object>>> curs) {
+ ConcurrentHashMap<Long, Iterator> curs) {
this.ctx = ctx;
this.req = req;
this.curs = curs;
@@ -129,31 +125,15 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
((SqlFieldsQuery)qry).setArgs(req.arguments());
}
- Iterator<Cache.Entry<Object, Object>> cur =
- ctx.grid().cache(req.cacheName()).query(qry).iterator();
+ Iterator cur = ctx.grid().cache(req.cacheName()).query(qry).iterator();
long qryId = qryIdGen.getAndIncrement();
curs.put(qryId, cur);
- List res = new ArrayList<>();
-
- CacheQueryResult response = new CacheQueryResult();
-
- for (int i = 0; i < req.pageSize() && cur.hasNext(); ++i) {
- res.add(cur.next());
- }
-
- response.setItems(res);
-
- response.setLast(!cur.hasNext());
-
- response.setQueryId(qryId);
-
- if (!cur.hasNext())
- curs.remove(qryId);
+ CacheQueryResult res = createQueryResult(curs, cur, req, qryId);
- return new GridRestResponse(response);
+ return new GridRestResponse(res);
}
catch (Exception e) {
return new GridRestResponse(GridRestResponse.STATUS_FAILED, e.getMessage());
@@ -165,25 +145,18 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
* Fetch query callable.
*/
private static class FetchQueryCallable implements Callable<GridRestResponse> {
- /** */
- private static final long serialVersionUID = 0L;
-
- /** Kernal context. */
- private GridKernalContext ctx;
-
/** Execute query request. */
private RestSqlQueryRequest req;
/** Queries cursors. */
- private ConcurrentHashMap<Long, Iterator<Cache.Entry<Object, Object>>> curs;
+ private ConcurrentHashMap<Long, Iterator> curs;
/**
- * @param ctx Kernal context.
* @param req Execute query request.
+ * @param curs Queries cursors.
*/
- public FetchQueryCallable(GridKernalContext ctx, RestSqlQueryRequest req,
- ConcurrentHashMap<Long, Iterator<Cache.Entry<Object, Object>>> curs) {
- this.ctx = ctx;
+ public FetchQueryCallable(RestSqlQueryRequest req,
+ ConcurrentHashMap<Long, Iterator> curs) {
this.req = req;
this.curs = curs;
}
@@ -191,29 +164,15 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
/** {@inheritDoc} */
@Override public GridRestResponse call() throws Exception {
try {
- Iterator<Cache.Entry<Object, Object>> cur = curs.get(req.queryId());
+ Iterator cur = curs.get(req.queryId());
if (cur == null)
return new GridRestResponse(GridRestResponse.STATUS_FAILED,
"Cannot find query [qryId=" + req.queryId() + "]");
- List res = new ArrayList<>();
+ CacheQueryResult res = createQueryResult(curs, cur, req, req.queryId());
- CacheQueryResult response = new CacheQueryResult();
-
- for (int i = 0; i < req.pageSize() && cur.hasNext(); ++i) {
- res.add(cur.next());
- }
- response.setItems(res);
-
- response.setLast(!cur.hasNext());
-
- response.setQueryId(req.queryId());
-
- if (!cur.hasNext())
- curs.remove(req.queryId());
-
- return new GridRestResponse(response);
+ return new GridRestResponse(res);
}
catch (Exception e) {
curs.remove(req.queryId());
@@ -222,4 +181,32 @@ public class QueryCommandHandler extends GridRestCommandHandlerAdapter {
}
}
}
+
+ /**
+ * @param curs Queries cursors.
+ * @param cur Current cursor.
+ * @param req Sql request.
+ * @param qryId Query id.
+ * @return Query result with items.
+ */
+ private static CacheQueryResult createQueryResult(ConcurrentHashMap<Long, Iterator> curs, Iterator cur,
+ RestSqlQueryRequest req, Long qryId) {
+ CacheQueryResult res = new CacheQueryResult();
+
+ List<Object> items = new ArrayList<>();
+
+ for (int i = 0; i < req.pageSize() && cur.hasNext(); ++i)
+ items.add(cur.next());
+
+ res.setItems(items);
+
+ res.setLast(!cur.hasNext());
+
+ res.setQueryId(qryId);
+
+ if (!cur.hasNext())
+ curs.remove(req.queryId());
+
+ return res;
+ }
}