Skip to content

Commit c7b4340

Browse files
author
Ajay Kannan
committed
Fix batchUpsert snippet + minor changes for consiceness
1 parent d6bfb60 commit c7b4340

File tree

1 file changed

+28
-27
lines changed
  • datastore/src/main/java/com/google/datastore/snippets

1 file changed

+28
-27
lines changed

datastore/src/main/java/com/google/datastore/snippets/Concepts.java

Lines changed: 28 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -110,7 +110,7 @@ public static void beforeClass() throws IOException, InterruptedException {
110110
public void setUp() {
111111
datastore = DatastoreOptions.builder()
112112
.projectId(PROJECT_ID)
113-
.namespace("ghijklmnop") // for namespace metadata query
113+
.namespace("ghijklmnop")
114114
.host("http://localhost:" + PORT)
115115
.build()
116116
.service();
@@ -120,15 +120,13 @@ public void setUp() {
120120
keyFactory = datastore.newKeyFactory().kind("Task");
121121
taskKey = keyFactory.newKey("some-arbitrary-key");
122122
testEntity = Entity.builder(taskKey, TEST_FULL_ENTITY).build();
123-
Calendar startDateCalendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
124-
startDateCalendar.set(1990, 1, 1);
125-
startDate = DateTime.copyFrom(startDateCalendar);
126-
Calendar endDateCalendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
127-
endDateCalendar.set(2000, 1, 1);
128-
endDate = DateTime.copyFrom(endDateCalendar);
129-
Calendar includedCalendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
130-
includedCalendar.set(1999, 12, 31);
131-
includedDate = DateTime.copyFrom(includedCalendar);
123+
Calendar calendar = Calendar.getInstance(TimeZone.getTimeZone("UTC"));
124+
calendar.set(1990, 1, 1);
125+
startDate = DateTime.copyFrom(calendar);
126+
calendar.set(2000, 1, 1);
127+
endDate = DateTime.copyFrom(calendar);
128+
calendar.set(1999, 12, 31);
129+
includedDate = DateTime.copyFrom(calendar);
132130
}
133131

134132
/**
@@ -195,9 +193,11 @@ private void assertValidEntity(Entity original) {
195193
@Test
196194
public void testEntityWithParent() {
197195
// [START entity_with_parent]
198-
KeyFactory keyFactory =
199-
datastore.newKeyFactory().ancestors(PathElement.of("TaskList", "default")).kind("Task");
200-
Entity task = Entity.builder(keyFactory.newKey("sampleTask"))
196+
Key taskKey = datastore.newKeyFactory()
197+
.ancestors(PathElement.of("TaskList", "default"))
198+
.kind("Task")
199+
.newKey("sampleTask");
200+
Entity task = Entity.builder(taskKey)
201201
.set("type", "Personal")
202202
.set("done", false)
203203
.set("priority", 4)
@@ -313,26 +313,25 @@ private List<Entity> setUpBatchTests(Key taskKey1, Key taskKey2) {
313313
@Test
314314
public void testBatchUpsert() {
315315
// [START batch_upsert]
316-
Key taskKey1 = datastore.allocateId(keyFactory.newKey());
317-
Key taskKey2 = datastore.allocateId(keyFactory.newKey());
318-
Entity task1 = Entity.builder(taskKey1)
316+
FullEntity<IncompleteKey> task1 = FullEntity.builder(keyFactory.newKey())
319317
.set("type", "Personal")
320318
.set("done", false)
321319
.set("priority", 4)
322320
.set("description", "Learn Cloud Datastore")
323321
.build();
324-
Entity task2 = Entity.builder(taskKey2)
322+
FullEntity<IncompleteKey> task2 = Entity.builder(keyFactory.newKey())
325323
.set("type", "Personal")
326324
.set("done", false)
327325
.set("priority", 5)
328326
.set("description", "Integrate Cloud Datastore")
329327
.build();
330328
Batch batch = datastore.newBatch();
331-
batch.put(task1, task2);
332-
batch.submit();
329+
batch.addWithDeferredIdAllocation(task1, task2);
330+
Batch.Response response = batch.submit();
331+
List<Key> taskKeys = response.generatedKeys(); // keys listed in order of insertion
333332
// [END batch_upsert]
334-
assertEquals(task1, datastore.get(taskKey1));
335-
assertEquals(task2, datastore.get(taskKey2));
333+
assertEquals(Entity.builder(taskKeys.get(0), task1).build(), datastore.get(taskKeys.get(0)));
334+
assertEquals(Entity.builder(taskKeys.get(1), task2).build(), datastore.get(taskKeys.get(1)));
336335
}
337336

338337
@Test
@@ -443,7 +442,7 @@ public void testKeyFilter() {
443442
// [START key_filter]
444443
Query<Entity> query = Query.entityQueryBuilder()
445444
.kind("Task")
446-
.filter(PropertyFilter.gt("__key__", keyFactory.newKey("someTask")))
445+
.filter(PropertyFilter.gt("__key__", keyFactory.newKey("someTask")))
447446
.build();
448447
// [END key_filter]
449448
assertValidQuery(query);
@@ -946,10 +945,10 @@ public void testPropertyRunQuery() {
946945
public void testPropertyByKindRunQuery() {
947946
setUpQueryTests();
948947
// [START property_by_kind_run_query]
949-
KeyFactory keyFactory = datastore.newKeyFactory().kind("__kind__");
948+
Key key = datastore.newKeyFactory().kind("__kind__").newKey("Task");
950949
Query<Entity> query = Query.entityQueryBuilder()
951950
.kind("__property__")
952-
.filter(PropertyFilter.hasAncestor(keyFactory.newKey("Task")))
951+
.filter(PropertyFilter.hasAncestor(key))
953952
.build();
954953
QueryResults<Entity> results = datastore.run(query);
955954
Multimap<String, String> representationsByProperty = HashMultimap.create();
@@ -977,12 +976,14 @@ public void testPropertyByKindRunQuery() {
977976
public void testPropertyFilteringRunQuery() {
978977
setUpQueryTests();
979978
// [START property_filtering_run_query]
980-
KeyFactory keyFactory = datastore.newKeyFactory()
979+
Key key =
980+
datastore.newKeyFactory()
981981
.kind("__property__")
982-
.ancestors(PathElement.of("__kind__", "Task"));
982+
.ancestors(PathElement.of("__kind__", "Task"))
983+
.newKey("priority");
983984
Query<Key> query = Query.keyQueryBuilder()
984985
.kind("__property__")
985-
.filter(PropertyFilter.ge("__key__", keyFactory.newKey("priority")))
986+
.filter(PropertyFilter.ge("__key__", key))
986987
.build();
987988
Multimap<String, String> propertiesByKind = HashMultimap.create();
988989
QueryResults<Key> results = datastore.run(query);

0 commit comments

Comments
 (0)