@Override public void execute() { pw.println(yawp.driver().helpers().listNamespaces()); } }
@Override public Driver driver() { init(); return get().driver(); }
@Override public void beginX() { tx = driver().transaction().beginX(); }
@Override public void begin() { tx = driver().transaction().begin(); }
private T doExecuteQueryById(IdRef<T> id) { return r.driver().query().fetch(id); }
public void drops() { yawp.driver().pipes().flowDrops(); }
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; }
protected boolean pipesDriverNotImplemented() { // TODO: pipes - remove this try { yawp.driver().pipes(); return false; } catch (DriverNotImplementedException e) { return true; } }
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; }
public static void flux(Repository r, Object source) { logger.finer("flux"); Class<?> endpointClazz = source.getClass(); if (!isPipeSource(r, endpointClazz)) { return; } for (Class<? extends Pipe> pipeClazz : r.getEndpointFeatures(endpointClazz).getPipes()) { Pipe pipe = Pipe.newInstance(r, pipeClazz); r.driver().pipes().flux(pipe, source); } logger.finer("done"); }
public void reload(String pipeClazzName) { Class<? extends Pipe> pipeClazz = getPipeClazz(pipeClazzName); yawp.driver().pipes().reload(pipeClazz); }
private List<T> doExecuteQuery() { List<T> objects = r.driver().query().objects(this); return postFilter(objects); }
private static void refluxOld(Repository r, Class<?> endpointClazz, Object source, Object oldSource) { if (!isPipeSource(r, endpointClazz)) { return; } logger.finer("refluxing old"); for (Class<? extends Pipe> pipeClazz : r.getEndpointFeatures(endpointClazz).getPipes()) { Pipe pipe = Pipe.newInstance(r, pipeClazz); r.driver().pipes().refluxOld(pipe, source, oldSource); } }
@Override public <T> T fetch(IdRef<T> id) { namespace.set(id.getClazz()); try { return driver().query().fetch(id); } finally { namespace.reset(); } }
@Override public <T> FutureObject<T> fetchAsync(IdRef<T> id) { namespace.set(id.getClazz()); try { return driver().query().fetchAsync(id); } finally { namespace.reset(); } }
private static void reflowSink(Repository r, Class<?> endpointClazz, Object sink, Object oldSink) { if (!isPipeSink(r, endpointClazz)) { return; } logger.finer("reflowing sink"); for (Class<? extends Pipe> pipeClazz : r.getEndpointFeatures(endpointClazz).getPipesSink()) { Pipe pipe = Pipe.newInstance(r, pipeClazz); if (!pipe.reflowCondition(sink, oldSink)) { continue; } r.driver().pipes().reflow(pipe, sink); } }
private void refluxSources(List<SinkMarker> sinkMarkers) { for (SinkMarker sinkMarker : sinkMarkers) { Object source = sinkMarker.getSourceId().fetch(); Pipe pipe = newPipeInstance(); pipe.configureSinks(source); Set sinks = pipe.allSinks(); if (sinks.contains(sinkId)) { continue; } pipe.forceSink(sinkId); r.driver().pipes().reflux(pipe, source); } }
private void welcome(Repository r) { Welcome welcome = new Welcome(); welcome.setMessage("Welcome to YAWP!"); welcome.setVersion(Environment.version()); welcome.setDriver(r.driver().name()); throw new HttpException(200, JsonUtils.to(welcome)); }
private void flushSource() { try { r.begin(); Pipe pipe = newPipeInstance(); Object source = sourceId.fetch(); r.driver().pipes().flux(pipe, source); r.commit(); } finally { if (r.isTransactionInProgress()) { r.rollback(); } } }