Skip to content

Commit 660d67b

Browse files
committed
Merge pull request #161 from ajkannan/update-datastore
Update values and keys to v1beta3
2 parents 34d5b7a + 9f40a5f commit 660d67b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

50 files changed

+333
-415
lines changed

gcloud-java-datastore/pom.xml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,12 +13,32 @@
1313
<artifactId>gcloud-java-pom</artifactId>
1414
<version>0.0.8-SNAPSHOT</version>
1515
</parent>
16+
<repositories>
17+
<repository>
18+
<id>sonatype-snapshots</id>
19+
<name>sonatype-snapshots</name>
20+
<url>https://oss.sonatype.org/content/repositories/snapshots/</url>
21+
<snapshots>
22+
<enabled>true</enabled>
23+
</snapshots>
24+
</repository>
25+
</repositories>
1626
<dependencies>
1727
<dependency>
1828
<groupId>${project.groupId}</groupId>
1929
<artifactId>gcloud-java-core</artifactId>
2030
<version>${project.version}</version>
2131
</dependency>
32+
<dependency>
33+
<groupId>com.google.cloud.datastore</groupId>
34+
<artifactId>datastore-v1beta3-protos</artifactId>
35+
<version>0.0.1-SNAPSHOT</version>
36+
</dependency>
37+
<dependency>
38+
<groupId>com.google.cloud.datastore</groupId>
39+
<artifactId>datastore-v1beta3-proto-client</artifactId>
40+
<version>0.0.1-SNAPSHOT</version>
41+
</dependency>
2242
<dependency>
2343
<groupId>com.google.apis</groupId>
2444
<artifactId>google-api-services-datastore-protobuf</artifactId>

gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/BaseDatastoreBatchWriter.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,8 @@ protected DatastoreV1.Mutation.Builder toMutationPb() {
214214
mutationPb.addUpsert(entity.toPb());
215215
}
216216
for (Key key : toDelete()) {
217-
mutationPb.addDelete(key.toPb());
217+
// TODO(ajaykannan): fix me!
218+
//mutationPb.addDelete(key.toPb());
218219
}
219220
return mutationPb;
220221
}

gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/BaseEntity.java

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -93,11 +93,13 @@ private B self() {
9393
protected B fill(DatastoreV1.Entity entityPb) {
9494
Map<String, Value<?>> copiedProperties = Maps.newHashMap();
9595
for (DatastoreV1.Property property : entityPb.getPropertyList()) {
96-
copiedProperties.put(property.getName(), Value.fromPb(property.getValue()));
96+
// TODO(ajaykannan): fix me!
97+
//copiedProperties.put(property.getName(), Value.fromPb(property.getValue()));
9798
}
9899
properties(copiedProperties);
99100
if (entityPb.hasKey()) {
100-
key((K) IncompleteKey.fromPb(entityPb.getKey()));
101+
// TODO(ajaykannan): fix me!
102+
//key((K) IncompleteKey.fromPb(entityPb.getKey()));
101103
}
102104
return self();
103105
}
@@ -389,11 +391,13 @@ protected final DatastoreV1.Entity toPb() {
389391
for (Map.Entry<String, Value<?>> entry : properties.entrySet()) {
390392
DatastoreV1.Property.Builder propertyPb = DatastoreV1.Property.newBuilder();
391393
propertyPb.setName(entry.getKey());
392-
propertyPb.setValue(entry.getValue().toPb());
394+
// TODO(ajaykannan): fix me!
395+
//propertyPb.setValue(entry.getValue().toPb());
393396
entityPb.addProperty(propertyPb.build());
394397
}
395398
if (key != null) {
396-
entityPb.setKey(key.toPb());
399+
// TODO(ajaykannan): fix me!
400+
//entityPb.setKey(key.toPb());
397401
}
398402
return entityPb.build();
399403
}

gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/BaseKey.java

Lines changed: 11 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,6 @@
2020
import static com.google.gcloud.datastore.Validator.validateKind;
2121
import static com.google.gcloud.datastore.Validator.validateNamespace;
2222

23-
import com.google.api.services.datastore.DatastoreV1;
2423
import com.google.common.base.Preconditions;
2524
import com.google.common.collect.ImmutableList;
2625

@@ -31,7 +30,7 @@
3130
/**
3231
* Base class for keys.
3332
*/
34-
abstract class BaseKey extends Serializable<DatastoreV1.Key> {
33+
abstract class BaseKey extends Serializable<com.google.datastore.v1beta3.Key> {
3534

3635
private static final long serialVersionUID = -4671243265877410635L;
3736

@@ -41,8 +40,8 @@ abstract class BaseKey extends Serializable<DatastoreV1.Key> {
4140

4241
abstract static class Builder<B extends Builder<B>> {
4342

44-
String projectId;
45-
String namespace;
43+
String projectId = "";
44+
String namespace = "";
4645
String kind;
4746
final List<PathElement> ancestors;
4847

@@ -172,20 +171,15 @@ public boolean equals(Object obj) {
172171
}
173172

174173
@Override
175-
protected DatastoreV1.Key toPb() {
176-
DatastoreV1.Key.Builder keyPb = DatastoreV1.Key.newBuilder();
177-
DatastoreV1.PartitionId.Builder partitionIdPb = DatastoreV1.PartitionId.newBuilder();
178-
if (projectId != null) {
179-
partitionIdPb.setDatasetId(projectId);
180-
}
181-
if (namespace != null) {
182-
partitionIdPb.setNamespace(namespace);
183-
}
184-
if (partitionIdPb.hasDatasetId() || partitionIdPb.hasNamespace()) {
185-
keyPb.setPartitionId(partitionIdPb.build());
186-
}
174+
protected com.google.datastore.v1beta3.Key toPb() {
175+
com.google.datastore.v1beta3.Key.Builder keyPb = com.google.datastore.v1beta3.Key.newBuilder();
176+
com.google.datastore.v1beta3.PartitionId.Builder partitionIdPb =
177+
com.google.datastore.v1beta3.PartitionId.newBuilder();
178+
partitionIdPb.setProjectId(projectId);
179+
partitionIdPb.setNamespaceId(namespace);
180+
keyPb.setPartitionId(partitionIdPb.build());
187181
for (PathElement pathEntry : path) {
188-
keyPb.addPathElement(pathEntry.toPb());
182+
keyPb.addPath(pathEntry.toPb());
189183
}
190184
return keyPb.build();
191185
}

gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/BatchImpl.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ public List<Key> generatedKeys() {
4343
return Lists.transform(response.getMutationResult().getInsertAutoIdKeyList(),
4444
new Function<DatastoreV1.Key, Key>() {
4545
@Override public Key apply(DatastoreV1.Key keyPb) {
46-
return Key.fromPb(keyPb);
46+
// TODO(ajaykannan): fix me!
47+
//return Key.fromPb(keyPb);
48+
return Key.builder(null).build(); // TODO(ajaykannan): fix me!
4749
}
4850
});
4951
}

gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/BlobValue.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616

1717
package com.google.gcloud.datastore;
1818

19-
import static com.google.api.services.datastore.DatastoreV1.Value.BLOB_VALUE_FIELD_NUMBER;
20-
21-
import com.google.api.services.datastore.DatastoreV1;
19+
import static com.google.datastore.v1beta3.Value.BLOB_VALUE_FIELD_NUMBER;
2220

2321
public final class BlobValue extends Value<Blob> {
2422

@@ -40,12 +38,12 @@ public Builder newBuilder(Blob value) {
4038
}
4139

4240
@Override
43-
protected Blob getValue(DatastoreV1.Value from) {
41+
protected Blob getValue(com.google.datastore.v1beta3.Value from) {
4442
return new Blob(from.getBlobValue());
4543
}
4644

4745
@Override
48-
protected void setValue(BlobValue from, DatastoreV1.Value.Builder to) {
46+
protected void setValue(BlobValue from, com.google.datastore.v1beta3.Value.Builder to) {
4947
to.setBlobValue(from.get().byteString());
5048
}
5149
};

gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/BooleanValue.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616

1717
package com.google.gcloud.datastore;
1818

19-
import static com.google.api.services.datastore.DatastoreV1.Value.BOOLEAN_VALUE_FIELD_NUMBER;
20-
21-
import com.google.api.services.datastore.DatastoreV1;
19+
import static com.google.datastore.v1beta3.Value.BOOLEAN_VALUE_FIELD_NUMBER;
2220

2321
public final class BooleanValue extends Value<Boolean> {
2422

@@ -40,12 +38,12 @@ public Builder newBuilder(Boolean value) {
4038
}
4139

4240
@Override
43-
protected Boolean getValue(DatastoreV1.Value from) {
41+
protected Boolean getValue(com.google.datastore.v1beta3.Value from) {
4442
return from.getBooleanValue();
4543
}
4644

4745
@Override
48-
protected void setValue(BooleanValue from, DatastoreV1.Value.Builder to) {
46+
protected void setValue(BooleanValue from, com.google.datastore.v1beta3.Value.Builder to) {
4947
to.setBooleanValue(from.get());
5048
}
5149
};

gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/DatastoreImpl.java

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -126,12 +126,14 @@ public List<Key> allocateId(IncompleteKey... keys) {
126126
}
127127
DatastoreV1.AllocateIdsRequest.Builder requestPb = DatastoreV1.AllocateIdsRequest.newBuilder();
128128
for (IncompleteKey key : keys) {
129-
requestPb.addKey(trimNameOrId(key).toPb());
129+
// TODO(ajaykannan): fix me!
130+
//requestPb.addKey(trimNameOrId(key).toPb());
130131
}
131132
DatastoreV1.AllocateIdsResponse responsePb = allocateIds(requestPb.build());
132133
ImmutableList.Builder<Key> keyList = ImmutableList.builder();
133134
for (DatastoreV1.Key keyPb : responsePb.getKeyList()) {
134-
keyList.add(Key.fromPb(keyPb));
135+
// TODO(ajaykannan): fix me!
136+
// keyList.add(Key.fromPb(keyPb));
135137
}
136138
return keyList.build();
137139
}
@@ -193,7 +195,8 @@ public List<Entity> add(FullEntity<?>... entities) {
193195
if (completeEntity != null) {
194196
responseBuilder.add(completeEntity);
195197
} else {
196-
responseBuilder.add(Entity.builder(Key.fromPb(allocatedKeys.next()), entity).build());
198+
// TODO(ajaykannan): fix me!
199+
//responseBuilder.add(Entity.builder(Key.fromPb(allocatedKeys.next()), entity).build());
197200
}
198201
}
199202
return responseBuilder.build();
@@ -223,7 +226,8 @@ Iterator<Entity> get(DatastoreV1.ReadOptions readOptionsPb, final Key... keys) {
223226
requestPb.setReadOptions(readOptionsPb);
224227
}
225228
for (Key k : Sets.newLinkedHashSet(Arrays.asList(keys))) {
226-
requestPb.addKey(k.toPb());
229+
// TODO(ajaykannan): fix me!
230+
//requestPb.addKey(k.toPb());
227231
}
228232
return new ResultsIterator(requestPb);
229233
}
@@ -310,7 +314,8 @@ public void delete(Key... keys) {
310314
DatastoreV1.Mutation.Builder mutationPb = DatastoreV1.Mutation.newBuilder();
311315
Set<Key> dedupKeys = new LinkedHashSet<>(Arrays.asList(keys));
312316
for (Key key : dedupKeys) {
313-
mutationPb.addDelete(key.toPb());
317+
// TODO(ajaykannan): fix me!
318+
//mutationPb.addDelete(key.toPb());
314319
}
315320
commitMutation(mutationPb);
316321
}

gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/DateTime.java

Lines changed: 15 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818

1919
import static com.google.common.base.Preconditions.checkNotNull;
2020

21-
import com.google.api.services.datastore.DatastoreV1;
22-
import com.google.api.services.datastore.DatastoreV1.Value;
2321
import com.google.protobuf.InvalidProtocolBufferException;
2422

2523
import org.joda.time.format.ISODateTimeFormat;
@@ -34,7 +32,7 @@
3432
* @see <a href="https://cloud.google.com/datastore/docs/concepts/entities">Google Cloud Datastore
3533
* Entities, Properties, and Keys</a>
3634
*/
37-
public final class DateTime extends Serializable<DatastoreV1.Value>
35+
public final class DateTime extends Serializable<com.google.protobuf.Timestamp>
3836
implements Comparable<DateTime> {
3937

4038
private static final long serialVersionUID = 7343324797621228378L;
@@ -98,12 +96,23 @@ public static DateTime copyFrom(Calendar calendar) {
9896
}
9997

10098
@Override
101-
protected Value toPb() {
102-
return DatastoreV1.Value.newBuilder().setIntegerValue(timestampMicroseconds).build();
99+
protected com.google.protobuf.Timestamp toPb() {
100+
return microsecondsToTimestampPb(timestampMicroseconds);
103101
}
104102

105103
@Override
106104
protected Object fromPb(byte[] bytesPb) throws InvalidProtocolBufferException {
107-
return new DateTime(DatastoreV1.Value.parseFrom(bytesPb).getIntegerValue());
105+
return new DateTime(timestampPbToMicroseconds(
106+
com.google.protobuf.Timestamp.parseFrom(bytesPb)));
107+
}
108+
109+
protected static long timestampPbToMicroseconds(com.google.protobuf.Timestamp timestampPb) {
110+
return timestampPb.getSeconds() * 1000000 + timestampPb.getNanos() / 1000;
111+
}
112+
113+
protected static com.google.protobuf.Timestamp microsecondsToTimestampPb(long microseconds) {
114+
long seconds = microseconds / 1000000;
115+
int nanos = (int) (microseconds % 1000000) * 1000;
116+
return com.google.protobuf.Timestamp.newBuilder().setSeconds(seconds).setNanos(nanos).build();
108117
}
109118
}

gcloud-java-datastore/src/main/java/com/google/gcloud/datastore/DateTimeValue.java

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,7 @@
1616

1717
package com.google.gcloud.datastore;
1818

19-
import static com.google.api.services.datastore.DatastoreV1.Value.TIMESTAMP_MICROSECONDS_VALUE_FIELD_NUMBER;
20-
21-
import com.google.api.services.datastore.DatastoreV1;
19+
import static com.google.datastore.v1beta3.Value.TIMESTAMP_VALUE_FIELD_NUMBER;
2220

2321
public final class DateTimeValue extends Value<DateTime> {
2422

@@ -31,7 +29,7 @@ public final class DateTimeValue extends Value<DateTime> {
3129

3230
@Override
3331
public int getProtoFieldId() {
34-
return TIMESTAMP_MICROSECONDS_VALUE_FIELD_NUMBER;
32+
return TIMESTAMP_VALUE_FIELD_NUMBER;
3533
}
3634

3735
@Override
@@ -40,13 +38,14 @@ public Builder newBuilder(DateTime value) {
4038
}
4139

4240
@Override
43-
protected DateTime getValue(DatastoreV1.Value from) {
44-
return new DateTime(from.getTimestampMicrosecondsValue());
41+
protected DateTime getValue(com.google.datastore.v1beta3.Value from) {
42+
return new DateTime(DateTime.timestampPbToMicroseconds(from.getTimestampValue()));
4543
}
4644

4745
@Override
48-
protected void setValue(DateTimeValue from, DatastoreV1.Value.Builder to) {
49-
to.setTimestampMicrosecondsValue(from.get().timestampMicroseconds());
46+
protected void setValue(DateTimeValue from, com.google.datastore.v1beta3.Value.Builder to) {
47+
to.setTimestampValue(DateTime.microsecondsToTimestampPb(from.get()
48+
.timestampMicroseconds()));
5049
}
5150
};
5251

0 commit comments

Comments
 (0)