Skip to content

Commit 75967fc

Browse files
author
Ajay Kannan
committed
---
yaml --- r: 3793 b: refs/heads/pubsub-alpha c: 50a5a66 h: refs/heads/master i: 3791: 9b9f5fb
1 parent 51c8a53 commit 75967fc

15 files changed

Lines changed: 196 additions & 422 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
refs/heads/master: 36a62ef856d199f8efd09501b5ba65c422c01f23
33
refs/heads/travis: e21ee7b88a5edc3f3d8c71f90c3fc32abf7e8dd6
44
refs/heads/gh-pages: 7406918e071dd2c5677a638ae2a06e7592b6542c
5-
refs/heads/pubsub-alpha: 9e4692d3c7ee17b3f10f4073144fbab780bb63ea
5+
refs/heads/pubsub-alpha: 50a5a66b851831ce50d17b04aea16f4c54c71f65
66
refs/heads/update-datastore: 47aae517c2cb33f1dccd909adaced73ec9d0f4df
77
refs/tags/0.0.9: 22f1839238f66c39e67ed4dfdcd273b1ae2e8444
88
refs/tags/v0.0.10: 207ebd2a3472fddee69fe1298eb90429e3306efd

branches/pubsub-alpha/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/BaseEntity.java

Lines changed: 0 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
import static com.google.gcloud.datastore.DateTimeValue.of;
2222
import static com.google.gcloud.datastore.DoubleValue.of;
2323
import static com.google.gcloud.datastore.EntityValue.of;
24-
import static com.google.gcloud.datastore.LatLngValue.of;
2524
import static com.google.gcloud.datastore.KeyValue.of;
2625
import static com.google.gcloud.datastore.ListValue.of;
2726
import static com.google.gcloud.datastore.LongValue.of;
@@ -160,11 +159,6 @@ public B set(String name, DateTime value) {
160159
return self();
161160
}
162161

163-
public B set(String name, LatLng value) {
164-
properties.put(name, of(value));
165-
return self();
166-
}
167-
168162
public B set(String name, Key value) {
169163
properties.put(name, of(value));
170164
return self();
@@ -326,17 +320,6 @@ public DateTime getDateTime(String name) {
326320
return ((Value<DateTime>) getValue(name)).get();
327321
}
328322

329-
/**
330-
* Returns the property value as a LatLng.
331-
*
332-
* @throws DatastoreException if not such property.
333-
* @throws ClassCastException if value is not a LatLng.
334-
*/
335-
@SuppressWarnings("unchecked")
336-
public LatLng getLatLng(String name) {
337-
return ((Value<LatLng>) getValue(name)).get();
338-
}
339-
340323
/**
341324
* Returns the property value as a Key.
342325
*

branches/pubsub-alpha/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/GqlQuery.java

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -379,9 +379,11 @@ protected void populatePb(com.google.datastore.v1beta3.RunQueryRequest.Builder r
379379
}
380380

381381
@Override
382-
protected GqlQuery<V> nextQuery(com.google.datastore.v1beta3.QueryResultBatch responsePb) {
383-
// See issue #17
384-
throw new UnsupportedOperationException("paging for this query is not implemented yet");
382+
protected StructuredQuery<V> nextQuery(com.google.datastore.v1beta3.RunQueryResponse responsePb) {
383+
return new StructuredQuery.Builder<>(type())
384+
.mergeFrom(responsePb.getQuery())
385+
.prepareNext(responsePb.getBatch())
386+
.build();
385387
}
386388

387389
@Override

branches/pubsub-alpha/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/LatLng.java

Lines changed: 0 additions & 90 deletions
This file was deleted.

branches/pubsub-alpha/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/LatLngValue.java

Lines changed: 0 additions & 84 deletions
This file was deleted.

branches/pubsub-alpha/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/Query.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -192,7 +192,7 @@ protected abstract Object fromPb(ResultType<V> resultType, String namespace, byt
192192
protected abstract void populatePb(
193193
com.google.datastore.v1beta3.RunQueryRequest.Builder requestPb);
194194

195-
protected abstract Query<V> nextQuery(com.google.datastore.v1beta3.QueryResultBatch responsePb);
195+
protected abstract Query<V> nextQuery(com.google.datastore.v1beta3.RunQueryResponse responsePb);
196196

197197
/**
198198
* Returns a new {@link GqlQuery} builder.

branches/pubsub-alpha/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/QueryResultsImpl.java

Lines changed: 8 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ class QueryResultsImpl<T> extends AbstractIterator<T> implements QueryResults<T>
3333
private final ResultType<T> queryResultType;
3434
private Query<T> query;
3535
private ResultType<?> actualResultType;
36-
private com.google.datastore.v1beta3.QueryResultBatch queryResultBatchPb;
36+
private com.google.datastore.v1beta3.RunQueryResponse runQueryResponsePb;
3737
private com.google.datastore.v1beta3.Query mostRecentQueryPb;
3838
private boolean lastBatch;
3939
private Iterator<com.google.datastore.v1beta3.EntityResult> entityResultPbIter;
@@ -56,8 +56,8 @@ class QueryResultsImpl<T> extends AbstractIterator<T> implements QueryResults<T>
5656
}
5757
partitionIdPb = pbBuilder.build();
5858
sendRequest();
59-
if (queryResultBatchPb.getSkippedResults() > 0) {
60-
cursor = queryResultBatchPb.getSkippedCursor();
59+
if (runQueryResponsePb.getBatch().getSkippedResults() > 0) {
60+
cursor = runQueryResponsePb.getBatch().getSkippedCursor();
6161
} else {
6262
cursor = mostRecentQueryPb.getStartCursor();
6363
}
@@ -71,16 +71,14 @@ private void sendRequest() {
7171
}
7272
requestPb.setPartitionId(partitionIdPb);
7373
query.populatePb(requestPb);
74-
com.google.datastore.v1beta3.RunQueryResponse runQueryResponsePb =
75-
datastore.runQuery(requestPb.build());
76-
queryResultBatchPb = runQueryResponsePb.getBatch();
74+
runQueryResponsePb = datastore.runQuery(requestPb.build());
7775
mostRecentQueryPb = runQueryResponsePb.getQuery();
7876
if (mostRecentQueryPb == null) {
7977
mostRecentQueryPb = requestPb.getQuery();
8078
}
81-
lastBatch = queryResultBatchPb.getMoreResults() != MoreResultsType.NOT_FINISHED;
82-
entityResultPbIter = queryResultBatchPb.getEntityResultsList().iterator();
83-
actualResultType = ResultType.fromPb(queryResultBatchPb.getEntityResultType());
79+
lastBatch = runQueryResponsePb.getBatch().getMoreResults() != MoreResultsType.NOT_FINISHED;
80+
entityResultPbIter = runQueryResponsePb.getBatch().getEntityResultsList().iterator();
81+
actualResultType = ResultType.fromPb(runQueryResponsePb.getBatch().getEntityResultType());
8482
if (Objects.equals(queryResultType, ResultType.PROJECTION_ENTITY)) {
8583
// projection entity can represent all type of results
8684
actualResultType = ResultType.PROJECTION_ENTITY;
@@ -92,7 +90,7 @@ private void sendRequest() {
9290
@Override
9391
protected T computeNext() {
9492
while (!entityResultPbIter.hasNext() && !lastBatch) {
95-
query = query.nextQuery(queryResultBatchPb);
93+
query = query.nextQuery(runQueryResponsePb);
9694
sendRequest();
9795
}
9896
if (!entityResultPbIter.hasNext()) {

branches/pubsub-alpha/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/StructuredQuery.java

Lines changed: 16 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -669,9 +669,23 @@ B mergeFrom(com.google.datastore.v1beta3.Query queryPb) {
669669
return self();
670670
}
671671

672+
B prepareNext(com.google.datastore.v1beta3.QueryResultBatch queryResultBatchPb) {
673+
startCursor(new Cursor(queryResultBatchPb.getEndCursor()));
674+
if (offset > 0 && queryResultBatchPb.getSkippedResults() < offset) {
675+
offset(offset - queryResultBatchPb.getSkippedResults());
676+
} else {
677+
offset(0);
678+
if (limit != null) {
679+
limit(limit - queryResultBatchPb.getEntityResultsCount());
680+
}
681+
}
682+
return self();
683+
}
684+
672685
public StructuredQuery<V> build() {
673686
return new StructuredQuery<>(this);
674687
}
688+
675689
}
676690

677691
static final class Builder<V> extends BaseBuilder<V, Builder<V>> {
@@ -844,19 +858,8 @@ protected void populatePb(com.google.datastore.v1beta3.RunQueryRequest.Builder r
844858
}
845859

846860
@Override
847-
protected StructuredQuery<V> nextQuery(com.google.datastore.v1beta3.QueryResultBatch responsePb) {
848-
Builder<V> builder = new Builder<>(type());
849-
builder.mergeFrom(toPb());
850-
builder.startCursor(new Cursor(responsePb.getEndCursor()));
851-
if (offset > 0 && responsePb.getSkippedResults() < offset) {
852-
builder.offset(offset - responsePb.getSkippedResults());
853-
} else {
854-
builder.offset(0);
855-
if (limit != null) {
856-
builder.limit(limit - responsePb.getEntityResultsCount());
857-
}
858-
}
859-
return builder.build();
861+
protected StructuredQuery<V> nextQuery(com.google.datastore.v1beta3.RunQueryResponse responsePb) {
862+
return new Builder<>(type()).mergeFrom(toPb()).prepareNext(responsePb.getBatch()).build();
860863
}
861864

862865
@Override

branches/pubsub-alpha/gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/ValueType.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -78,12 +78,12 @@ public enum ValueType {
7878
/**
7979
* Represents a raw/unparsed value.
8080
*/
81-
RAW_VALUE(RawValue.MARSHALLER),
81+
RAW_VALUE(RawValue.MARSHALLER);
8282

8383
/**
84-
* Represents a {@link LatLng} value
84+
* TODO(ajaykannan): add GEO_POINT_VALUE
85+
* Will represent a geolocation value in latitude/longitude
8586
*/
86-
LAT_LNG(LatLngValue.MARSHALLER);
8787

8888
private static final ImmutableMap<Integer, ValueType> DESCRIPTOR_TO_TYPE_MAP;
8989

0 commit comments

Comments
 (0)