Skip to content

Commit

Permalink
Avoid casting in QueryFacadeImpl
Browse files Browse the repository at this point in the history
  • Loading branch information
anistor authored and danberindei committed Oct 30, 2015
1 parent a992252 commit d24cb07
Showing 1 changed file with 5 additions and 6 deletions.
Expand Up @@ -10,7 +10,6 @@
import org.infinispan.protostream.WrappedMessage;
import org.infinispan.query.Search;
import org.infinispan.query.SearchManager;
import org.infinispan.query.dsl.Query;
import org.infinispan.query.dsl.impl.BaseQuery;
import org.infinispan.query.remote.client.QueryRequest;
import org.infinispan.query.remote.client.QueryResponse;
Expand Down Expand Up @@ -63,7 +62,7 @@ public byte[] query(AdvancedCache<byte[], byte[]> cache, byte[] query) {
long startOffset = request.getStartOffset() == null ? -1 : request.getStartOffset();
int maxResults = request.getMaxResults() == null ? -1 : request.getMaxResults();
Map<String, Object> namedParameters = getNamedParameters(request);
Query q = queryEngine.buildQuery(null, request.getJpqlString(), namedParameters, startOffset, maxResults);
BaseQuery q = queryEngine.buildQuery(null, request.getJpqlString(), namedParameters, startOffset, maxResults);

QueryResponse response = makeResponse(q);
return ProtobufUtil.toByteArray(serCtx, response);
Expand All @@ -84,10 +83,10 @@ private Map<String, Object> getNamedParameters(QueryRequest request) {
return params;
}

private QueryResponse makeResponse(Query q) {
private QueryResponse makeResponse(BaseQuery q) {
List<?> list = q.list();
int numResults = list.size();
String[] projection = ((BaseQuery) q).getProjection();
String[] projection = q.getProjection();
int projSize = projection != null ? projection.length : 0;
List<WrappedMessage> results = new ArrayList<WrappedMessage>(projSize == 0 ? numResults : numResults * projSize);

Expand All @@ -96,8 +95,8 @@ private QueryResponse makeResponse(Query q) {
results.add(new WrappedMessage(o));
} else {
Object[] row = (Object[]) o;
for (int j = 0; j < projSize; j++) {
results.add(new WrappedMessage(row[j]));
for (int i = 0; i < projSize; i++) {
results.add(new WrappedMessage(row[i]));
}
}
}
Expand Down

0 comments on commit d24cb07

Please sign in to comment.