From b58db82c35dfa2d6e57ebf1b542856e4c3fdc96e Mon Sep 17 00:00:00 2001 From: srinjoyray Date: Mon, 28 Oct 2024 20:57:01 +0530 Subject: [PATCH] wip --- .../api/datastore/AdminDatastoreService.java | 14 +++---- .../datastore/AsyncDatastoreServiceImpl.java | 4 +- .../api/datastore/CompositeIndexManager.java | 4 +- .../api/datastore/DataTypeTranslator.java | 2 + .../datastore/IndexComponentsOnlyQuery.java | 2 +- .../api/datastore/IndexTranslator.java | 4 +- .../api/datastore/NormalizedQuery.java | 4 +- .../api/datastore/QueryResultsSourceV3.java | 2 +- .../api/datastore/QueryRunnerV3.java | 4 +- .../api/datastore/QueryTranslator.java | 11 ++++-- .../api/datastore/ValidatedQuery.java | 2 +- .../dev/LocalCompositeIndexManager.java | 8 ++-- .../datastore/dev/LocalDatastoreService.java | 2 +- .../datastore/AdminDatastoreServiceTest.java | 13 +++++-- .../api/datastore/QueryTranslatorTest.java | 38 +++++++++---------- 15 files changed, 63 insertions(+), 51 deletions(-) diff --git a/api/src/main/java/com/google/appengine/api/datastore/AdminDatastoreService.java b/api/src/main/java/com/google/appengine/api/datastore/AdminDatastoreService.java index 3a4180d0c..e96489944 100644 --- a/api/src/main/java/com/google/appengine/api/datastore/AdminDatastoreService.java +++ b/api/src/main/java/com/google/appengine/api/datastore/AdminDatastoreService.java @@ -260,10 +260,10 @@ public Index compositeIndexForQuery(Query query) { } public Set compositeIndexesForQuery(Query query) { - List pbQueries = + List pbQueries = convertQueryToPbs(query, FetchOptions.Builder.withDefaults()); Set resultSet = new HashSet(); - for (DatastoreV3Pb.Query queryProto : pbQueries) { + for (DatastoreV3Pb.Query.Builder queryProto : pbQueries) { IndexComponentsOnlyQuery indexQuery = new IndexComponentsOnlyQuery(queryProto); OnestoreEntity.Index.Builder index = @@ -281,7 +281,7 @@ public Index minimumCompositeIndexForQuery(Query query, Collection indexe } public Set minimumCompositeIndexesForQuery(Query query, Collection indexes) { - List pbQueries = + List pbQueries = convertQueryToPbs(query, FetchOptions.Builder.withDefaults()); List indexPbs = Lists.newArrayListWithCapacity(indexes.size()); @@ -290,7 +290,7 @@ public Set minimumCompositeIndexesForQuery(Query query, Collection } Set resultSet = new HashSet(); - for (DatastoreV3Pb.Query queryProto : pbQueries) { + for (DatastoreV3Pb.Query.Builder queryProto : pbQueries) { IndexComponentsOnlyQuery indexQuery = new IndexComponentsOnlyQuery(queryProto); OnestoreEntity.Index.Builder index = @@ -304,19 +304,19 @@ public Set minimumCompositeIndexesForQuery(Query query, Collection /** Convert a query to a list of ProtocolBuffer Queries. */ @SuppressWarnings("deprecation") - private static List convertQueryToPbs( + private static List convertQueryToPbs( Query query, FetchOptions fetchOptions) { List queriesToRun = QuerySplitHelper.splitQuery(query); // All Filters should be in queriesToRun query.setFilter(null); query.getFilterPredicates().clear(); - List resultQueries = new ArrayList(); + List resultQueries = new ArrayList(); for (MultiQueryBuilder multiQuery : queriesToRun) { for (List> parallelQueries : multiQuery) { for (List singleQuery : parallelQueries) { Query newQuery = new Query(query); newQuery.getFilterPredicates().addAll(singleQuery); - DatastoreV3Pb.Query queryProto = QueryTranslator.convertToPb(newQuery, fetchOptions); + DatastoreV3Pb.Query.Builder queryProto = QueryTranslator.convertToPb(newQuery, fetchOptions); resultQueries.add(queryProto); } } diff --git a/api/src/main/java/com/google/appengine/api/datastore/AsyncDatastoreServiceImpl.java b/api/src/main/java/com/google/appengine/api/datastore/AsyncDatastoreServiceImpl.java index 36a40ef06..2232fd216 100644 --- a/api/src/main/java/com/google/appengine/api/datastore/AsyncDatastoreServiceImpl.java +++ b/api/src/main/java/com/google/appengine/api/datastore/AsyncDatastoreServiceImpl.java @@ -247,7 +247,7 @@ protected TransactionImpl.InternalTransaction doBeginTransaction(TransactionOpti Future future = DatastoreApiHelper.makeAsyncCall( - apiConfig, DatastoreService_3.Method.BeginTransaction, request.build(), remoteTxn.build()); + apiConfig, DatastoreService_3.Method.BeginTransaction, request.build(), remoteTxn.buildPartial()); return new InternalTransactionV3(apiConfig, request.getApp(), future); } @@ -527,7 +527,7 @@ public Future allocateIds(final Key parent, final String kind, long nu req.setModelKey(allocateIdsRef); AllocateIdsResponse.Builder resp = AllocateIdsResponse.newBuilder(); Future future = - makeAsyncCall(apiConfig, DatastoreService_3.Method.AllocateIds, req.build(), resp.build()); + makeAsyncCall(apiConfig, DatastoreService_3.Method.AllocateIds, req.build(), resp.buildPartial()); return new FutureWrapper(future) { @Override protected KeyRange wrap(AllocateIdsResponse resp) throws Exception { diff --git a/api/src/main/java/com/google/appengine/api/datastore/CompositeIndexManager.java b/api/src/main/java/com/google/appengine/api/datastore/CompositeIndexManager.java index 7fa110a3d..abac133f8 100644 --- a/api/src/main/java/com/google/appengine/api/datastore/CompositeIndexManager.java +++ b/api/src/main/java/com/google/appengine/api/datastore/CompositeIndexManager.java @@ -362,7 +362,7 @@ class EqPropsAndAncestorConstraint { */ protected static class IndexComponentsOnlyQuery extends com.google.appengine.api.datastore.IndexComponentsOnlyQuery { - public IndexComponentsOnlyQuery(DatastoreV3Pb.Query query) { + public IndexComponentsOnlyQuery(DatastoreV3Pb.Query.Builder query) { super(query); } } @@ -372,7 +372,7 @@ public IndexComponentsOnlyQuery(DatastoreV3Pb.Query query) { * publicly exposing it in the api. */ protected static class ValidatedQuery extends com.google.appengine.api.datastore.ValidatedQuery { - public ValidatedQuery(DatastoreV3Pb.Query query) { + public ValidatedQuery(DatastoreV3Pb.Query.Builder query) { super(query); } } diff --git a/api/src/main/java/com/google/appengine/api/datastore/DataTypeTranslator.java b/api/src/main/java/com/google/appengine/api/datastore/DataTypeTranslator.java index 33aff0f59..227ee4fa8 100644 --- a/api/src/main/java/com/google/appengine/api/datastore/DataTypeTranslator.java +++ b/api/src/main/java/com/google/appengine/api/datastore/DataTypeTranslator.java @@ -258,6 +258,7 @@ private static void addListPropertyToPb( // If the value is indexed it appears in queries, but distinction between // null and empty list is lost. } + property.setValue(PropertyValue.getDefaultInstance()); property.getValue(); // Indicate to the proto that we have set this field if (indexed) { proto.addProperty(property); @@ -395,6 +396,7 @@ private static Property buildImplicitKeyProperty(EntityProto proto) { PropertyValue.Builder propVal = PropertyValue.newBuilder(); propVal.setReferenceValue(KeyType.toReferenceValue(proto.getKey())); keyProp.setValue(propVal.build()); + keyProp.setMultiple(false); return keyProp.build(); } diff --git a/api/src/main/java/com/google/appengine/api/datastore/IndexComponentsOnlyQuery.java b/api/src/main/java/com/google/appengine/api/datastore/IndexComponentsOnlyQuery.java index b03dfab64..38a43897f 100644 --- a/api/src/main/java/com/google/appengine/api/datastore/IndexComponentsOnlyQuery.java +++ b/api/src/main/java/com/google/appengine/api/datastore/IndexComponentsOnlyQuery.java @@ -54,7 +54,7 @@ class IndexComponentsOnlyQuery extends ValidatedQuery { private boolean hasKeyProperty = false; - public IndexComponentsOnlyQuery(DatastoreV3Pb.Query query) { + public IndexComponentsOnlyQuery(DatastoreV3Pb.Query.Builder query) { super(query); removeNativelySupportedComponents(); categorizeQuery(); diff --git a/api/src/main/java/com/google/appengine/api/datastore/IndexTranslator.java b/api/src/main/java/com/google/appengine/api/datastore/IndexTranslator.java index a9cb79b1b..77dcabece 100644 --- a/api/src/main/java/com/google/appengine/api/datastore/IndexTranslator.java +++ b/api/src/main/java/com/google/appengine/api/datastore/IndexTranslator.java @@ -18,6 +18,7 @@ import com.google.apphosting.api.AppEngineInternal; import com.google.storage.onestore.v3.proto2api.OnestoreEntity; +import com.google.storage.onestore.v3.proto2api.OnestoreEntity.CompositeIndex.State; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -73,6 +74,7 @@ public static Index.Property convertFromPb(OnestoreEntity.Index.Property propert } public static Index convertFromPb(OnestoreEntity.Index index) { - return convertFromPb(OnestoreEntity.CompositeIndex.newBuilder().setId(0).setDefinition(index).build()); + return convertFromPb(OnestoreEntity.CompositeIndex.newBuilder().setId(0).setDefinition(index).setAppId("").setState( + State.WRITE_ONLY).build()); } } diff --git a/api/src/main/java/com/google/appengine/api/datastore/NormalizedQuery.java b/api/src/main/java/com/google/appengine/api/datastore/NormalizedQuery.java index 2b088de40..59931570c 100644 --- a/api/src/main/java/com/google/appengine/api/datastore/NormalizedQuery.java +++ b/api/src/main/java/com/google/appengine/api/datastore/NormalizedQuery.java @@ -37,8 +37,8 @@ class NormalizedQuery { protected final Query.Builder query; - public NormalizedQuery(Query query) { - this.query = query.toBuilder().clone(); + public NormalizedQuery(Query.Builder query) { + this.query = query.clone(); normalizeQuery(); } diff --git a/api/src/main/java/com/google/appengine/api/datastore/QueryResultsSourceV3.java b/api/src/main/java/com/google/appengine/api/datastore/QueryResultsSourceV3.java index 1eb67a845..f70af19ca 100644 --- a/api/src/main/java/com/google/appengine/api/datastore/QueryResultsSourceV3.java +++ b/api/src/main/java/com/google/appengine/api/datastore/QueryResultsSourceV3.java @@ -61,7 +61,7 @@ public NextRequest buildNextCallPrototype(QueryResult initialResult) { req.setCompile(true); } // This used to call .freeze() but that method has been deleted, see go/javaproto1freezeremoval - return req.build(); + return req.buildPartial(); } @Override diff --git a/api/src/main/java/com/google/appengine/api/datastore/QueryRunnerV3.java b/api/src/main/java/com/google/appengine/api/datastore/QueryRunnerV3.java index 388627c51..dc5829255 100644 --- a/api/src/main/java/com/google/appengine/api/datastore/QueryRunnerV3.java +++ b/api/src/main/java/com/google/appengine/api/datastore/QueryRunnerV3.java @@ -80,7 +80,7 @@ protected DatastoreV3Pb.QueryResult wrap(DatastoreV3Pb.QueryResult result) } private void addMissingIndexData(DatastoreV3Pb.Query queryProto, DatastoreNeedIndexException e) { - IndexComponentsOnlyQuery indexQuery = new IndexComponentsOnlyQuery(queryProto); + IndexComponentsOnlyQuery indexQuery = new IndexComponentsOnlyQuery(queryProto.toBuilder()); CompositeIndexManager mgr = new CompositeIndexManager(); OnestoreEntity.Index.Builder index = mgr.compositeIndexForQuery(indexQuery); if (index != null) { @@ -94,7 +94,7 @@ private void addMissingIndexData(DatastoreV3Pb.Query queryProto, DatastoreNeedIn } private DatastoreV3Pb.Query.Builder convertToPb(Query q, Transaction txn, FetchOptions fetchOptions) { - DatastoreV3Pb.Query.Builder queryProto = QueryTranslator.convertToPb(q, fetchOptions).toBuilder(); + DatastoreV3Pb.Query.Builder queryProto = QueryTranslator.convertToPb(q, fetchOptions); if (txn != null) { TransactionImpl.ensureTxnActive(txn); queryProto.setTransaction(InternalTransactionV3.toProto(txn)); diff --git a/api/src/main/java/com/google/appengine/api/datastore/QueryTranslator.java b/api/src/main/java/com/google/appengine/api/datastore/QueryTranslator.java index 383f045d5..ab73d52aa 100644 --- a/api/src/main/java/com/google/appengine/api/datastore/QueryTranslator.java +++ b/api/src/main/java/com/google/appengine/api/datastore/QueryTranslator.java @@ -24,6 +24,7 @@ import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.Query.Order; import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.Query.Order.Direction; import com.google.protobuf.InvalidProtocolBufferException; +import com.google.storage.onestore.v3.proto2api.OnestoreEntity.Property; import com.google.storage.onestore.v3.proto2api.OnestoreEntity.PropertyValue; import com.google.storage.onestore.v3.proto2api.OnestoreEntity.Reference; import java.util.List; @@ -35,7 +36,7 @@ final class QueryTranslator { @SuppressWarnings("deprecation") - public static DatastoreV3Pb.Query convertToPb(Query query, FetchOptions fetchOptions) { + public static DatastoreV3Pb.Query.Builder convertToPb(Query query, FetchOptions fetchOptions) { Key ancestor = query.getAncestor(); List sortPredicates = query.getSortPredicates(); @@ -133,7 +134,7 @@ public static DatastoreV3Pb.Query convertToPb(Query query, FetchOptions fetchOpt proto.addPropertyName(projection.getPropertyName()); } - return proto.build(); + return proto; } static Order convertSortPredicateToPb(Query.SortPredicate predicate) { @@ -204,13 +205,15 @@ private static Filter convertFilterPredicateToPb(Query.FilterPredicate predicate filterPb .addPropertyBuilder() .setName(predicate.getPropertyName()) - .setValue(DataTypeTranslator.toV3Value(value)); + .setValue(DataTypeTranslator.toV3Value(value)) + .setMultiple(false); } } else { filterPb .addPropertyBuilder() .setName(predicate.getPropertyName()) - .setValue(DataTypeTranslator.toV3Value(predicate.getValue())); + .setValue(DataTypeTranslator.toV3Value(predicate.getValue())) + .setMultiple(false); } return filterPb.build(); diff --git a/api/src/main/java/com/google/appengine/api/datastore/ValidatedQuery.java b/api/src/main/java/com/google/appengine/api/datastore/ValidatedQuery.java index e157f87af..2605f86bf 100644 --- a/api/src/main/java/com/google/appengine/api/datastore/ValidatedQuery.java +++ b/api/src/main/java/com/google/appengine/api/datastore/ValidatedQuery.java @@ -40,7 +40,7 @@ class ValidatedQuery extends NormalizedQuery { private boolean isGeo; /** @throws IllegalQueryException If the provided query fails validation. */ - ValidatedQuery(Query query) { + ValidatedQuery(Query.Builder query) { super(query); validateQuery(); } diff --git a/api_dev/src/main/java/com/google/appengine/api/datastore/dev/LocalCompositeIndexManager.java b/api_dev/src/main/java/com/google/appengine/api/datastore/dev/LocalCompositeIndexManager.java index 5f1ad9624..fa3e136b9 100644 --- a/api_dev/src/main/java/com/google/appengine/api/datastore/dev/LocalCompositeIndexManager.java +++ b/api_dev/src/main/java/com/google/appengine/api/datastore/dev/LocalCompositeIndexManager.java @@ -779,7 +779,7 @@ public static synchronized LocalCompositeIndexManager getInstance() { * index file. */ public void processQuery(DatastoreV3Pb.Query query) { - IndexComponentsOnlyQuery indexOnlyQuery = new IndexComponentsOnlyQuery(query); + IndexComponentsOnlyQuery indexOnlyQuery = new IndexComponentsOnlyQuery(query.toBuilder()); boolean isNewQuery = updateQueryHistory(indexOnlyQuery); if (isNewQuery) { maybeUpdateIndexFile(indexOnlyQuery); @@ -956,7 +956,7 @@ Map buildIndexMapFromQueryHistory() { /** Get the single composite index used by this query, if any, as a list. */ public List queryIndexList(DatastoreV3Pb.Query query) { - IndexComponentsOnlyQuery indexOnlyQuery = new IndexComponentsOnlyQuery(query); + IndexComponentsOnlyQuery indexOnlyQuery = new IndexComponentsOnlyQuery(query.toBuilder()); Index.Builder index = compositeIndexForQuery(indexOnlyQuery); List indexList; if (index != null) { @@ -993,7 +993,7 @@ protected Index.Builder minimumCompositeIndexForQuery( /** Aliasing to make the class available in the package. */ protected static class ValidatedQuery extends CompositeIndexManager.ValidatedQuery { - protected ValidatedQuery(DatastoreV3Pb.Query query) { + protected ValidatedQuery(DatastoreV3Pb.Query.Builder query) { super(query); } @@ -1010,7 +1010,7 @@ private KeyTranslator() {} /** Aliasing to make the class available in the package. */ protected static class IndexComponentsOnlyQuery extends CompositeIndexManager.IndexComponentsOnlyQuery { - protected IndexComponentsOnlyQuery(DatastoreV3Pb.Query query) { + protected IndexComponentsOnlyQuery(DatastoreV3Pb.Query.Builder query) { super(query); } diff --git a/api_dev/src/main/java/com/google/appengine/api/datastore/dev/LocalDatastoreService.java b/api_dev/src/main/java/com/google/appengine/api/datastore/dev/LocalDatastoreService.java index b2c3737af..4cd987b03 100644 --- a/api_dev/src/main/java/com/google/appengine/api/datastore/dev/LocalDatastoreService.java +++ b/api_dev/src/main/java/com/google/appengine/api/datastore/dev/LocalDatastoreService.java @@ -1215,7 +1215,7 @@ public QueryResult runQuery(Status status, Query query) { // Construct a validated query right away so we can fail fast // if something is wrong. final LocalCompositeIndexManager.ValidatedQuery validatedQuery = - new LocalCompositeIndexManager.ValidatedQuery(query); + new LocalCompositeIndexManager.ValidatedQuery(query.toBuilder()); query = validatedQuery.getV3Query(); // Modernize the query's cursors. diff --git a/api_dev/src/test/java/com/google/appengine/api/datastore/AdminDatastoreServiceTest.java b/api_dev/src/test/java/com/google/appengine/api/datastore/AdminDatastoreServiceTest.java index ad5e98fa2..6c9af3a14 100644 --- a/api_dev/src/test/java/com/google/appengine/api/datastore/AdminDatastoreServiceTest.java +++ b/api_dev/src/test/java/com/google/appengine/api/datastore/AdminDatastoreServiceTest.java @@ -20,6 +20,7 @@ import static com.google.common.truth.Truth.assertWithMessage; import static com.google.common.util.concurrent.Futures.immediateFuture; import static org.junit.Assert.assertThrows; +import static org.mockito.ArgumentMatchers.any; import static org.mockito.Mockito.eq; import static org.mockito.Mockito.mock; import static org.mockito.Mockito.notNull; @@ -202,7 +203,7 @@ public void testNewEntityBuilder() { public void testCompositeIndexForQuery() { Query query = new Query("kind1"); FetchOptions fo = FetchOptions.Builder.withDefaults(); - DatastoreV3Pb.Query queryPb = QueryTranslator.convertToPb(query, fo); + DatastoreV3Pb.Query.Builder queryPb = QueryTranslator.convertToPb(query, fo); CompositeIndexManager.IndexComponentsOnlyQuery ic = new CompositeIndexManager.IndexComponentsOnlyQuery(queryPb); Index index = @@ -212,15 +213,19 @@ public void testCompositeIndexForQuery() { true, ImmutableList.of(new Index.Property("p1", Query.SortDirection.DESCENDING))); OnestoreEntity.Index indexPb = IndexTranslator.convertToPb(index); - when(indexManager.compositeIndexForQuery(ic)).thenReturn(indexPb.toBuilder()); + when(indexManager.compositeIndexForQuery(any(CompositeIndexManager.IndexComponentsOnlyQuery.class))) + .thenReturn(indexPb.toBuilder()); assertThat(adminDsWithMockDelegate.compositeIndexForQuery(query)).isEqualTo(index); } - + // indexManager = compositeIndexManager@4659 + // ic = compositeIndexManager$IndexComponentOnlyQuery@4655 + // queryPb = DatastoreV3Pb$Query$Builder@3648 + // query = Query@3645 @Test public void testMinimumCompositeIndexForQuery() { Query query = new Query("kind1"); FetchOptions fo = FetchOptions.Builder.withDefaults(); - DatastoreV3Pb.Query queryPb = QueryTranslator.convertToPb(query, fo); + DatastoreV3Pb.Query.Builder queryPb = QueryTranslator.convertToPb(query, fo); CompositeIndexManager.IndexComponentsOnlyQuery ic = new CompositeIndexManager.IndexComponentsOnlyQuery(queryPb); Index index = diff --git a/api_dev/src/test/java/com/google/appengine/api/datastore/QueryTranslatorTest.java b/api_dev/src/test/java/com/google/appengine/api/datastore/QueryTranslatorTest.java index e0f7be4fb..dc71cf854 100644 --- a/api_dev/src/test/java/com/google/appengine/api/datastore/QueryTranslatorTest.java +++ b/api_dev/src/test/java/com/google/appengine/api/datastore/QueryTranslatorTest.java @@ -49,14 +49,14 @@ public class QueryTranslatorTest { @Test public void testKind() { Query query = new Query("foo"); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withLimit(42)); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withLimit(42)); assertThat(proto.getKind()).isEqualTo("foo"); } @Test public void testAppId() { Query query = new Query("foo"); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withLimit(42)); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withLimit(42)); assertThat(proto.getApp()).isEqualTo(getAppId()); } @@ -68,7 +68,7 @@ public void testAncestor() { Query query = new Query("foo"); query.setAncestor(key); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withLimit(42)); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withLimit(42)); assertThat(proto.hasAncestor()).isTrue(); assertThat(proto.getAncestor().getPath().getElementCount()).isEqualTo(1); assertThat(proto.getAncestor().getPath().getElementList().get(0).getType()).isEqualTo("foo"); @@ -78,7 +78,7 @@ public void testAncestor() { @Test public void testPrefetchChunkSize() { Query query = new Query("foo"); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withDefaults()); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withDefaults()); assertThat(proto.hasCount()).isFalse(); proto = QueryTranslator.convertToPb(query, withChunkSize(5)); @@ -94,7 +94,7 @@ public void testPrefetchChunkSize() { @Test public void testSelectDistinct() { Query query = new Query("foo"); - DatastoreV3Pb.Query proto; + DatastoreV3Pb.Query.Builder proto; query.setDistinct(true); assertThrows( @@ -122,7 +122,7 @@ public void testFilter() { query.addFilter("multiValuedProp1", Query.FilterOperator.IN, Lists.newArrayList(31)); query.addFilter("multiValuedProp2", Query.FilterOperator.IN, Lists.newArrayList(31, 32)); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withDefaults()); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withDefaults()); assertThat(proto.getFilterCount()).isEqualTo(5); Filter filter1 = proto.getFilter(0); @@ -162,7 +162,7 @@ public void testGeoFilter_Circle() { query.setFilter( new Query.StContainsFilter("location", new Query.GeoRegion.Circle(point, radius))); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withDefaults()); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withDefaults()); assertThat(proto.getFilterCount()).isEqualTo(1); Filter filter1 = proto.getFilter(0); @@ -188,7 +188,7 @@ public void testGeoFilter_Rectangle() { query.setFilter( new Query.StContainsFilter("location", new Query.GeoRegion.Rectangle(point1, point2))); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withDefaults()); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withDefaults()); assertThat(proto.getFilterCount()).isEqualTo(1); Filter filter1 = proto.getFilter(0); @@ -222,7 +222,7 @@ public void testGeoFilter_withPreintersection() { new Query.StContainsFilter("location", new Query.GeoRegion.Circle(point, radius)), Query.FilterOperator.EQUAL.of("rating", rating)))); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withDefaults()); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withDefaults()); assertThat(proto.getFilterCount()).isEqualTo(2); Filter filter1 = proto.getFilter(0); @@ -263,7 +263,7 @@ public void testGeoFilter_nestedTree() { Query.FilterOperator.EQUAL.of("rating", rating))), Query.FilterOperator.EQUAL.of("bar", bar)))); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withDefaults()); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withDefaults()); assertThat(proto.getFilterCount()).isEqualTo(3); Filter filter1 = proto.getFilter(0); @@ -322,7 +322,7 @@ public void testSort() { query.addSort("stringProp"); query.addSort("doubleProp", Query.SortDirection.DESCENDING); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withDefaults()); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withDefaults()); assertThat(proto.getOrderCount()).isEqualTo(2); Order order1 = proto.getOrder(0); @@ -337,7 +337,7 @@ public void testSort() { @Test public void testConvertToPbNoLimitNoOffset() { Query query = new Query("foo"); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withDefaults()); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withDefaults()); assertThat(proto.hasLimit()).isFalse(); assertThat(proto.hasOffset()).isFalse(); } @@ -345,7 +345,7 @@ public void testConvertToPbNoLimitNoOffset() { @Test public void testConvertToPbWithLimit() { Query query = new Query("foo"); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withLimit(42)); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withLimit(42)); assertThat(proto.getLimit()).isEqualTo(42); assertThat(proto.getOffset()).isEqualTo(0); } @@ -353,7 +353,7 @@ public void testConvertToPbWithLimit() { @Test public void testConvertToPbWithOffset() { Query query = new Query("foo"); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withOffset(10)); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withOffset(10)); assertThat(proto.hasLimit()).isFalse(); assertThat(proto.getOffset()).isEqualTo(10); } @@ -362,7 +362,7 @@ public void testConvertToPbWithOffset() { public void testKeysOnly() { Query query = new Query("foo"); assertThat(query.isKeysOnly()).isFalse(); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withChunkSize(10)); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withChunkSize(10)); assertThat(proto.getKeysOnly()).isFalse(); query.setKeysOnly(); @@ -380,7 +380,7 @@ public void testKeysOnly() { public void testPropertyNames() { Query query = new Query("foo"); assertThat(query.getProjections()).isEmpty(); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withChunkSize(10)); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withChunkSize(10)); assertThat(proto.getPropertyNameCount()).isEqualTo(0); query @@ -398,7 +398,7 @@ public void testPropertyNames() { @Test public void testPrefetch() { Query query = new Query("foo"); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withDefaults()); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withDefaults()); assertThat(proto.hasCount()).isFalse(); proto = QueryTranslator.convertToPb(query, withPrefetchSize(10)); @@ -409,7 +409,7 @@ public void testPrefetch() { @Test public void testNamespaceDefault() { Query query = new Query("foo"); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withDefaults()); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withDefaults()); assertThat(getAppId()).isEqualTo(proto.getApp()); assertThat(proto.hasNameSpace()).isFalse(); } @@ -418,7 +418,7 @@ public void testNamespaceDefault() { public void testNamespaceNonDefault() { setNonEmptyDefaultApiNamespace(); Query query = new Query("foo"); - DatastoreV3Pb.Query proto = QueryTranslator.convertToPb(query, withDefaults()); + DatastoreV3Pb.Query.Builder proto = QueryTranslator.convertToPb(query, withDefaults()); AppIdNamespace appIdNamespace = AppIdNamespace.parseEncodedAppIdNamespace(getAppIdWithNamespace()); assertThat(appIdNamespace.getAppId()).isEqualTo(proto.getApp());