@Override public void invoke(Result<V> result, Object []args) { driver().findOne(_sql, args, result.then(this::toProxy)); }
@Override public void invoke(Result<List<V>> result, Object []args) { driver().findAll(_sql, args, result.then(this::listResult)); }
@Override public void exec(Result<Object> result, Object ...params) { _kraken.loadTable(_tableName, result.then((table,r)->execQuery(r,table,params))); }
private void copyFileImpl(String src, String dest, Result<Boolean> result) { getFile(src, result.then(stream -> { putFile(dest, stream); return true; })); }
@Override public void invoke(Result<V> result, Object []args) { driver().findOne(_sql, args, result.then(_cursorToBean)); } }
@Override public void accept(U u, Result<Void> result) { _map.apply(u, result.then((x,r)->_next.accept(x, r))); } }
@Override public void evalAsync(RequestWeb request, Result<Object> result) { request.body(Part[].class, result.then(x -> getPart(x))); }
private void afterAddTable(TableKelp table, Result<TableKelp> result) { if (_table != table) { result.ok(table); return; } checkpoint(result.then(v->_table)); }
@Override public void accept(S s, U u, Result<Void> result) { _map.apply(u, result.then((x,r)->{ _next.accept(s, x, r); })); } }
private void renameAfterRead(Cursor cursor, String srcPath, String dstPath, Result<Boolean> result, boolean isWaitForPut) { if (cursor == null) { result.ok(false); return; } copyAfterRead(cursor, dstPath, result.then((x,r)->remove(srcPath, r)), true); }
@Override public void build(Result<QueryKraken> result) { getDelegate().build(result.then(query->buildExplain(query))); }
public void get(String key, Result<Object> result) { /* System.out.println("XPL: " + _selectSql); _db.exec("explain " + _selectSql, Result.make(v -> { System.out.println("V: " + v); }, e->e.printStackTrace()), key); */ _selectQuery.findOne(result.then(cursor -> cursor != null ? cursor.getObject(1) : null), key, hash(key)); }
@Override public void accept(Accum<U> accum, T value, Result<Void> result) { _accum.apply(accum.get(), value, result.then((x,r)->{ accum.set(x); result.ok(null); })); } }
public void close(ShutdownModeAmp mode, Result<Void> result) { if (mode == ShutdownModeAmp.GRACEFUL) { _tableService.checkpoint(result.then(x->closeImpl())); } else { result.ok(closeImpl()); } }
public void getDirect(Result<Cursor> result, RowCursor cursor, Object []args) { TableKelp tableKelp = _table.getTableKelp(); EnvKelp envKelp = new EnvKelp(_whereKelp, args); tableKelp.getDirect(cursor, result.then(v->findOneGetResult(v, envKelp, cursor))); }
/** * Parse and execute SQL. */ public Object execSync(String sql, Object []params) { QueryBuilderKraken query = QueryParserKraken.parse(this, sql); return _services.run(10, TimeUnit.SECONDS, result->query.build(result.then((q,r)->q.exec(r, params)))); }
@Override public void build(Result<QueryKraken> result) { TableKraken table = _tableManager.getTable(_tableName); if (table != null) { result.ok(build(table)); } else { _tableManager.loadTable(_tableName, result.then(this::build)); } }
private void afterStart(Result<TableKelp> result) { DatabaseServiceKelp database = _table.database().getDatabaseService(); database.addTableImpl(_table.getName(), _table, result.then((t,r)->afterAddTable(t,r))); }
public void getOne(Result<Cursor> result, byte[] key, Object[] args) { TableKelp tableKelp = _table.getTableKelp(); RowCursor cursor = _table.cursor(); cursor.setKey(key, 0); EnvKelp envKelp = createEnv(args); tableKelp.getDirect(cursor, result.then(x->onGet(envKelp, cursor, x))); }
@Get("/foo/{id}") public void get(@Path("id") Q_fooBean foo, Result<Q_fooBean> result) { foo.value(result.then()); } }