public void flush() { final List<Result<?>> futures = new ArrayList<>(); // Need to do this in a loop because @OnSave methods can enlist more deferred operations. Execution // of save or delete will undefer() all the relevant items, so both lists empty mean we're done. while (!operations.isEmpty() || !autogeneratedIdSaves.isEmpty()) { // Sort into two batch operations: one for save, one for delete. final List<Object> saves = new ArrayList<>(); final List<Key<?>> deletes = new ArrayList<>(); for (final Map.Entry<Key<?>, Object> entry : operations.entrySet()) { if (entry.getValue() == null) deletes.add(entry.getKey()); else saves.add(entry.getValue()); } saves.addAll(autogeneratedIdSaves); if (!saves.isEmpty()) futures.add(ofy.save().entities(saves)); if (!deletes.isEmpty()) futures.add(ofy.delete().keys(deletes)); } // Complete any pending operations for (final Result<?> future : futures) { future.now(); } }
@Override public <T> void delete(Class<T> clazz, long id) { this.base.delete(clazz, id); }
@Override public void delete(Object... keysOrEntities) { this.base.delete(keysOrEntities); }
@Override public void delete(Iterable<?> keysOrEntities) { this.base.delete(keysOrEntities); }
@Override public <T> void delete(Class<T> clazz, String name) { this.base.delete(clazz, name); }
public void deleteMyObjects(Long[] ids) { Objectify txn = null; try { txn = txn(); List<Key<MyObject>> keys = new ArrayList<Key<MyObject>>(); for (long id : ids) { keys.add(new Key<MyObject>(MyObject.class, id)); } txn.delete(keys); commit(txn); } finally { rollbackIfNeeded(txn); } }
public void delete(T entity) { ofy().delete().entity(entity); }
public void delete(T entity) { ofy().delete().entity(entity); }
protected Result<Void> deleteInternal(Key<E> key) { return ofy().delete().key(key); }
protected Result<Void> deleteInternal(Iterable<Key<E>> keys) { return ofy().delete().keys(keys); }
public void remove() { ofy().delete().entity(this).now(); }
public static void removeAll(List<Todo> todos) { ofy().delete().entities(todos).now(); }
/** * Delete the segment using the specified {@link Objectify} useful for transaction. * @param objectify The {@link Objectify} to use * @param name The name of the segment to delete */ protected void deleteSegment(final Objectify objectify, final String name) { final Key<Segment> segmentKey = newSegmentKey(name); final Segment segment = objectify.load().key(segmentKey).now(); objectify.delete().keys(segment.getHunkKeys(segmentKey)); objectify.delete().key(segmentKey); }
@Override public void deleteFile(String name) { final Objectify objectify = ofy(); final Segment segment = objectify.load().key(newSegmentKey(name)).now(); final long hunkCount = segment.hunkCount; for (int i = 1; i <= hunkCount; i++) { objectify.delete().key(newSegmentHunkKey(name, i)); } objectify.delete().key(newSegmentKey(name)); } @Override
@Override public AsyncResult<Void> deleteAsync(E e) { final Result<Void> ofyDelete = ofy().delete().entity(e); final IndexOperation searchDelete = shouldSearch() ? searchService.removeById(Key.create(e)) : null; return new AsyncResult<Void>() { @Override public Void complete() { ofyDelete.now(); if (searchDelete != null) { searchDelete.complete(); } return null; } }; }
@Override public AsyncResult<Void> deleteAsync(Iterable<E> entities) { final Result<Void> ofyDelete = ofy().delete().entities(entities); final IndexOperation searchDelete = shouldSearch() ? searchService.removeById(toKeysFromEntities.from(entities)) : null; return new AsyncResult<Void>() { @Override public Void complete() { ofyDelete.now(); if (searchDelete != null) { searchDelete.complete(); } return null; } }; }
@Override public void vrun() { FormEntity rootEntity = new FormEntity(); rootEntity.setId(activity.getSiteFormClassId()); rootEntity.setVersion(activity.getVersion()); rootEntity.setSchemaVersion(activity.getActivityVersion().getSchemaVersion()); FormRecordEntity recordEntity = new FormRecordEntity(activity.getSiteFormClassId(), update.getRecordId()); recordEntity.setVersion(newVersion); recordEntity.setSchemaVersion(activity.getActivityVersion().getSchemaVersion()); recordEntity.setFieldValues(getFormClass(), values); FormRecordSnapshotEntity snapshot = new FormRecordSnapshotEntity(update.getUserId(), changeType, recordEntity); if (changeType == RecordChangeType.DELETED) { ofy().save().entities(rootEntity, snapshot); ofy().delete().entities(recordEntity); } else { ofy().save().entities(rootEntity, recordEntity, snapshot); } } });