package implementations; import interfaces.MiddlewareInterface; import java.util.ArrayList; import java.util.List; import java.util.Map; import middleware.ConnectionHandler; import model.Filter; import model.Key; import model.Row; import com.datastax.driver.core.Cluster; import com.datastax.driver.core.Session; public class CassandraHandler implements MiddlewareInterface, ConnectionHandler { static String name = "Cassandra"; static Cluster cluster; static Session session; static String keyspace = "test"; public static void connectToDatabase(String address) { cluster = Cluster.builder().addContactPoint(address).build(); session = cluster.connect(keyspace); } @Override public void connectToDatabase(String host, String port) { cluster = Cluster.builder().addContactPoint(host).build(); session = cluster.connect(keyspace); } @Override public void alterTableAddColumn(String tableName, String columnName) { CassandraQueryHandler.alterTableAddColumn(tableName, columnName); } @Override public void createNamespace(String namespaceName) { CassandraQueryHandler.createKeyspace(namespaceName); } @Override public void createTable(String tableName, String primaryKey) { CassandraQueryHandler.createTable(tableName, primaryKey); } @Override public void deleteTable(String tableName) { CassandraQueryHandler.deleteTable(tableName); } @Override public void insertRows(String tableName, List<Row> rows) { CassandraQueryHandler.insertItems(tableName, rows); } @Override public Row getRowByKey(String tableName, Key... combinedKey) { return CassandraQueryHandler.getRowByKey(tableName, combinedKey); } @Override public List<Row> getRowsByKeys( Map<String, ArrayList<Map<String, String>>> tableNamesWithKeys) { return null; } @Override public List<Row> getRows(String tableName, String conditionalOperator, Filter... filters) { return CassandraQueryHandler.scanTable(tableName, conditionalOperator, filters); } @Override public List<String> getTableNames() { return CassandraQueryHandler.getTableNames(); } }