private void rawSave(Object object) { driver().persistence().save(object); }
private FutureObject<Void> destroyInternalAsync(IdRef<?> id) { FutureObject<Void> futureObject = driver().persistence().destroyAsync(id); futureObject.setHook(new FutureObjectHook<Void>() { @Override public void apply(Repository r, Void object) { invalidateCache(id); RepositoryHooks.afterDestroy(r, id); } }); return futureObject; }
private <T> FutureObject<T> saveInternalAsync(T object) { FutureObject<T> futureObject = driver().persistence().saveAsync(object); futureObject.setHook(new FutureObjectHook<T>() { @Override public void apply(Repository r, T object) { invalidateCache(object); RepositoryHooks.afterSave(r, object); } }); return futureObject; }
private SourceMarker saveSourceMarker(Object source) { logger.finer("saving source marker"); ObjectHolder objectHolder = new ObjectHolder(source); IdRef<SourceMarker> markerId = createSourceMarkerId(objectHolder); SourceMarker sourceMarker; try { sourceMarker = markerId.fetch(); sourceMarker.increment(); } catch (NoResultException e) { sourceMarker = new SourceMarker(); sourceMarker.setId(markerId); sourceMarker.setParentId(objectHolder.getId()); } r.driver().persistence().save(sourceMarker); r.save(sourceMarker); Cache.clear(sourceMarker.getId()); logger.finer("done"); return sourceMarker; }
private void destroyInternal(IdRef<?> id) { boolean newTransaction = beginTransactionForPipesOnDestroy(id); try { refluxPipes(id); driver().persistence().destroy(id); invalidateCache(id); // TODO: Pipes - cleanup sinks if (newTransaction) { commit(); } } finally { if (newTransaction && isTransactionInProgress()) { rollback(); } } }