protected <T> FutureObject<T> saveAsync(T object) { namespace.set(object.getClass()); try { RepositoryHooks.beforeSave(this, object); return saveInternalAsync(object); } finally { namespace.reset(); } }
@Override public <T> T save(T object) { logger.finer("saving object"); namespace.set(object.getClass()); try { RepositoryHooks.beforeSave(this, object); saveInternal(object); RepositoryHooks.afterSave(this, object); } finally { namespace.reset(); } return object; }
@Override public Object action(IdRef<?> id, Class<?> clazz, ActionKey actionKey, String json, Map<String, String> params) { namespace.set(clazz); try { ActionMethod actionMethod = repositoryFeatures.getByClazz(clazz).getAction(actionKey); return RepositoryActions.execute(this, actionMethod, id, json, params); } finally { namespace.reset(); } }
protected FutureObject<Void> destroyAsync(final IdRef<?> id) { namespace.set(id.getClazz()); try { RepositoryHooks.beforeDestroy(this, id); return destroyInternalAsync(id); } finally { namespace.reset(); } }
@Override public <T> T fetch(IdRef<T> id) { namespace.set(id.getClazz()); try { return driver().query().fetch(id); } finally { namespace.reset(); } }
public List<T> executeQueryList() { r.namespace().set(getClazz()); try { return executeQuery(); } finally { r.namespace().reset(); } }
@Override public <T> FutureObject<T> fetchAsync(IdRef<T> id) { namespace.set(id.getClazz()); try { return driver().query().fetchAsync(id); } finally { namespace.reset(); } }
@Override public void destroy(IdRef<?> id) { namespace.set(id.getClazz()); try { RepositoryHooks.beforeDestroy(this, id); destroyInternal(id); RepositoryHooks.afterDestroy(this, id); } finally { namespace.reset(); } }
public T first() { r.namespace().set(getClazz()); try { if (isQueryById()) { return executeQueryById(); } return executeQueryFirst(); } finally { r.namespace().reset(); } }
private static Key convertWithinRightNamespace(Repository r, Class<?> clazz, IdRef<?> id) { r.namespace().set(clazz); try { Key parent = id.getParentId() == null ? null : toKey(r, id.getParentId()); String kind = KindResolver.getKindFromClass(id.getClazz()); return createKey(id, parent, kind); } finally { r.namespace().reset(); } }
public List<IdRef<T>> ids() { if (hasPostFilter() || hasPostOrder()) { throw new RuntimeException("ids() cannot be used with post query filter or order. You may need to add @Index to your model attributes."); } r.namespace().set(getClazz()); try { executedQueryType = QueryType.IDS; RepositoryHooks.beforeQuery(this); List<IdRef<T>> ids = hasForcedResponse(executedQueryType) ? getForcedResultIds() : doFetchIds(); executedResponse = ids; RepositoryHooks.afterQuery(this); return ids; } finally { r.namespace().reset(); } }
private static Key convertWithinRightNamespace(Repository r, Class<?> clazz, IdRef<?> id) { r.namespace().set(clazz); try { Key parent = id.getParentId() == null ? null : toKey(r, id.getParentId()); String kind = KindResolver.getKindFromClass(id.getClazz()); return createKey(id, parent, kind); } finally { r.namespace().reset(); } }
public T only() throws NoResultException, MoreThanOneResultException { r.namespace().set(getClazz()); try { T object; if (isQueryById()) { object = executeQueryById(); } else { object = executeQueryOnly(); } if (object == null) { throw new NoResultException(); } return object; } finally { r.namespace().reset(); } }