static KeyFactory newKeyFactory(DatastoreOptions options) { return new KeyFactory(options.getProjectId(), options.getNamespace()); }
@Test public void testProjectId() throws Exception { assertEquals(PROJECT_ID, options.build().getProjectId()); }
public HttpDatastoreRpc(DatastoreOptions options) { HttpTransportOptions httpTransportOptions = (HttpTransportOptions) options.getTransportOptions(); HttpTransport transport = httpTransportOptions.getHttpTransportFactory().create(); com.google.datastore.v1.client.DatastoreOptions.Builder clientBuilder = new com.google.datastore.v1.client.DatastoreOptions.Builder() .projectId(options.getProjectId()) .initializer(getHttpRequestInitializer(options, httpTransportOptions)) .transport(transport); String normalizedHost = options.getHost() != null ? options.getHost().toLowerCase() : ""; if (isLocalHost(normalizedHost)) { clientBuilder = clientBuilder.localHost(removeScheme(normalizedHost)); } else if (!removeScheme(com.google.datastore.v1.client.DatastoreFactory.DEFAULT_HOST) .equals(removeScheme(normalizedHost)) && !normalizedHost.isEmpty()) { String fullUrl = normalizedHost; if (fullUrl.charAt(fullUrl.length() - 1) != '/') { fullUrl = fullUrl + '/'; } fullUrl = fullUrl + com.google.datastore.v1.client.DatastoreFactory.VERSION + "/projects/" + options.getProjectId(); clientBuilder = clientBuilder.projectId(null).projectEndpoint(fullUrl); } client = com.google.datastore.v1.client.DatastoreFactory.get().create(clientBuilder.build()); }
@Test public void testNewKeyFactory() { DatastoreOptions options = createMock(DatastoreOptions.class); expect(options.getProjectId()).andReturn("ds1").once(); expect(options.getNamespace()).andReturn("ns1").once(); replay(options); KeyFactory keyFactory = DatastoreHelper.newKeyFactory(options); Key key = keyFactory.setKind("k").newKey("bla"); assertEquals("ds1", key.getProjectId()); assertEquals("ns1", key.getNamespace()); assertEquals("k", key.getKind()); assertEquals("bla", key.getName()); verify(options); }
@Test public void testOptions() { LocalDatastoreHelper helper = LocalDatastoreHelper.create(); DatastoreOptions options = helper.getOptions(); assertTrue(options.getProjectId().startsWith(PROJECT_ID_PREFIX)); assertTrue(options.getHost().startsWith("localhost:")); assertSame(NoCredentials.getInstance(), options.getCredentials()); options = helper.getOptions(NAMESPACE); assertTrue(options.getProjectId().startsWith(PROJECT_ID_PREFIX)); assertTrue(options.getHost().startsWith("localhost:")); assertSame(NoCredentials.getInstance(), options.getCredentials()); assertEquals(NAMESPACE, options.getNamespace()); }
@Test public void testToBuilder() throws Exception { DatastoreOptions original = options.setNamespace("ns1").build(); DatastoreOptions copy = original.toBuilder().build(); assertEquals(original.getProjectId(), copy.getProjectId()); assertEquals(original.getNamespace(), copy.getNamespace()); assertEquals(original.getHost(), copy.getHost()); assertEquals(original.getRetrySettings(), copy.getRetrySettings()); assertEquals(original.getCredentials(), copy.getCredentials()); }
QueryResultsImpl( DatastoreImpl datastore, com.google.datastore.v1.ReadOptions readOptionsPb, Query<T> query) { this.datastore = datastore; this.readOptionsPb = readOptionsPb; this.query = query; queryResultType = query.getType(); com.google.datastore.v1.PartitionId.Builder pbBuilder = com.google.datastore.v1.PartitionId.newBuilder(); pbBuilder.setProjectId(datastore.getOptions().getProjectId()); if (query.getNamespace() != null) { pbBuilder.setNamespaceId(query.getNamespace()); } else if (datastore.getOptions().getNamespace() != null) { pbBuilder.setNamespaceId(datastore.getOptions().getNamespace()); } partitionIdPb = pbBuilder.build(); sendRequest(); if (runQueryResponsePb.getBatch().getSkippedResults() > 0) { cursor = runQueryResponsePb.getBatch().getSkippedCursor(); } else { cursor = mostRecentQueryPb.getStartCursor(); } }
static KeyFactory newKeyFactory(DatastoreOptions options) { return new KeyFactory(options.getProjectId(), options.getNamespace()); }
public HttpDatastoreRpc(DatastoreOptions options) { HttpTransportOptions httpTransportOptions = (HttpTransportOptions) options.getTransportOptions(); HttpTransport transport = httpTransportOptions.getHttpTransportFactory().create(); com.google.datastore.v1.client.DatastoreOptions.Builder clientBuilder = new com.google.datastore.v1.client.DatastoreOptions.Builder() .projectId(options.getProjectId()) .initializer(getHttpRequestInitializer(options, httpTransportOptions)) .transport(transport); String normalizedHost = options.getHost() != null ? options.getHost().toLowerCase() : ""; if (isLocalHost(normalizedHost)) { clientBuilder = clientBuilder.localHost(removeScheme(normalizedHost)); } else if (!removeScheme(com.google.datastore.v1.client.DatastoreFactory.DEFAULT_HOST) .equals(removeScheme(normalizedHost)) && !normalizedHost.isEmpty()) { String fullUrl = normalizedHost; if (fullUrl.charAt(fullUrl.length() - 1) != '/') { fullUrl = fullUrl + '/'; } fullUrl = fullUrl + com.google.datastore.v1.client.DatastoreFactory.VERSION + "/projects/" + options.getProjectId(); clientBuilder = clientBuilder.projectId(null).projectEndpoint(fullUrl); } client = com.google.datastore.v1.client.DatastoreFactory.get().create(clientBuilder.build()); }
/** * Returns an IncompleteKey of the given entity. * * @param entity * the entity * @return the incomplete key */ private IncompleteKey getIncompleteKey(Object entity) { EntityMetadata entityMetadata = EntityIntrospector.introspect(entity.getClass()); String kind = entityMetadata.getKind(); ParentKeyMetadata parentKeyMetadata = entityMetadata.getParentKeyMetadata(); DatastoreKey parentKey = null; IncompleteKey incompleteKey = null; if (parentKeyMetadata != null) { parentKey = (DatastoreKey) IntrospectionUtils.getFieldValue(parentKeyMetadata, entity); } if (parentKey != null) { incompleteKey = IncompleteKey.newBuilder(parentKey.nativeKey(), kind).build(); } else { incompleteKey = IncompleteKey.newBuilder(datastore.getOptions().getProjectId(), kind) .setNamespace(getEffectiveNamespace()).build(); } return incompleteKey; }
QueryResultsImpl( DatastoreImpl datastore, com.google.datastore.v1.ReadOptions readOptionsPb, Query<T> query) { this.datastore = datastore; this.readOptionsPb = readOptionsPb; this.query = query; queryResultType = query.getType(); com.google.datastore.v1.PartitionId.Builder pbBuilder = com.google.datastore.v1.PartitionId.newBuilder(); pbBuilder.setProjectId(datastore.getOptions().getProjectId()); if (query.getNamespace() != null) { pbBuilder.setNamespaceId(query.getNamespace()); } else if (datastore.getOptions().getNamespace() != null) { pbBuilder.setNamespaceId(datastore.getOptions().getNamespace()); } partitionIdPb = pbBuilder.build(); sendRequest(); if (runQueryResponsePb.getBatch().getSkippedResults() > 0) { cursor = runQueryResponsePb.getBatch().getSkippedCursor(); } else { cursor = mostRecentQueryPb.getStartCursor(); } }