public Builder modules(Collection<CassandraModule> modules) { tables.addAll(modules.stream() .flatMap(module -> module.moduleTables().stream()) .collect(Guavate.toImmutableList())); types.addAll(modules.stream() .flatMap(module -> module.moduleTypes().stream()) .collect(Guavate.toImmutableList())); return this; }
public Builder modules(Collection<CassandraModule> modules) { tables.addAll(modules.stream() .flatMap(module -> module.moduleTables().stream()) .collect(Guavate.toImmutableList())); types.addAll(modules.stream() .flatMap(module -> module.moduleTypes().stream()) .collect(Guavate.toImmutableList())); return this; }
public void clearAllTables() { CassandraAsyncExecutor executor = new CassandraAsyncExecutor(session); FluentFutureStream.of( module.moduleTables() .stream() .map(CassandraTable::getName) .map(name -> truncate(executor, name))) .join(); }
public InitializationStatus initializeTables() { KeyspaceMetadata keyspaceMetadata = session.getCluster() .getMetadata() .getKeyspace(session.getLoggedKeyspace()); return module.moduleTables() .stream() .map(table -> table.initialize(keyspaceMetadata, session)) .reduce((left, right) -> left.reduce(right)) .orElse(InitializationStatus.ALREADY_DONE); }
public CassandraTableManager ensureAllTables() { KeyspaceMetadata keyspaceMetadata = session.getCluster() .getMetadata() .getKeyspace(session.getLoggedKeyspace()); module.moduleTables() .stream() .filter(table -> keyspaceMetadata.getTable(table.getName()) == null) .forEach(table -> session.execute(table.getCreateStatement())); return this; }
public void clearAllTables() { CassandraAsyncExecutor executor = new CassandraAsyncExecutor(session); Flux.fromIterable(module.moduleTables()) .publishOn(Schedulers.elastic()) .map(CassandraTable::getName) .flatMap(name -> truncate(executor, name)) .then() .block(); }
private static void cleanCassandra(Session session) { MODULE.moduleTables().forEach(table -> session.execute(SchemaBuilder.dropTable(table.getName()))); MODULE.moduleTypes().forEach(type -> session.execute(SchemaBuilder.dropType(type.getName()))); }