static CassandraModule aggregateModules(CassandraModule... modules) { return aggregateModules(Arrays.asList(modules)); }
static TableBuilder table(String tableName) { return builder().table(tableName); }
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 CassandraTypesCreator(CassandraModule module, Session session) { this.types = ImmutableList.copyOf(module.moduleTypes()); this.session = session; }
public void clearAllTables() { CassandraAsyncExecutor executor = new CassandraAsyncExecutor(session); FluentFutureStream.of( module.moduleTables() .stream() .map(CassandraTable::getName) .map(name -> truncate(executor, name))) .join(); }
public CassandraTypesCreator(CassandraModule module, Session session) { this.types = ImmutableList.copyOf(module.moduleTypes()); this.session = session; }
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); }
static CassandraModule aggregateModules(CassandraModule... modules) { return aggregateModules(Arrays.asList(modules)); }
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; }
static TypeBuilder type(String typeName) { return builder().type(typeName); }
@Inject public CassandraTypesProvider(CassandraModule module, Session session) { KeyspaceMetadata keyspaceMetadata = session.getCluster() .getMetadata() .getKeyspace(session.getLoggedKeyspace()); userTypes = module.moduleTypes() .stream() .collect(Guavate.toImmutableMap( CassandraType::getName, type -> keyspaceMetadata.getUserType(type.getName()))); }
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; }
@BeforeClass public static void setUpClass() { CassandraModule modules = CassandraModule.aggregateModules( CassandraAttachmentModule.MODULE, CassandraBlobModule.MODULE); cassandra = CassandraCluster.create(modules, cassandraServer.getHost()); }
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()))); }
static TypeBuilder type(String typeName) { return builder().type(typeName); }
@Inject public CassandraTypesProvider(CassandraModule module, Session session) { KeyspaceMetadata keyspaceMetadata = session.getCluster() .getMetadata() .getKeyspace(session.getLoggedKeyspace()); userTypes = module.moduleTypes() .stream() .collect(Guavate.toImmutableMap( CassandraType::getName, type -> keyspaceMetadata.getUserType(type.getName()))); }
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(); }
@BeforeClass public static void setUpClass() { CassandraModule module = CassandraModule.aggregateModules(CassandraVacationModule.MODULE, CassandraZonedDateTimeModule.MODULE); cassandra = CassandraCluster.create(module, cassandraServer.getHost()); }
static TableBuilder table(String tableName) { return builder().table(tableName); }
@BeforeClass public static void setUpClass() { CassandraModule modules = CassandraModule.aggregateModules(CassandraMailboxModule.MODULE, CassandraAclModule.MODULE); cassandra = CassandraCluster.create(modules, cassandraServer.getHost()); }