package com.dedupeer.dao; import java.util.ArrayList; import java.util.List; import org.apache.cassandra.thrift.Cassandra; import org.apache.cassandra.thrift.CfDef; import org.apache.cassandra.thrift.KsDef; /** * @author Paulo Fernando (pf@paulofernando.net.br) */ public class DaoUtils { /** * Returns a list of Keyspaces * @return List of Keyspaces */ public static List<String> listKeyspaces(Cassandra.Client client) throws Exception { List<String> results = new ArrayList<String>(); for (KsDef k : client.describe_keyspaces()) { results.add(k.getName()); } return results; } /** * Creates a KsDef CfDef * @param ksname Keyspace name * @param cfname Column Family name * @param replication Replication factor * @return */ public static KsDef createSimpleKSandCF(String ksname, String cfname, int replication) { KsDef newKs = new KsDef(); newKs.setStrategy_class("org.apache.cassandra.locator.SimpleStrategy"); newKs.setName(ksname); newKs.setReplication_factor(replication); CfDef cfdef = new CfDef(); cfdef.setKeyspace(ksname); cfdef.setName(cfname); newKs.addToCf_defs(cfdef); return newKs; } }