@Override public WriteResult doInSession(Session session) throws DriverException, DataAccessException { return WriteResult.of(session.execute(statement)); }
@Override public WriteResult execute() { if (executed.compareAndSet(false, true)) { return WriteResult.of(operations.getCqlOperations().queryForResultSet(batch)); } throw new IllegalStateException("This Cassandra Batch was already executed"); }
@Override public ListenableFuture<WriteResult> delete(Object entity, QueryOptions options) { Assert.notNull(entity, "Entity must not be null"); Assert.notNull(options, "QueryOptions must not be null"); CqlIdentifier tableName = getTableName(entity); Delete delete = QueryUtils.createDeleteQuery(tableName.toCql(), entity, options, getConverter()); maybeEmitEvent(new BeforeDeleteEvent<>(delete, entity.getClass(), tableName)); return new MappingListenableFutureAdapter<>(getAsyncCqlOperations().execute(new AsyncStatementCallback(delete)), resultSet -> { maybeEmitEvent(new AfterDeleteEvent<>(delete, entity.getClass(), tableName)); return WriteResult.of(resultSet); }); }