diff --git a/api/pom.xml b/api/pom.xml
index 8429585a9..d2b024e26 100644
--- a/api/pom.xml
+++ b/api/pom.xml
@@ -42,10 +42,7 @@
com.google.api-client
google-api-client
-
- com.google.appengine
- proto1
-
+
com.google.appengine
appengine-utils
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 d99d55050..8d0d264fe 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
@@ -23,10 +23,10 @@
import com.google.appengine.api.datastore.Index.IndexState;
import com.google.appengine.api.datastore.Query.FilterPredicate;
import com.google.apphosting.api.AppEngineInternal;
-import com.google.apphosting.datastore.DatastoreV3Pb;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb;
import com.google.common.collect.Iterables;
import com.google.common.collect.Lists;
-import com.google.storage.onestore.v3.OnestoreEntity;
+import com.google.storage.onestore.v3.proto2api.OnestoreEntity;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
@@ -260,16 +260,16 @@ 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 index =
+ OnestoreEntity.Index.Builder index =
factory.getCompositeIndexManager().compositeIndexForQuery(indexQuery);
if (index != null) {
- resultSet.add(IndexTranslator.convertFromPb(index));
+ resultSet.add(IndexTranslator.convertFromPb(index.build()));
}
}
return resultSet;
@@ -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,13 +290,13 @@ 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 index =
+ OnestoreEntity.Index.Builder index =
factory.getCompositeIndexManager().minimumCompositeIndexForQuery(indexQuery, indexPbs);
if (index != null) {
- resultSet.add(IndexTranslator.convertFromPb(index));
+ resultSet.add(IndexTranslator.convertFromPb(index.build()));
}
}
return resultSet;
@@ -304,19 +304,20 @@ 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();
+ // query.getFilterPredicates().clear();
+ 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);
+ // Query newQuery = new Query(query);
+ query.getFilterPredicates().clear();
+ query.getFilterPredicates().addAll(singleQuery);
+ DatastoreV3Pb.Query.Builder queryProto = QueryTranslator.convertToPb(query, fetchOptions);
resultQueries.add(queryProto);
}
}
diff --git a/api/src/main/java/com/google/appengine/api/datastore/AsyncCloudDatastoreV1ServiceImpl.java b/api/src/main/java/com/google/appengine/api/datastore/AsyncCloudDatastoreV1ServiceImpl.java
index a6205fc27..482e60724 100644
--- a/api/src/main/java/com/google/appengine/api/datastore/AsyncCloudDatastoreV1ServiceImpl.java
+++ b/api/src/main/java/com/google/appengine/api/datastore/AsyncCloudDatastoreV1ServiceImpl.java
@@ -23,6 +23,7 @@
import com.google.appengine.api.datastore.FutureHelper.MultiFuture;
import com.google.appengine.api.datastore.Index.IndexState;
import com.google.appengine.api.utils.FutureWrapper;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.GetResponse;
import com.google.common.base.Preconditions;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.ImmutableList;
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 d24e3d00d..124c88e1e 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
@@ -28,24 +28,26 @@
import com.google.appengine.api.utils.FutureWrapper;
import com.google.apphosting.api.ApiProxy.ApiConfig;
import com.google.apphosting.base.protos.api.ApiBasePb.StringProto;
-import com.google.apphosting.datastore.DatastoreV3Pb;
-import com.google.apphosting.datastore.DatastoreV3Pb.AllocateIdsRequest;
-import com.google.apphosting.datastore.DatastoreV3Pb.AllocateIdsResponse;
-import com.google.apphosting.datastore.DatastoreV3Pb.BeginTransactionRequest.TransactionMode;
-import com.google.apphosting.datastore.DatastoreV3Pb.CompositeIndices;
-import com.google.apphosting.datastore.DatastoreV3Pb.DatastoreService_3;
-import com.google.apphosting.datastore.DatastoreV3Pb.DeleteRequest;
-import com.google.apphosting.datastore.DatastoreV3Pb.DeleteResponse;
-import com.google.apphosting.datastore.DatastoreV3Pb.GetRequest;
-import com.google.apphosting.datastore.DatastoreV3Pb.GetResponse;
-import com.google.apphosting.datastore.DatastoreV3Pb.PutRequest;
-import com.google.apphosting.datastore.DatastoreV3Pb.PutResponse;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.AllocateIdsRequest;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.AllocateIdsResponse;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.BeginTransactionRequest.TransactionMode;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.CompositeIndices;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.DatastoreService_3;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.DeleteRequest;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.DeleteResponse;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.GetRequest;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.GetResponse;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.PutRequest;
+import com.google.apphosting.datastore.proto2api.DatastoreV3Pb.PutResponse;
import com.google.common.collect.Lists;
import com.google.common.collect.Maps;
-import com.google.io.protocol.ProtocolMessage;
-import com.google.storage.onestore.v3.OnestoreEntity.CompositeIndex;
-import com.google.storage.onestore.v3.OnestoreEntity.EntityProto;
-import com.google.storage.onestore.v3.OnestoreEntity.Reference;
+import com.google.protobuf.Message;
+import com.google.protobuf.MessageLite;
+import com.google.protobuf.MessageLiteOrBuilder;
+import com.google.storage.onestore.v3.proto2api.OnestoreEntity.CompositeIndex;
+import com.google.storage.onestore.v3.proto2api.OnestoreEntity.EntityProto;
+import com.google.storage.onestore.v3.proto2api.OnestoreEntity.Reference;
import java.util.ArrayList;
import java.util.Collection;
import java.util.Collections;
@@ -77,14 +79,14 @@ class AsyncDatastoreServiceImpl extends BaseAsyncDatastoreServiceImpl {
* @param the proto representation of value
*/
private abstract class V3Batcher<
- S extends ProtocolMessage,
- R extends ProtocolMessage,
+ S extends Message,
+ R extends MessageLite.Builder,
F,
- T extends ProtocolMessage>
+ T extends Message>
extends BaseRpcBatcher {
@Override
final R newBatch(R baseBatch) {
- return baseBatch.clone();
+ return (R) baseBatch.clone();
}
}
@@ -94,7 +96,7 @@ final R newBatch(R baseBatch) {
* @param the response message type
* @param the request message type
*/
- private abstract class V3KeyBatcher, R extends ProtocolMessage>
+ private abstract class V3KeyBatcher
extends V3Batcher {
@Override
final Object getGroup(Key value) {
@@ -107,10 +109,10 @@ final Reference toPb(Key value) {
}
}
- private final V3KeyBatcher deleteBatcher =
- new V3KeyBatcher() {
+ private final V3KeyBatcher deleteBatcher =
+ new V3KeyBatcher() {
@Override
- void addToBatch(Reference value, DeleteRequest batch) {
+ void addToBatch(Reference value, DeleteRequest.Builder batch) {
batch.addKey(value);
}
@@ -120,16 +122,16 @@ int getMaxCount() {
}
@Override
- protected Future makeCall(DeleteRequest batch) {
+ protected Future makeCall(DeleteRequest.Builder batch) {
return makeAsyncCall(
- apiConfig, DatastoreService_3.Method.Delete, batch, new DeleteResponse());
+ apiConfig, DatastoreService_3.Method.Delete, batch, DeleteResponse.newBuilder());
}
};
- private final V3KeyBatcher getByKeyBatcher =
- new V3KeyBatcher() {
+ private final V3KeyBatcher getByKeyBatcher =
+ new V3KeyBatcher() {
@Override
- void addToBatch(Reference value, GetRequest batch) {
+ void addToBatch(Reference value, GetRequest.Builder batch) {
batch.addKey(value);
}
@@ -139,13 +141,13 @@ int getMaxCount() {
}
@Override
- protected Future makeCall(GetRequest batch) {
- return makeAsyncCall(apiConfig, DatastoreService_3.Method.Get, batch, new GetResponse());
+ protected Future makeCall(GetRequest.Builder batch) {
+ return makeAsyncCall(apiConfig, DatastoreService_3.Method.Get, batch, GetResponse.newBuilder());
}
};
- private final V3Batcher getByReferenceBatcher =
- new V3Batcher() {
+ private final V3Batcher getByReferenceBatcher =
+ new V3Batcher() {
@Override
final Object getGroup(Reference value) {
return value.getPath().getElement(0);
@@ -157,7 +159,7 @@ final Reference toPb(Reference value) {
}
@Override
- void addToBatch(Reference value, GetRequest batch) {
+ void addToBatch(Reference value, GetRequest.Builder batch) {
batch.addKey(value);
}
@@ -167,20 +169,20 @@ int getMaxCount() {
}
@Override
- protected Future makeCall(GetRequest batch) {
- return makeAsyncCall(apiConfig, DatastoreService_3.Method.Get, batch, new GetResponse());
+ protected Future makeCall(GetRequest.Builder batch) {
+ return makeAsyncCall(apiConfig, DatastoreService_3.Method.Get, batch, GetResponse.newBuilder());
}
};
- private final V3Batcher putBatcher =
- new V3Batcher() {
+ private final V3Batcher putBatcher =
+ new V3Batcher() {
@Override
Object getGroup(Entity value) {
return value.getKey().getRootKey();
}
@Override
- void addToBatch(EntityProto value, PutRequest batch) {
+ void addToBatch(EntityProto value, PutRequest.Builder batch) {
batch.addEntity(value);
}
@@ -190,8 +192,8 @@ int getMaxCount() {
}
@Override
- protected Future makeCall(PutRequest batch) {
- return makeAsyncCall(apiConfig, DatastoreService_3.Method.Put, batch, new PutResponse());
+ protected Future makeCall(PutRequest.Builder batch) {
+ return makeAsyncCall(apiConfig, DatastoreService_3.Method.Put, batch, PutResponse.newBuilder());
}
@Override
@@ -215,8 +217,8 @@ public AsyncDatastoreServiceImpl(
@Override
protected TransactionImpl.InternalTransaction doBeginTransaction(TransactionOptions options) {
- DatastoreV3Pb.Transaction remoteTxn = new DatastoreV3Pb.Transaction();
- DatastoreV3Pb.BeginTransactionRequest request = new DatastoreV3Pb.BeginTransactionRequest();
+ DatastoreV3Pb.Transaction.Builder remoteTxn = DatastoreV3Pb.Transaction.newBuilder();
+ DatastoreV3Pb.BeginTransactionRequest.Builder request = DatastoreV3Pb.BeginTransactionRequest.newBuilder();
request.setApp(datastoreServiceConfig.getAppIdNamespace().getAppId());
request.setAllowMultipleEg(options.isXG());
if (options.previousTransaction() != null) {
@@ -255,7 +257,7 @@ protected TransactionImpl.InternalTransaction doBeginTransaction(TransactionOpti
protected final Future