Example usage for org.apache.cassandra.db.marshal CompositeType getComponents

List of usage examples for org.apache.cassandra.db.marshal CompositeType getComponents

Introduction

In this page you can find the example usage for org.apache.cassandra.db.marshal CompositeType getComponents.

Prototype

@Override
    public List<AbstractType<?>> getComponents() 

Source Link

Usage

From source file:com.tuplejump.stargate.cassandra.CustomColumnFactory.java

License:Apache License

private ByteBuffer partitionKey(ColumnFamilyStore table) {
    ByteBuffer partitionKey;/*from  w  ww  . j a v a  2s.  c o  m*/
    AbstractType keyType = table.metadata.getKeyValidator();
    if (keyType instanceof CompositeType) {
        CompositeType compositeType = ((CompositeType) keyType);
        CompositeType.Builder builder = compositeType.builder();
        compositeType.getComponents();
        for (AbstractType component : compositeType.getComponents()) {
            builder.add(Fields.defaultValue(component));
        }
        partitionKey = builder.build();
    } else {
        partitionKey = Fields.defaultValue(keyType);
    }
    return partitionKey;
}

From source file:com.tuplejump.stargate.cassandra.ErrorReporter.java

License:Apache License

public Row getErrorRow(ColumnFamilyStore table, RowIndex currentIndex, Exception e) {
    CompositeType baseComparator = (CompositeType) table.getComparator();
    int prefixSize = baseComparator.types.size() - (table.metadata.getCfDef().hasCollections ? 2 : 1);
    ColumnFamily cleanColumnFamily = TreeMapBackedSortedColumns.factory.create(table.metadata);
    ByteBuffer partitionKey;//from  w w  w  . j ava2s  .  co  m
    AbstractType keyType = table.metadata.getKeyValidator();
    if (keyType instanceof CompositeType) {
        CompositeType compositeType = ((CompositeType) keyType);
        CompositeType.Builder builder = compositeType.builder();
        compositeType.getComponents();
        for (AbstractType component : compositeType.getComponents()) {
            builder.add(Fields.defaultValue(component));
        }
        partitionKey = builder.build();
    } else {
        partitionKey = Fields.defaultValue(keyType);
    }

    List<ColumnDefinition> pkCols = table.metadata.partitionKeyColumns();
    for (ColumnDefinition columnDef : pkCols) {
        addDefaultColumn(table, columnDef, cleanColumnFamily, prefixSize, baseComparator);
    }
    List<ColumnDefinition> ckCols = table.metadata.clusteringKeyColumns();
    for (ColumnDefinition columnDef : ckCols) {
        addDefaultColumn(table, columnDef, cleanColumnFamily, prefixSize, baseComparator);
    }

    if (currentIndex.isMetaColumn()) {
        String indexColumnName = currentIndex.getPrimaryColumnName();
        Iterable<ColumnDefinition> cols = table.metadata.regularAndStaticColumns();
        for (ColumnDefinition columnDef : cols) {
            addDefaultColumn(table, columnDef, cleanColumnFamily, prefixSize, baseComparator);
        }
        addErrorColumn(table, indexColumnName, e.getMessage(), cleanColumnFamily);
        DecoratedKey dk = table.partitioner.decorateKey(partitionKey);
        return new Row(dk, cleanColumnFamily);
    } else {
        return null;
    }
}

From source file:com.tuplejump.stargate.cassandra.TableMapper.java

License:Apache License

private ByteBuffer defaultPartitionKey() {
    ByteBuffer partitionKey;//  w  w  w. ja  va2  s  .  c  o  m
    AbstractType keyType = table.metadata.getKeyValidator();
    if (keyType instanceof CompositeType) {
        CompositeType compositeType = ((CompositeType) keyType);
        CompositeType.Builder builder = compositeType.builder();
        compositeType.getComponents();
        for (AbstractType component : compositeType.getComponents()) {
            builder.add(Fields.defaultValue(component));
        }
        partitionKey = builder.build();
    } else {
        partitionKey = Fields.defaultValue(keyType);
    }
    return partitionKey;
}