Example usage for org.apache.cassandra.dht LocalPartitioner LocalPartitioner

List of usage examples for org.apache.cassandra.dht LocalPartitioner LocalPartitioner

Introduction

In this page you can find the example usage for org.apache.cassandra.dht LocalPartitioner LocalPartitioner.

Prototype

public LocalPartitioner(AbstractType<?> comparator) 

Source Link

Usage

From source file:com.mirantis.magnetodb.cassandra.db.index.MagnetoDBLocalSecondaryIndex.java

License:Apache License

public void init() {
    assert baseCfs != null && columnDefs != null && columnDefs.size() == 1;

    columnDef = columnDefs.iterator().next();

    isQueryPropertiesField = Boolean.parseBoolean(columnDef.getIndexOptions().get(QUERY_PROPERTIES_FIELD));

    if (!isQueryPropertiesField) {
        int prefixSize = columnDef.position();
        List<AbstractType<?>> types = new ArrayList<AbstractType<?>>(prefixSize + 1);
        types.add(columnDef.type);//  ww  w .  java2  s  .com
        for (int i = 0; i < prefixSize; i++)
            types.add(baseCfs.metadata.comparator.subtype(i));
        indexComparator = new CompoundDenseCellNameType(types);

        AbstractType<?> keyType = baseCfs.metadata.getKeyValidator();
        CFMetaData indexedCfMetadata = CFMetaData.newIndexMetadata(baseCfs.metadata, columnDef, indexComparator)
                .keyValidator(keyType).rebuild();
        indexCfs = ColumnFamilyStore.createColumnFamilyStore(baseCfs.keyspace, indexedCfMetadata.cfName,
                new LocalPartitioner(keyType), indexedCfMetadata);
    }
}