com.google.appengine.api.datastore.KeyRange Java Examples
The following examples show how to use
com.google.appengine.api.datastore.KeyRange.
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: AllocateIdsTest.java From appengine-tck with Apache License 2.0 | 6 votes |
@Test public void testCheckKeyRange() throws Exception { long initialValue = getInitialValue("OtherKind"); KeyRange kr1 = new KeyRange(null, "OtherKind", 1 + initialValue, 5 + initialValue); DatastoreService.KeyRangeState state1 = service.allocateIdRange(kr1); Assert.assertNotNull(state1); // imo, it could be either -- depending on the impl Assert.assertTrue(DatastoreService.KeyRangeState.CONTENTION == state1 || DatastoreService.KeyRangeState.EMPTY == state1); KeyRange kr2 = service.allocateIds("OtherKind", 6); Assert.assertNotNull(kr2); KeyRange kr3 = new KeyRange(null, "OtherKind", 2 + initialValue, 5 + initialValue); DatastoreService.KeyRangeState state2 = service.allocateIdRange(kr3); Assert.assertNotNull(state2); // can it be both, depending on the impl? Assert.assertTrue(DatastoreService.KeyRangeState.COLLISION == state2 || DatastoreService.KeyRangeState.CONTENTION == state2); }
Example #2
Source File: AllocateIdsTest.java From appengine-tck with Apache License 2.0 | 6 votes |
@Test public void testOutOfRangeEntity() throws Exception { final long allocateNum = 5; // Range default namespace KeyRange range = service.allocateIds(ALLOCATE_IDS_ENTITY, allocateNum); Entity noParent = createTestEntity(ALLOCATE_IDS_ENTITY); assertEntityNotInRange(noParent, range); // Range with specified parent Entity parent = new Entity(ALLOCATE_IDS_ENTITY); Key parentKey = service.put(parent); KeyRange range2 = service.allocateIds(parentKey, ALLOCATE_IDS_ENTITY, allocateNum); Entity entity = createTestEntity(ALLOCATE_IDS_ENTITY, parentKey); assertEntityNotInRange(entity, range2); // In Range entity should have same parent Entity child = new Entity(range2.getStart()); Key childKey = service.put(child); // child with allocated key should have correct parent. Assert.assertEquals(parentKey, childKey.getParent()); }
Example #3
Source File: AllocateIdsTest.java From appengine-tck with Apache License 2.0 | 6 votes |
private boolean rangeOverlap(KeyRange kr1, KeyRange kr2) { long firstStart = kr1.getStart().getId(); long firstEnd = kr1.getEnd().getId(); long secondStart = kr2.getStart().getId(); long secondEnd = kr2.getStart().getId(); if ((firstStart == secondStart) || (firstEnd == secondEnd)) { return true; } if ((firstStart == secondEnd) || (firstEnd == secondStart)) { return true; } if ((firstStart < secondStart) && (firstEnd > secondStart)) { return true; } if ((firstStart > secondStart) && (secondEnd > firstStart)) { return true; } return false; }
Example #4
Source File: EntitiesTest.java From java-docs-samples with Apache License 2.0 | 5 votes |
@Test public void identifiers_autoId_setsUnallocatedId() throws Exception { KeyRange keys = datastore.allocateIds("Employee", 1); long usedId = keys.getStart().getId(); // [START identifiers_2] Entity employee = new Entity("Employee"); // [END identifiers_2] datastore.put(employee); assertWithMessage("key id").that(employee.getKey().getId()).isNotEqualTo(usedId); }
Example #5
Source File: AllocateIdsTest.java From appengine-tck with Apache License 2.0 | 5 votes |
@Test public void testAllocateId() throws Exception { KeyRange firstBlock = service.allocateIds(ALLOCATE_IDS_ENTITY, 10L); Assert.assertNotNull(firstBlock); Assert.assertEquals(10, firstBlock.getEnd().getId() - firstBlock.getStart().getId() + 1); Assert.assertEquals(10, firstBlock.getSize()); KeyRange secondBlock = service.allocateIds(ALLOCATE_IDS_ENTITY, 10L); Assert.assertNotNull(secondBlock); Assert.assertFalse("Allocated key ranges should not overlap.", rangeOverlap(firstBlock, secondBlock)); }
Example #6
Source File: AllocateIdsTest.java From appengine-tck with Apache License 2.0 | 5 votes |
@Test public void testAllocateChild() { Entity parent = new Entity(ALLOCATE_IDS_ENTITY); parent.setProperty("name", "parent-" + System.currentTimeMillis()); Key parentKey = service.put(parent); final int allocateSize = 10; KeyRange range = service.allocateIds(parentKey, ALLOCATE_IDS_ENTITY, allocateSize); Entity child = new Entity(range.getStart()); Key key = service.put(child); // child with allocated key should have correct parent. Assert.assertEquals(parentKey, key.getParent()); }
Example #7
Source File: AsyncServiceTest.java From appengine-tck with Apache License 2.0 | 5 votes |
@Test public void testDataAllocate() throws Exception { final long allocateNum = 5; // Range default namespace Future<KeyRange> futureRange = asyncService.allocateIds(ASYNC_ENTITY, allocateNum); KeyRange range = futureRange.get(); assertTaskIsDoneAndNotCancelled(futureRange); Entity noParent = createTestEntity(ASYNC_ENTITY); assertEntityNotInRange(noParent, range); // Range with specified parent Entity parent = new Entity(ASYNC_ENTITY); parent.setProperty("name", "parent" + new Date()); Key parentKey = service.put(parent); Future<KeyRange> futureRange2 = asyncService.allocateIds(parentKey, ASYNC_ENTITY, allocateNum); KeyRange range2 = futureRange2.get(); assertTaskIsDoneAndNotCancelled(futureRange2); Entity noParent2 = createTestEntity(ASYNC_ENTITY, parentKey); assertEntityNotInRange(noParent2, range2); // In Range entity should have same parent Entity child = new Entity(range2.getStart()); child.setProperty("name", "second" + new Date()); Key childKey = service.put(child); // child with allocated key should have correct parent. assertEquals(parentKey, childKey.getParent()); }
Example #8
Source File: RequestCapturingAsyncDatastoreService.java From nomulus with Apache License 2.0 | 4 votes |
@Override public Future<KeyRange> allocateIds(String kind, long num) { return delegate.allocateIds(kind, num); }
Example #9
Source File: RequestCapturingAsyncDatastoreService.java From nomulus with Apache License 2.0 | 4 votes |
@Override public Future<KeyRange> allocateIds(Key parent, String kind, long num) { return delegate.allocateIds(parent, kind, num); }
Example #10
Source File: DatastoreHelperTestBase.java From appengine-tck with Apache License 2.0 | 4 votes |
protected void assertEntityNotInRange(Entity entity, KeyRange range) { // allocated key should not be re-used. Assert.assertTrue(entity.getKey().getId() > range.getEnd().getId() || entity.getKey().getId() < range.getStart().getId()); }