/** * {@inheritDoc} */ @Override public void close() throws Exception { session.close(); } }
/** * Returns the {@code Cluster} object this session is part of. * * @return the {@code Cluster} object this session is part of. */ @Override public Cluster getCluster() { return session.getCluster(); }
/** * Returns cassandra metadata * * @return returns the cassandra metadata for the current session */ @Override public Metadata getMetadata() { return session.getMetadata(); }
/** * Executes a cassandra CQL query asynchronously. Ensures the callback is executed on the correct vert.x context. * * @param query the CQL query to execute * @return the promise for the {@link com.datastax.driver.core.ResultSet} */ @Override public Promise<ResultSet> executeAsync(String query) { return convertFuture(session.executeAsync(query)); }
whenSession = getInstance(WhenCassandraSession.class); session.onReady(result -> { if (result.failed()) { future.completeExceptionally(result.cause()); Metadata metadata = session.getMetadata(); KeyspaceMetadata keyspaceMetadata = metadata.getKeyspace(keyspace); if (keyspaceMetadata != null) { for (TableMetadata tableMetadata : keyspaceMetadata.getTables()) { session.execute(TableBuilder.drop(keyspace, tableMetadata.getName()).ifExists());
assertNotNull(session.getMetadata().getKeyspace(keyspace)); assertNull(session.getMetadata().getKeyspace(keyspace).getTable(table)); session.execute(statement); assertNotNull(session.getMetadata().getKeyspace(keyspace).getTable(table)); session.execute(statement); fail("Table already exists, create should have throw AlreadyExistsException"); } catch (QueryValidationException e) { session.execute(statement); TableMetadata tableMetadata = session.getMetadata().getKeyspace(keyspace).getTable(table); List<AlterTable> alterStatements = TableBuilder.alter(tableMetadata, createTable); session.execute(alterTable); tableMetadata = session.getMetadata().getKeyspace(keyspace).getTable(table); assertEquals(5, tableMetadata.getColumns().size()); session.execute(statement); session.execute(statement); session.execute(statement); fail("Table should not exist, drop should have throw InvalidQueryException"); } catch (QueryValidationException e) {
/** * Prepares the provided query statement * * @param statement the query statement to prepare * @return the promise for the {@link com.datastax.driver.core.PreparedStatement} */ @Override public Promise<PreparedStatement> prepareAsync(RegularStatement statement) { return convertFuture(session.prepareAsync(statement)); }
private void createKeyspace(Metadata metadata) { Statement createKeyspaceStatement = null; // Find out which node is closest and use that for the networktopologystrategy LoadBalancingPolicy lbPolicy = session.getCluster().getConfiguration().getPolicies().getLoadBalancingPolicy(); for (Host host : metadata.getAllHosts()) { if (lbPolicy.distance(host) == HostDistance.LOCAL) { createKeyspaceStatement = KeyspaceBuilder.create(keyspace) .ifNotExists() .networkTopologyStrategy() .dc(host.getDatacenter(), 1); break; } } if (createKeyspaceStatement == null) { fail("Could not find a local host for the test"); return; } session.execute(createKeyspaceStatement); }
/** * Promise for when the session is ready * * @return */ @Override public Promise<Void> ready() { Deferred<Void> d = when.defer(); session.onReady(result -> { if (result.succeeded()) { d.resolve((Void) null); } else { d.reject(result.cause()); } }); return d.getPromise(); }
/** * Whether this Session instance has been closed. * * @return {@code true} if this Session instance has been closed, {@code false} * otherwise. */ @Override public boolean isClosed() { return session.isClosed(); }
@Test public void testExecute() throws Exception { session.execute(createTestTableStatement); RegularStatement statement = QueryBuilder.select() .from(keyspace, "test") .where(QueryBuilder.eq("id", QueryBuilder.bindMarker())); PreparedStatement prepared = session.prepare(statement); BoundStatement bound = prepared.bind("123"); ResultSet rs = session.execute(bound); assertNotNull(rs); testComplete(); }
/** * Returns a vert.x wrapped {@link Mapper} * * @param klass * @return */ @Override public <T> WhenVertxMapper<T> mapper(Class<T> klass) { Mapper<T> mapper = getMappingManager().mapper(klass); return new DefaultWhenVertxMapper<>(mapper, when, session.getVertx()); } }
/** * Executes a cassandra statement asynchronously. Ensures the callback is executed on the correct vert.x context. * * @param statement the statement to execute * @return the promise for the {@link com.datastax.driver.core.ResultSet} */ @Override public Promise<ResultSet> executeAsync(Statement statement) { return convertFuture(session.executeAsync(statement)); }
/** * Prepares the provided query statement * * @param statement the query statement to prepare * @return the promise for the {@link com.datastax.driver.core.PreparedStatement} */ @Override public Promise<PreparedStatement> prepareAsync(RegularStatement statement) { return convertFuture(session.prepareAsync(statement)); }
/** * Promise for when the session is ready * * @return */ @Override public Promise<Void> ready() { Deferred<Void> d = when.defer(); session.onReady(result -> { if (result.succeeded()) { d.resolve((Void) null); } else { d.reject(result.cause()); } }); return d.getPromise(); }
/** * Whether this Session instance has been closed. * * @return {@code true} if this Session instance has been closed, {@code false} * otherwise. */ @Override public boolean isClosed() { return session.isClosed(); }
/** * Returns a vert.x wrapped {@link Mapper} * * @param klass * @return */ @Override public <T> VertxMapper<T> mapper(Class<T> klass) { Mapper<T> mapper = getMappingManager().mapper(klass); return new DefaultVertxMapper<>(mapper, session.getVertx()); } }
/** * Executes a cassandra statement asynchronously. Ensures the callback is executed on the correct vert.x context. * * @param statement the statement to execute * @return the promise for the {@link com.datastax.driver.core.ResultSet} */ @Override public Promise<ResultSet> executeAsync(Statement statement) { return convertFuture(session.executeAsync(statement)); }
/** * {@inheritDoc} */ @Override public void close() throws Exception { session.close(); }
/** * Returns cassandra metadata * * @return returns the cassandra metadata for the current session */ @Override public Metadata getMetadata() { return session.getMetadata(); }