Refine search
@Test public void testAllocateId() { KeyFactory keyFactory = DATASTORE.newKeyFactory().setKind(KIND1); IncompleteKey pk1 = keyFactory.newKey(); Key key1 = DATASTORE.allocateId(pk1); assertEquals(key1.getProjectId(), pk1.getProjectId()); assertEquals(key1.getNamespace(), pk1.getNamespace()); assertEquals(key1.getAncestors(), pk1.getAncestors()); assertEquals(key1.getKind(), pk1.getKind()); assertTrue(key1.hasId()); assertFalse(key1.hasName()); assertEquals(Key.newBuilder(pk1, key1.getId()).build(), key1); Key key2 = DATASTORE.allocateId(pk1); assertNotEquals(key1, key2); assertEquals(Key.newBuilder(pk1, key2.getId()).build(), key2); }
private static void addParentToBuilder(Key parent, Builder builder) { builder.setNamespace(parent.getNamespace()); builder.addAncestors(parent.getAncestors()); if (parent.hasId()) { builder.addAncestors(PathElement.of(parent.getKind(), parent.getId())); } else { builder.addAncestors(PathElement.of(parent.getKind(), parent.getName())); } } }
/** Returns the key's parent. */ @Override public Key getParent() { List<PathElement> ancestors = getAncestors(); if (ancestors.isEmpty()) { return null; } PathElement parent = ancestors.get(ancestors.size() - 1); Key.Builder keyBuilder; if (parent.hasName()) { keyBuilder = Key.newBuilder(getProjectId(), parent.getKind(), parent.getName()); } else { keyBuilder = Key.newBuilder(getProjectId(), parent.getKind(), parent.getId()); } String namespace = getNamespace(); if (namespace != null) { keyBuilder.setNamespace(namespace); } return keyBuilder.addAncestors(ancestors.subList(0, ancestors.size() - 1)).build(); }
@Test public void testToAndFromUrlSafe() throws Exception { Key key = Key.newBuilder("d", "k", "n").build(); String urlSafe = key.toUrlSafe(); Key copy = Key.fromUrlSafe(urlSafe); assertEquals(key, copy); } }
@Test public void testNameOrId() throws Exception { Key.Builder builder = Key.newBuilder("d", "k", "n"); Key key = builder.build(); assertEquals("n", key.getNameOrId()); key = builder.setId(1).build(); assertEquals(Long.valueOf(1), key.getNameOrId()); }
public static Builder newBuilder(String projectId, String kind, String name) { return new Builder(projectId, kind, name); }
public static Builder newBuilder(IncompleteKey copyFrom, String name) { return new Builder(copyFrom, name); }
public static Builder newBuilder(Key copyFrom) { return new Builder(copyFrom); }
public static Builder newBuilder(IncompleteKey copyFrom, long id) { return new Builder(copyFrom, id); }
public static Builder newBuilder(String projectId, String kind, long id) { return new Builder(projectId, kind, id); }
public static Builder newBuilder(IncompleteKey copyFrom, long id) { return new Builder(copyFrom, id); }
public static Builder newBuilder(String projectId, String kind, String name) { return new Builder(projectId, kind, name); }
public static Builder newBuilder(IncompleteKey copyFrom, String name) { return new Builder(copyFrom, name); }
public static Builder newBuilder(Key copyFrom) { return new Builder(copyFrom); }
public static Builder newBuilder(String projectId, String kind, long id) { return new Builder(projectId, kind, id); }
@Test public void testAllocateId() throws Exception { Datastore datastore = createStrictMock(Datastore.class); IncompleteKey pKey1 = IncompleteKey.newBuilder("ds", "k").build(); Key key1 = Key.newBuilder(pKey1, 1).build(); expect(datastore.allocateId(new IncompleteKey[] {pKey1})) .andReturn(Collections.singletonList(key1)); replay(datastore); assertEquals(key1, DatastoreHelper.allocateId(datastore, pKey1)); verify(datastore); }