本文整理汇总了Java中com.google.cloud.datastore.Datastore类的典型用法代码示例。如果您正苦于以下问题:Java Datastore类的具体用法?Java Datastore怎么用?Java Datastore使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Datastore类属于com.google.cloud.datastore包,在下文中一共展示了Datastore类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: save
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
@Override
public <S extends T> Iterable<S> save(Iterable<S> entities) {
Datastore datastore = this.datastoreOptions.getService();
List<FullEntity<? extends IncompleteKey>> buffer = new ArrayList<>();
for (S entity : entities) {
ID id = this.entityInformation.getId(entity);
Key key = getKey(id);
buffer.add(this.marshaller.toEntity(entity, key));
if (buffer.size() >= BUFFER_SIZE) {
datastore.put(buffer.toArray(new FullEntity[buffer.size()]));
buffer.clear();
}
}
if (buffer.size() > 0) {
datastore.put(buffer.toArray(new FullEntity[buffer.size()]));
}
return entities;
}
示例2: deleteKeys
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
private void deleteKeys(Iterable<Key> keys) {
Datastore datastore = this.datastoreOptions.getService();
List<Key> buffer = new ArrayList<>(BUFFER_SIZE);
for (Key key : keys) {
buffer.add(key);
if (buffer.size() >= BUFFER_SIZE) {
datastore.delete(buffer.toArray(new Key[buffer.size()]));
buffer.clear();
}
}
if (buffer.size() > 0) {
datastore.delete(buffer.toArray(new Key[buffer.size()]));
}
}
示例3: setAncestorFilter
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
private <U> void setAncestorFilter(StructuredQuery.Builder<U> queryBuilder) {
Datastore datastore = datastoreOptions.getService();
Deque<PathElement> ancestors = Context.getAncestors();
Deque<PathElement> init = new LinkedList<>();
init.addAll(ancestors);
PathElement last = init.pollLast();
if (last != null) {
KeyFactory keyFactory = datastore.newKeyFactory();
keyFactory.addAncestors(init).setKind(last.getKind());
Key key = last.hasId() ? keyFactory.newKey(last.getId())
: keyFactory.newKey(last.getName());
queryBuilder.setFilter(StructuredQuery.PropertyFilter.hasAncestor(key));
}
}
示例4: getKey
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
private Key getKey(ID id) {
Datastore datastore = this.datastoreOptions.getService();
KeyFactory keyFactory = datastore.newKeyFactory().setKind(this.kind);
Iterable<PathElement> ancestors = Context.getAncestors();
keyFactory.addAncestors(ancestors);
Key key;
if (id instanceof Number) {
key = keyFactory.newKey(((Number) id).longValue());
}
else {
key = keyFactory.newKey(id.toString());
}
return key;
}
示例5: setAncestorFilter
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
protected StructuredQuery.Filter setAncestorFilter(StructuredQuery.Filter filter) {
Datastore datastore = datastoreOptions.getService();
Deque<PathElement> ancestors = Context.getAncestors();
Deque<PathElement> init = new LinkedList<>();
init.addAll(ancestors);
PathElement last = init.pollLast();
if (last == null) {
return filter;
}
else {
KeyFactory keyFactory = datastore.newKeyFactory();
keyFactory.addAncestors(init).setKind(last.getKind());
Key key = last.hasId()
? keyFactory.newKey(last.getId()) : keyFactory.newKey(last.getName());
StructuredQuery.Filter ancestorFilter = StructuredQuery.PropertyFilter.hasAncestor(key);
if (filter == null) {
return ancestorFilter;
}
else {
return StructuredQuery.CompositeFilter.and(filter, ancestorFilter);
}
}
}
示例6: createEntityManager
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
/**
* Creates and returns an {@link EntityManager} using the specified connection parameters.
*
* @param parameters
* the connection parameters
* @return a new {@link EntityManager} created using the specified connection parameters.
* @throws EntityManagerException
* if any error occurs while creating the EntityManager.
*/
public EntityManager createEntityManager(ConnectionParameters parameters) {
try {
DatastoreOptions.Builder datastoreOptionsBuilder = DatastoreOptions.newBuilder();
datastoreOptionsBuilder.setHost(parameters.getServiceURL());
datastoreOptionsBuilder.setTransportOptions(getHttpTransportOptions(parameters));
String projectId = parameters.getProjectId();
if (!Utility.isNullOrEmpty(projectId)) {
datastoreOptionsBuilder.setProjectId(projectId);
}
String namespace = parameters.getNamespace();
if (namespace != null) {
datastoreOptionsBuilder.setNamespace(namespace);
}
datastoreOptionsBuilder.setCredentials(getCredentials(parameters));
Datastore datastore = datastoreOptionsBuilder.build().getService();
return new DefaultEntityManager(datastore);
} catch (Exception exp) {
throw new EntityManagerFactoryException(exp);
}
}
示例7: testCreateEntityManager_GoodFilePath
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
@Test
public void testCreateEntityManager_GoodFilePath() {
EntityManagerFactory emf = EntityManagerFactory.getInstance();
String projectId = System.getenv(TestUtils.ENV_PROJECT_ID);
String jsonFile = System.getenv(TestUtils.ENV_CREDENTIALS);
if (jsonFile == null) {
System.out.printf("Enviornment variable %s is not set, skipping the test case%n",
TestUtils.ENV_CREDENTIALS);
return;
}
EntityManager em = emf.createEntityManager(projectId, jsonFile);
DefaultEntityManager dem = (DefaultEntityManager) em;
Datastore ds = dem.getDatastore();
assertTrue(
ds.getOptions().getProjectId() != null && ds.getOptions().getProjectId().length() != 0
&& ds.getOptions().getNamespace().equals(""));
}
示例8: testCreateEntityManager_Namespace
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
@Test
public void testCreateEntityManager_Namespace() {
EntityManagerFactory emf = EntityManagerFactory.getInstance();
try {
String projectId = System.getenv(TestUtils.ENV_PROJECT_ID);
String jsonFile = System.getenv(TestUtils.ENV_CREDENTIALS);
if (jsonFile == null) {
System.out.printf("Enviornment variable %s is not set, skipping the test case%n",
TestUtils.ENV_CREDENTIALS);
return;
}
EntityManager em = emf.createEntityManager(projectId, new File(jsonFile), "junit");
DefaultEntityManager dem = (DefaultEntityManager) em;
Datastore ds = dem.getDatastore();
assertTrue(
ds.getOptions().getProjectId() != null && ds.getOptions().getProjectId().length() != 0
&& ds.getOptions().getNamespace().equals("junit"));
} catch (Exception exp) {
System.out.println(exp);
throw exp;
}
}
示例9: tearDownClass
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
@AfterClass
public static void tearDownClass() {
// Clear the datastore
Datastore datastore = DatastoreOptions.getDefaultInstance().getService();
Batch batch = datastore.newBatch();
StructuredQuery<Key> query = Query.newKeyQueryBuilder()
.setKind("Book3").build();
for (QueryResults<Key> keys = datastore.run(query); keys.hasNext(); ) {
batch.delete(keys.next());
}
batch.submit();
// Delete any objects in the bucket
Storage storage = StorageOptions.getDefaultInstance().getService();
Page<Blob> blobs = storage.list(System.getProperty("bookshelf.bucket"));
List<BlobId> blobIds = new ArrayList<BlobId>();
for (Blob b : blobs.iterateAll()) {
blobIds.add(b.getBlobId());
}
storage.delete(blobIds);
service.stop();
}
示例10: tearDownClass
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
@AfterClass
public static void tearDownClass() {
// Clear the datastore if we're not using the local emulator
if (!LOCAL_TEST) {
Datastore datastore = DatastoreOptions.getDefaultInstance().getService();
Batch batch = datastore.newBatch();
StructuredQuery<Key> query = Query.newKeyQueryBuilder()
.setKind("Book5").build();
for (QueryResults<Key> keys = datastore.run(query); keys.hasNext(); ) {
batch.delete(keys.next());
}
batch.submit();
}
service.stop();
}
示例11: createAndStopService
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
@AfterClass
public static void createAndStopService() {
service.stop();
// Clear the datastore if we're not using the local emulator
if (!LOCAL_TEST) {
Datastore datastore = DatastoreOptions.getDefaultInstance().getService();
Batch batch = datastore.newBatch();
StructuredQuery<Key> query = Query.newKeyQueryBuilder()
.setKind("Book2").build();
for (QueryResults<Key> keys = datastore.run(query); keys.hasNext(); ) {
batch.delete(keys.next());
}
batch.submit();
}
}
示例12: tearDownClass
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
@AfterClass
public static void tearDownClass() {
// Delete any objects in the bucket
Storage storage = StorageOptions.getDefaultInstance().getService();
Page<Blob> blobs = storage.list(System.getProperty("bookshelf.bucket"));
List<BlobId> blobIds = new ArrayList<BlobId>();
for (Blob b : blobs.iterateAll()) {
blobIds.add(b.getBlobId());
}
storage.delete(blobIds);
// Clear the datastore if we're not using the local emulator
if (!LOCAL_TEST) {
Datastore datastore = DatastoreOptions.getDefaultInstance().getService();
Batch batch = datastore.newBatch();
StructuredQuery<Key> query = Query.newKeyQueryBuilder()
.setKind("Book3").build();
for (QueryResults<Key> keys = datastore.run(query); keys.hasNext(); ) {
batch.delete(keys.next());
}
batch.submit();
}
service.stop();
}
示例13: tearDownClass
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
@AfterClass
public static void tearDownClass() {
// Clear the datastore if we're not using the local emulator
if (!LOCAL_TEST) {
Datastore datastore = DatastoreOptions.getDefaultInstance().getService();
Batch batch = datastore.newBatch();
StructuredQuery<Key> query = Query.newKeyQueryBuilder()
.setKind("Book4").build();
for (QueryResults<Key> keys = datastore.run(query); keys.hasNext(); ) {
batch.delete(keys.next());
}
batch.submit();
}
service.stop();
}
示例14: save
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
@Override
public void save(Message message) {
// Save message to "messages"
Datastore datastore = getDatastoreInstance();
Key key = datastore.allocateId(keyFactory.newKey());
Entity.Builder messageEntityBuilder = Entity.newBuilder(key)
.set("messageId", message.getMessageId());
if (message.getData() != null) {
messageEntityBuilder = messageEntityBuilder.set("data", message.getData());
}
if (message.getPublishTime() != null) {
messageEntityBuilder = messageEntityBuilder.set("publishTime", message.getPublishTime());
}
datastore.put(messageEntityBuilder.build());
}
示例15: deleteAll
import com.google.cloud.datastore.Datastore; //导入依赖的package包/类
@Override
public void deleteAll() {
Datastore datastore = this.datastoreOptions.getService();
KeyQuery query = getAllKeyQuery();
deleteKeys(new Iterable<Key>() {
@Override
public Iterator<Key> iterator() {
return datastore.run(query);
}
});
}