Java 类org.apache.cassandra.thrift.IndexType 实例源码

项目:Cassandra-Wasef    文件:ColumnDefinitionTest.java   
@Test
public void testSerializeDeserialize() throws Exception
{
    ColumnDefinition cd0 = new ColumnDefinition(ByteBufferUtil.bytes("TestColumnDefinitionName0"),
                                                BytesType.instance,
                                                IndexType.KEYS,
                                                null,
                                                "random index name 0",
                                                null);

    ColumnDefinition cd1 = new ColumnDefinition(ByteBufferUtil.bytes("TestColumnDefinition1"),
                                                LongType.instance,
                                                null,
                                                null,
                                                null,
                                                null);

    testSerializeDeserialize(cd0);
    testSerializeDeserialize(cd1);
}
项目:Cassandra-Wasef    文件:SchemaLoader.java   
private static CFMetaData perRowIndexedCFMD(String ksName, String cfName, boolean withOldCfIds)
{
    final Map<String, String> indexOptions = Collections.singletonMap(
                                                  SecondaryIndex.CUSTOM_INDEX_OPTION_NAME,
                                                  PerRowSecondaryIndexTest.TestIndex.class.getName());
    return standardCFMD(ksName, cfName, withOldCfIds)
            .keyValidator(AsciiType.instance)
            .columnMetadata(new HashMap<ByteBuffer, ColumnDefinition>()
            {{
                    ByteBuffer cName = ByteBuffer.wrap("indexed".getBytes(Charsets.UTF_8));
                    put(cName, new ColumnDefinition(cName,
                            AsciiType.instance,
                            IndexType.CUSTOM,
                            indexOptions,
                            ByteBufferUtil.bytesToHex(cName),
                            null));
            }});
}
项目:Cassandra-Wasef    文件:SchemaLoader.java   
private static CFMetaData compositeIndexCFMD(String ksName, String cfName, final Boolean withIdxType, boolean withOldCfIds) throws ConfigurationException
{
    final Map<String, String> idxOpts = Collections.singletonMap(CompositesIndex.PREFIX_SIZE_OPTION, "1");
    final CompositeType composite = CompositeType.getInstance(Arrays.asList(new AbstractType<?>[]{UTF8Type.instance, UTF8Type.instance})); 
    return new CFMetaData(ksName,
            cfName,
            ColumnFamilyType.Standard,
            composite,
            null)
           .columnMetadata(new HashMap<ByteBuffer, ColumnDefinition>()
            {{
               ByteBuffer cName = ByteBuffer.wrap("col1".getBytes(Charsets.UTF_8));
               IndexType idxType = withIdxType ? IndexType.COMPOSITES : null;
               put(cName, new ColumnDefinition(cName, UTF8Type.instance, idxType, idxOpts, withIdxType ? "col1_idx" : null, 1));
            }});
}
项目:wso2-cassandra    文件:ColumnDefinitionTest.java   
@Test
public void testSerializeDeserialize() throws Exception
{
    ColumnDefinition cd0 = new ColumnDefinition(ByteBufferUtil.bytes("TestColumnDefinitionName0"),
                                                BytesType.instance,
                                                IndexType.KEYS,
                                                null,
                                                "random index name 0",
                                                null);

    ColumnDefinition cd1 = new ColumnDefinition(ByteBufferUtil.bytes("TestColumnDefinition1"),
                                                LongType.instance,
                                                null,
                                                null,
                                                null,
                                                null);

    testSerializeDeserialize(cd0);
    testSerializeDeserialize(cd1);
}
项目:wso2-cassandra    文件:SchemaLoader.java   
private static CFMetaData perRowIndexedCFMD(String ksName, String cfName, boolean withOldCfIds)
{
    final Map<String, String> indexOptions = Collections.singletonMap(
                                                  SecondaryIndex.CUSTOM_INDEX_OPTION_NAME,
                                                  PerRowSecondaryIndexTest.TestIndex.class.getName());
    return standardCFMD(ksName, cfName, withOldCfIds)
            .keyValidator(AsciiType.instance)
            .columnMetadata(new HashMap<ByteBuffer, ColumnDefinition>()
            {{
                    ByteBuffer cName = ByteBuffer.wrap("indexed".getBytes(Charsets.UTF_8));
                    put(cName, new ColumnDefinition(cName,
                            AsciiType.instance,
                            IndexType.CUSTOM,
                            indexOptions,
                            ByteBufferUtil.bytesToHex(cName),
                            null));
            }});
}
项目:wso2-cassandra    文件:SchemaLoader.java   
private static CFMetaData compositeIndexCFMD(String ksName, String cfName, final Boolean withIdxType, boolean withOldCfIds) throws ConfigurationException
{
    final Map<String, String> idxOpts = Collections.singletonMap(CompositesIndex.PREFIX_SIZE_OPTION, "1");
    final CompositeType composite = CompositeType.getInstance(Arrays.asList(new AbstractType<?>[]{UTF8Type.instance, UTF8Type.instance})); 
    return new CFMetaData(ksName,
            cfName,
            ColumnFamilyType.Standard,
            composite,
            null)
           .columnMetadata(new HashMap<ByteBuffer, ColumnDefinition>()
            {{
               ByteBuffer cName = ByteBuffer.wrap("col1".getBytes(Charsets.UTF_8));
               IndexType idxType = withIdxType ? IndexType.COMPOSITES : null;
               put(cName, new ColumnDefinition(cName, UTF8Type.instance, idxType, idxOpts, withIdxType ? "col1_idx" : null, 1));
            }});
}
项目:cassandra-1.2.16    文件:ColumnDefinitionTest.java   
@Test
public void testSerializeDeserialize() throws Exception
{
    ColumnDefinition cd0 = new ColumnDefinition(ByteBufferUtil.bytes("TestColumnDefinitionName0"),
                                                BytesType.instance,
                                                IndexType.KEYS,
                                                null,
                                                "random index name 0",
                                                null);

    ColumnDefinition cd1 = new ColumnDefinition(ByteBufferUtil.bytes("TestColumnDefinition1"),
                                                LongType.instance,
                                                null,
                                                null,
                                                null,
                                                null);

    testSerializeDeserialize(cd0);
    testSerializeDeserialize(cd1);
}
项目:cassandra-1.2.16    文件:SchemaLoader.java   
private static CFMetaData perRowIndexedCFMD(String ksName, String cfName, boolean withOldCfIds)
{
    final Map<String, String> indexOptions = Collections.singletonMap(
                                                  SecondaryIndex.CUSTOM_INDEX_OPTION_NAME,
                                                  PerRowSecondaryIndexTest.TestIndex.class.getName());
    return standardCFMD(ksName, cfName, withOldCfIds)
            .keyValidator(AsciiType.instance)
            .columnMetadata(new HashMap<ByteBuffer, ColumnDefinition>()
            {{
                    ByteBuffer cName = ByteBuffer.wrap("indexed".getBytes(Charsets.UTF_8));
                    put(cName, new ColumnDefinition(cName,
                            AsciiType.instance,
                            IndexType.CUSTOM,
                            indexOptions,
                            ByteBufferUtil.bytesToHex(cName),
                            null));
            }});
}
项目:cassandra-1.2.16    文件:SchemaLoader.java   
private static CFMetaData compositeIndexCFMD(String ksName, String cfName, final Boolean withIdxType, boolean withOldCfIds) throws ConfigurationException
{
    final Map<String, String> idxOpts = Collections.singletonMap(CompositesIndex.PREFIX_SIZE_OPTION, "1");
    final CompositeType composite = CompositeType.getInstance(Arrays.asList(new AbstractType<?>[]{UTF8Type.instance, UTF8Type.instance})); 
    return new CFMetaData(ksName,
            cfName,
            ColumnFamilyType.Standard,
            composite,
            null)
           .columnMetadata(new HashMap<ByteBuffer, ColumnDefinition>()
            {{
               ByteBuffer cName = ByteBuffer.wrap("col1".getBytes(Charsets.UTF_8));
               IndexType idxType = withIdxType ? IndexType.COMPOSITES : null;
               put(cName, new ColumnDefinition(cName, UTF8Type.instance, idxType, idxOpts, withIdxType ? "col1_idx" : null, 1));
            }});
}
项目:Cassandra-KVPM    文件:ColumnDefinitionTest.java   
@Test
public void testSerializeDeserialize() throws Exception
{
    ColumnDefinition cd0 = new ColumnDefinition(ByteBufferUtil.bytes("TestColumnDefinitionName0"),
                                                BytesType.instance,
                                                IndexType.KEYS,
                                                "random index name 0");

    ColumnDefinition cd1 = new ColumnDefinition(ByteBufferUtil.bytes("TestColumnDefinition1"),
                                                LongType.instance,
                                                null,
                                                null);

    testSerializeDeserialize(cd0);
    testSerializeDeserialize(cd1);
}
项目:usergrid    文件:CassandraPersistenceUtils.java   
public static List<ColumnDefinition> getIndexMetadata( String indexes ) {
    if ( indexes == null ) {
        return null;
    }
    String[] index_entries = split( indexes, ',' );
    List<ColumnDef> columns = new ArrayList<ColumnDef>();
    for ( String index_entry : index_entries ) {
        String column_name = stringOrSubstringBeforeFirst( index_entry, ':' ).trim();
        String comparer = substringAfterLast( index_entry, ":" ).trim();
        if ( StringUtils.isBlank( comparer ) ) {
            comparer = "UUIDType";
        }
        if ( StringUtils.isNotBlank( column_name ) ) {
            ColumnDef cd = new ColumnDef( bytebuffer( column_name ), comparer );
            cd.setIndex_name( column_name );
            cd.setIndex_type( IndexType.KEYS );
            columns.add( cd );
        }
    }
    return ThriftColumnDef.fromThriftList( columns );
}
项目:cassandra-kmean    文件:CFMetaDataTest.java   
@Test
public void testThriftConversion() throws Exception
{
    CfDef cfDef = new CfDef().setDefault_validation_class(AsciiType.class.getCanonicalName())
                             .setComment("Test comment")
                             .setColumn_metadata(columnDefs)
                             .setKeyspace(KEYSPACE)
                             .setName(COLUMN_FAMILY);

    // convert Thrift to CFMetaData
    CFMetaData cfMetaData = CFMetaData.fromThrift(cfDef);

    CfDef thriftCfDef = new CfDef();
    thriftCfDef.keyspace = KEYSPACE;
    thriftCfDef.name = COLUMN_FAMILY;
    thriftCfDef.default_validation_class = cfDef.default_validation_class;
    thriftCfDef.comment = cfDef.comment;
    thriftCfDef.column_metadata = new ArrayList<ColumnDef>();
    for (ColumnDef columnDef : columnDefs)
    {
        ColumnDef c = new ColumnDef();
        c.name = ByteBufferUtil.clone(columnDef.name);
        c.validation_class = columnDef.getValidation_class();
        c.index_name = columnDef.getIndex_name();
        c.index_type = IndexType.KEYS;
        thriftCfDef.column_metadata.add(c);
    }

    CfDef converted = cfMetaData.toThrift();

    assertEquals(thriftCfDef.keyspace, converted.keyspace);
    assertEquals(thriftCfDef.name, converted.name);
    assertEquals(thriftCfDef.default_validation_class, converted.default_validation_class);
    assertEquals(thriftCfDef.comment, converted.comment);
    assertEquals(new HashSet<>(thriftCfDef.column_metadata), new HashSet<>(converted.column_metadata));
}
项目:ACaZoo    文件:CFMetaDataTest.java   
@Test
public void testThriftConversion() throws Exception
{
    CfDef cfDef = new CfDef().setDefault_validation_class(AsciiType.class.getCanonicalName())
                             .setComment("Test comment")
                             .setColumn_metadata(columnDefs)
                             .setKeyspace(KEYSPACE)
                             .setName(COLUMN_FAMILY);

    // convert Thrift to CFMetaData
    CFMetaData cfMetaData = CFMetaData.fromThrift(cfDef);

    CfDef thriftCfDef = new CfDef();
    thriftCfDef.keyspace = KEYSPACE;
    thriftCfDef.name = COLUMN_FAMILY;
    thriftCfDef.default_validation_class = cfDef.default_validation_class;
    thriftCfDef.comment = cfDef.comment;
    thriftCfDef.column_metadata = new ArrayList<ColumnDef>();
    for (ColumnDef columnDef : columnDefs)
    {
        ColumnDef c = new ColumnDef();
        c.name = ByteBufferUtil.clone(columnDef.name);
        c.validation_class = columnDef.getValidation_class();
        c.index_name = columnDef.getIndex_name();
        c.index_type = IndexType.KEYS;
        thriftCfDef.column_metadata.add(c);
    }

    CfDef converted = cfMetaData.toThrift();

    assertEquals(thriftCfDef.keyspace, converted.keyspace);
    assertEquals(thriftCfDef.name, converted.name);
    assertEquals(thriftCfDef.default_validation_class, converted.default_validation_class);
    assertEquals(thriftCfDef.comment, converted.comment);
    assertEquals(thriftCfDef.column_metadata, converted.column_metadata);
}
项目:scylla-tools-java    文件:SchemaKeyspaceTest.java   
@Test
public void testThriftConversion() throws Exception
{
    CfDef cfDef = new CfDef().setDefault_validation_class(AsciiType.class.getCanonicalName())
                             .setComment("Test comment")
                             .setColumn_metadata(columnDefs)
                             .setKeyspace(KEYSPACE1)
                             .setName(CF_STANDARD1);

    // convert Thrift to CFMetaData
    CFMetaData cfMetaData = ThriftConversion.fromThrift(cfDef);

    CfDef thriftCfDef = new CfDef();
    thriftCfDef.keyspace = KEYSPACE1;
    thriftCfDef.name = CF_STANDARD1;
    thriftCfDef.default_validation_class = cfDef.default_validation_class;
    thriftCfDef.comment = cfDef.comment;
    thriftCfDef.column_metadata = new ArrayList<>();
    for (ColumnDef columnDef : columnDefs)
    {
        ColumnDef c = new ColumnDef();
        c.name = ByteBufferUtil.clone(columnDef.name);
        c.validation_class = columnDef.getValidation_class();
        c.index_name = columnDef.getIndex_name();
        c.index_type = IndexType.KEYS;
        thriftCfDef.column_metadata.add(c);
    }

    CfDef converted = ThriftConversion.toThrift(cfMetaData);

    assertEquals(thriftCfDef.keyspace, converted.keyspace);
    assertEquals(thriftCfDef.name, converted.name);
    assertEquals(thriftCfDef.default_validation_class, converted.default_validation_class);
    assertEquals(thriftCfDef.comment, converted.comment);
    assertEquals(new HashSet<>(thriftCfDef.column_metadata), new HashSet<>(converted.column_metadata));
}
项目:GraphTrek    文件:CFMetaDataTest.java   
@Test
public void testThriftConversion() throws Exception
{
    CfDef cfDef = new CfDef().setDefault_validation_class(AsciiType.class.getCanonicalName())
                             .setComment("Test comment")
                             .setColumn_metadata(columnDefs)
                             .setKeyspace(KEYSPACE1)
                             .setName(CF_STANDARD1);

    // convert Thrift to CFMetaData
    CFMetaData cfMetaData = CFMetaData.fromThrift(cfDef);

    CfDef thriftCfDef = new CfDef();
    thriftCfDef.keyspace = KEYSPACE1;
    thriftCfDef.name = CF_STANDARD1;
    thriftCfDef.default_validation_class = cfDef.default_validation_class;
    thriftCfDef.comment = cfDef.comment;
    thriftCfDef.column_metadata = new ArrayList<ColumnDef>();
    for (ColumnDef columnDef : columnDefs)
    {
        ColumnDef c = new ColumnDef();
        c.name = ByteBufferUtil.clone(columnDef.name);
        c.validation_class = columnDef.getValidation_class();
        c.index_name = columnDef.getIndex_name();
        c.index_type = IndexType.KEYS;
        thriftCfDef.column_metadata.add(c);
    }

    CfDef converted = cfMetaData.toThrift();

    assertEquals(thriftCfDef.keyspace, converted.keyspace);
    assertEquals(thriftCfDef.name, converted.name);
    assertEquals(thriftCfDef.default_validation_class, converted.default_validation_class);
    assertEquals(thriftCfDef.comment, converted.comment);
    assertEquals(new HashSet<>(thriftCfDef.column_metadata), new HashSet<>(converted.column_metadata));
}
项目:Cassandra-Wasef    文件:CreateIndexStatement.java   
public void announceMigration() throws InvalidRequestException, ConfigurationException
{
    logger.debug("Updating column {} definition for index {}", columnName, indexName);
    CFMetaData cfm = Schema.instance.getCFMetaData(keyspace(), columnFamily()).clone();
    CFDefinition cfDef = cfm.getCfDef();
    ColumnDefinition cd = cfm.getColumnDefinition(columnName.key);

    if (isCustom)
    {
        cd.setIndexType(IndexType.CUSTOM, Collections.singletonMap(SecondaryIndex.CUSTOM_INDEX_OPTION_NAME, indexClass));
    }
    else if (cfDef.isComposite)
    {
        CompositeType composite = (CompositeType)cfm.comparator;
        Map<String, String> opts = new HashMap<String, String>();
        opts.put(CompositesIndex.PREFIX_SIZE_OPTION, String.valueOf(composite.types.size() - (cfDef.hasCollections ? 2 : 1)));
        cd.setIndexType(IndexType.COMPOSITES, opts);
    }
    else
    {
        cd.setIndexType(IndexType.KEYS, Collections.<String, String>emptyMap());
    }

    cd.setIndexName(indexName);
    cfm.addDefaultIndexNames();
    MigrationManager.announceColumnFamilyUpdate(cfm);
}
项目:Cassandra-Wasef    文件:ColumnDefinition.java   
public ColumnDefinition(ByteBuffer name, AbstractType<?> validator, IndexType index_type, Map<String, String> index_options, String index_name, Integer componentIndex)
{
    assert name != null && validator != null;
    this.name = name;
    this.index_name = index_name;
    this.validator = validator;
    this.componentIndex = componentIndex;
    this.setIndexType(index_type, index_options);
}
项目:Cassandra-Wasef    文件:ColumnDefinition.java   
public ColumnDef toThrift()
{
    ColumnDef cd = new ColumnDef();

    cd.setName(ByteBufferUtil.clone(name));
    cd.setValidation_class(validator.toString());

    cd.setIndex_type(index_type == null
                        ? null
                        : IndexType.valueOf(index_type.name()));
    cd.setIndex_name(index_name == null ? null : index_name);
    cd.setIndex_options(index_options == null ? null : Maps.newHashMap(index_options));

    return cd;
}
项目:Cassandra-Wasef    文件:ColumnDefinition.java   
/**
 * Deserialize columns from low-level representation
 *
 * @return Thrift-based deserialized representation of the column
 * @param row
 */
public static List<ColumnDefinition> fromSchema(Row row, CFMetaData cfm)
{
    if (row.cf == null)
        return Collections.emptyList();

    List<ColumnDefinition> cds = new ArrayList<ColumnDefinition>();
    for (UntypedResultSet.Row result : QueryProcessor.resultify("SELECT * FROM system.schema_columns", row))
    {
        try
        {
            IndexType index_type = null;
            Map<String,String> index_options = null;
            String index_name = null;
            Integer componentIndex = null;

            if (result.has("index_type"))
                index_type = IndexType.valueOf(result.getString("index_type"));
            if (result.has("index_options"))
                index_options = FBUtilities.fromJsonMap(result.getString("index_options"));
            if (result.has("index_name"))
                index_name = result.getString("index_name");
            if (result.has("component_index"))
                componentIndex = result.getInt("component_index");

            cds.add(new ColumnDefinition(cfm.getColumnDefinitionComparator(componentIndex).fromString(result.getString("column_name")),
                                         TypeParser.parse(result.getString("validator")),
                                         index_type,
                                         index_options,
                                         index_name,
                                         componentIndex));
        }
        catch (RequestValidationException e)
        {
            throw new RuntimeException(e);
        }
    }

    return cds;
}
项目:Cassandra-Wasef    文件:Avro.java   
@Deprecated
public static ColumnDefinition columnFromAvro(org.apache.cassandra.db.migration.avro.ColumnDef cd)
{
    IndexType index_type = cd.index_type == null ? null : Enum.valueOf(IndexType.class, cd.index_type.name());
    String index_name = cd.index_name == null ? null : cd.index_name.toString();
    try
    {
        AbstractType<?> validatorType = TypeParser.parse(cd.validation_class);
        return new ColumnDefinition(ByteBufferUtil.clone(cd.name), validatorType, index_type, ColumnDefinition.getStringMap(cd.index_options), index_name, null);
    }
    catch (RequestValidationException e)
    {
        throw new RuntimeException(e);
    }
}
项目:Cassandra-Wasef    文件:CFMetaDataTest.java   
@Test
public void testThriftToAvroConversion() throws Exception
{
    CfDef cfDef = new CfDef().setDefault_validation_class(AsciiType.class.getCanonicalName())
                             .setComment("Test comment")
                             .setColumn_metadata(columnDefs)
                             .setKeyspace(KEYSPACE)
                             .setName(COLUMN_FAMILY);

    // convert Thrift to CFMetaData
    CFMetaData cfMetaData = CFMetaData.fromThrift(cfDef);

    // make a correct Avro object
    CfDef thriftCfDef = new CfDef();
    thriftCfDef.keyspace = KEYSPACE;
    thriftCfDef.name = COLUMN_FAMILY;
    thriftCfDef.default_validation_class = cfDef.default_validation_class;
    thriftCfDef.comment = cfDef.comment;
    thriftCfDef.column_metadata = new ArrayList<ColumnDef>();
    for (ColumnDef columnDef : columnDefs)
    {
        ColumnDef c = new ColumnDef();
        c.name = ByteBufferUtil.clone(columnDef.name);
        c.validation_class = columnDef.getValidation_class();
        c.index_name = columnDef.getIndex_name();
        c.index_type = IndexType.KEYS;
        thriftCfDef.column_metadata.add(c);
    }

    CfDef converted = cfMetaData.toThrift();

    assertEquals(thriftCfDef.keyspace, converted.keyspace);
    assertEquals(thriftCfDef.name, converted.name);
    assertEquals(thriftCfDef.default_validation_class, converted.default_validation_class);
    assertEquals(thriftCfDef.comment, converted.comment);
    assertEquals(thriftCfDef.column_metadata, converted.column_metadata);
}
项目:Cassandra-Wasef    文件:SchemaLoader.java   
private static CFMetaData indexCFMD(String ksName, String cfName, final Boolean withIdxType, boolean withOldCfIds) throws ConfigurationException
{
    return standardCFMD(ksName, cfName, withOldCfIds)
           .keyValidator(AsciiType.instance)
           .columnMetadata(new HashMap<ByteBuffer, ColumnDefinition>()
               {{
                    ByteBuffer cName = ByteBuffer.wrap("birthdate".getBytes(Charsets.UTF_8));
                    IndexType keys = withIdxType ? IndexType.KEYS : null;
                    put(cName, new ColumnDefinition(cName, LongType.instance, keys, null, withIdxType ? ByteBufferUtil.bytesToHex(cName) : null, null));
                }});
}
项目:stratio-cassandra    文件:CFMetaDataTest.java   
@Test
public void testThriftConversion() throws Exception
{
    CfDef cfDef = new CfDef().setDefault_validation_class(AsciiType.class.getCanonicalName())
                             .setComment("Test comment")
                             .setColumn_metadata(columnDefs)
                             .setKeyspace(KEYSPACE)
                             .setName(COLUMN_FAMILY);

    // convert Thrift to CFMetaData
    CFMetaData cfMetaData = CFMetaData.fromThrift(cfDef);

    CfDef thriftCfDef = new CfDef();
    thriftCfDef.keyspace = KEYSPACE;
    thriftCfDef.name = COLUMN_FAMILY;
    thriftCfDef.default_validation_class = cfDef.default_validation_class;
    thriftCfDef.comment = cfDef.comment;
    thriftCfDef.column_metadata = new ArrayList<ColumnDef>();
    for (ColumnDef columnDef : columnDefs)
    {
        ColumnDef c = new ColumnDef();
        c.name = ByteBufferUtil.clone(columnDef.name);
        c.validation_class = columnDef.getValidation_class();
        c.index_name = columnDef.getIndex_name();
        c.index_type = IndexType.KEYS;
        thriftCfDef.column_metadata.add(c);
    }

    CfDef converted = cfMetaData.toThrift();

    assertEquals(thriftCfDef.keyspace, converted.keyspace);
    assertEquals(thriftCfDef.name, converted.name);
    assertEquals(thriftCfDef.default_validation_class, converted.default_validation_class);
    assertEquals(thriftCfDef.comment, converted.comment);
    assertEquals(new HashSet<>(thriftCfDef.column_metadata), new HashSet<>(converted.column_metadata));
}
项目:cassandra-cqlMod    文件:CFMetaDataTest.java   
@Test
public void testThriftConversion() throws Exception
{
    CfDef cfDef = new CfDef().setDefault_validation_class(AsciiType.class.getCanonicalName())
                             .setComment("Test comment")
                             .setColumn_metadata(columnDefs)
                             .setKeyspace(KEYSPACE)
                             .setName(COLUMN_FAMILY);

    // convert Thrift to CFMetaData
    CFMetaData cfMetaData = CFMetaData.fromThrift(cfDef);

    CfDef thriftCfDef = new CfDef();
    thriftCfDef.keyspace = KEYSPACE;
    thriftCfDef.name = COLUMN_FAMILY;
    thriftCfDef.default_validation_class = cfDef.default_validation_class;
    thriftCfDef.comment = cfDef.comment;
    thriftCfDef.column_metadata = new ArrayList<ColumnDef>();
    for (ColumnDef columnDef : columnDefs)
    {
        ColumnDef c = new ColumnDef();
        c.name = ByteBufferUtil.clone(columnDef.name);
        c.validation_class = columnDef.getValidation_class();
        c.index_name = columnDef.getIndex_name();
        c.index_type = IndexType.KEYS;
        thriftCfDef.column_metadata.add(c);
    }

    CfDef converted = cfMetaData.toThrift();

    assertEquals(thriftCfDef.keyspace, converted.keyspace);
    assertEquals(thriftCfDef.name, converted.name);
    assertEquals(thriftCfDef.default_validation_class, converted.default_validation_class);
    assertEquals(thriftCfDef.comment, converted.comment);
    assertEquals(new HashSet<>(thriftCfDef.column_metadata), new HashSet<>(converted.column_metadata));
}
项目:wso2-cassandra    文件:CreateIndexStatement.java   
public void announceMigration() throws InvalidRequestException, ConfigurationException
{
    logger.debug("Updating column {} definition for index {}", columnName, indexName);
    CFMetaData cfm = Schema.instance.getCFMetaData(keyspace(), columnFamily()).clone();
    CFDefinition cfDef = cfm.getCfDef();
    ColumnDefinition cd = cfm.getColumnDefinition(columnName.key);

    if (isCustom)
    {
        cd.setIndexType(IndexType.CUSTOM, Collections.singletonMap(SecondaryIndex.CUSTOM_INDEX_OPTION_NAME, indexClass));
    }
    else if (cfDef.isComposite)
    {
        CompositeType composite = (CompositeType)cfm.comparator;
        Map<String, String> opts = new HashMap<String, String>();
        opts.put(CompositesIndex.PREFIX_SIZE_OPTION, String.valueOf(composite.types.size() - (cfDef.hasCollections ? 2 : 1)));
        cd.setIndexType(IndexType.COMPOSITES, opts);
    }
    else
    {
        cd.setIndexType(IndexType.KEYS, Collections.<String, String>emptyMap());
    }

    cd.setIndexName(indexName);
    cfm.addDefaultIndexNames();
    MigrationManager.announceColumnFamilyUpdate(cfm);
}
项目:wso2-cassandra    文件:ColumnDefinition.java   
public ColumnDefinition(ByteBuffer name, AbstractType<?> validator, IndexType index_type, Map<String, String> index_options, String index_name, Integer componentIndex)
{
    assert name != null && validator != null;
    this.name = name;
    this.index_name = index_name;
    this.validator = validator;
    this.componentIndex = componentIndex;
    this.setIndexType(index_type, index_options);
}
项目:wso2-cassandra    文件:ColumnDefinition.java   
public ColumnDef toThrift()
{
    ColumnDef cd = new ColumnDef();

    cd.setName(ByteBufferUtil.clone(name));
    cd.setValidation_class(validator.toString());

    cd.setIndex_type(index_type == null
                        ? null
                        : IndexType.valueOf(index_type.name()));
    cd.setIndex_name(index_name == null ? null : index_name);
    cd.setIndex_options(index_options == null ? null : Maps.newHashMap(index_options));

    return cd;
}
项目:wso2-cassandra    文件:ColumnDefinition.java   
/**
 * Deserialize columns from low-level representation
 *
 * @return Thrift-based deserialized representation of the column
 * @param row
 */
public static List<ColumnDefinition> fromSchema(Row row, CFMetaData cfm)
{
    if (row.cf == null)
        return Collections.emptyList();

    List<ColumnDefinition> cds = new ArrayList<ColumnDefinition>();
    for (UntypedResultSet.Row result : QueryProcessor.resultify("SELECT * FROM system.schema_columns", row))
    {
        try
        {
            IndexType index_type = null;
            Map<String,String> index_options = null;
            String index_name = null;
            Integer componentIndex = null;

            if (result.has("index_type"))
                index_type = IndexType.valueOf(result.getString("index_type"));
            if (result.has("index_options"))
                index_options = FBUtilities.fromJsonMap(result.getString("index_options"));
            if (result.has("index_name"))
                index_name = result.getString("index_name");
            if (result.has("component_index"))
                componentIndex = result.getInt("component_index");

            cds.add(new ColumnDefinition(cfm.getColumnDefinitionComparator(componentIndex).fromString(result.getString("column_name")),
                                         TypeParser.parse(result.getString("validator")),
                                         index_type,
                                         index_options,
                                         index_name,
                                         componentIndex));
        }
        catch (RequestValidationException e)
        {
            throw new RuntimeException(e);
        }
    }

    return cds;
}
项目:wso2-cassandra    文件:Avro.java   
@Deprecated
public static ColumnDefinition columnFromAvro(org.apache.cassandra.db.migration.avro.ColumnDef cd)
{
    IndexType index_type = cd.index_type == null ? null : Enum.valueOf(IndexType.class, cd.index_type.name());
    String index_name = cd.index_name == null ? null : cd.index_name.toString();
    try
    {
        AbstractType<?> validatorType = TypeParser.parse(cd.validation_class);
        return new ColumnDefinition(ByteBufferUtil.clone(cd.name), validatorType, index_type, ColumnDefinition.getStringMap(cd.index_options), index_name, null);
    }
    catch (RequestValidationException e)
    {
        throw new RuntimeException(e);
    }
}
项目:wso2-cassandra    文件:CFMetaDataTest.java   
@Test
public void testThriftToAvroConversion() throws Exception
{
    CfDef cfDef = new CfDef().setDefault_validation_class(AsciiType.class.getCanonicalName())
                             .setComment("Test comment")
                             .setColumn_metadata(columnDefs)
                             .setKeyspace(KEYSPACE)
                             .setName(COLUMN_FAMILY);

    // convert Thrift to CFMetaData
    CFMetaData cfMetaData = CFMetaData.fromThrift(cfDef);

    // make a correct Avro object
    CfDef thriftCfDef = new CfDef();
    thriftCfDef.keyspace = KEYSPACE;
    thriftCfDef.name = COLUMN_FAMILY;
    thriftCfDef.default_validation_class = cfDef.default_validation_class;
    thriftCfDef.comment = cfDef.comment;
    thriftCfDef.column_metadata = new ArrayList<ColumnDef>();
    for (ColumnDef columnDef : columnDefs)
    {
        ColumnDef c = new ColumnDef();
        c.name = ByteBufferUtil.clone(columnDef.name);
        c.validation_class = columnDef.getValidation_class();
        c.index_name = columnDef.getIndex_name();
        c.index_type = IndexType.KEYS;
        thriftCfDef.column_metadata.add(c);
    }

    CfDef converted = cfMetaData.toThrift();

    assertEquals(thriftCfDef.keyspace, converted.keyspace);
    assertEquals(thriftCfDef.name, converted.name);
    assertEquals(thriftCfDef.default_validation_class, converted.default_validation_class);
    assertEquals(thriftCfDef.comment, converted.comment);
    assertEquals(thriftCfDef.column_metadata, converted.column_metadata);
}
项目:wso2-cassandra    文件:SchemaLoader.java   
private static CFMetaData indexCFMD(String ksName, String cfName, final Boolean withIdxType, boolean withOldCfIds) throws ConfigurationException
{
    return standardCFMD(ksName, cfName, withOldCfIds)
           .keyValidator(AsciiType.instance)
           .columnMetadata(new HashMap<ByteBuffer, ColumnDefinition>()
               {{
                    ByteBuffer cName = ByteBuffer.wrap("birthdate".getBytes(Charsets.UTF_8));
                    IndexType keys = withIdxType ? IndexType.KEYS : null;
                    put(cName, new ColumnDefinition(cName, LongType.instance, keys, null, withIdxType ? ByteBufferUtil.bytesToHex(cName) : null, null));
                }});
}
项目:cassandra-trunk    文件:CFMetaDataTest.java   
@Test
public void testThriftConversion() throws Exception
{
    CfDef cfDef = new CfDef().setDefault_validation_class(AsciiType.class.getCanonicalName())
                             .setComment("Test comment")
                             .setColumn_metadata(columnDefs)
                             .setKeyspace(KEYSPACE)
                             .setName(COLUMN_FAMILY);

    // convert Thrift to CFMetaData
    CFMetaData cfMetaData = CFMetaData.fromThrift(cfDef);

    CfDef thriftCfDef = new CfDef();
    thriftCfDef.keyspace = KEYSPACE;
    thriftCfDef.name = COLUMN_FAMILY;
    thriftCfDef.default_validation_class = cfDef.default_validation_class;
    thriftCfDef.comment = cfDef.comment;
    thriftCfDef.column_metadata = new ArrayList<ColumnDef>();
    for (ColumnDef columnDef : columnDefs)
    {
        ColumnDef c = new ColumnDef();
        c.name = ByteBufferUtil.clone(columnDef.name);
        c.validation_class = columnDef.getValidation_class();
        c.index_name = columnDef.getIndex_name();
        c.index_type = IndexType.KEYS;
        thriftCfDef.column_metadata.add(c);
    }

    CfDef converted = cfMetaData.toThrift();

    assertEquals(thriftCfDef.keyspace, converted.keyspace);
    assertEquals(thriftCfDef.name, converted.name);
    assertEquals(thriftCfDef.default_validation_class, converted.default_validation_class);
    assertEquals(thriftCfDef.comment, converted.comment);
    assertEquals(new HashSet<>(thriftCfDef.column_metadata), new HashSet<>(converted.column_metadata));
}
项目:cassandra-1.2.16    文件:CreateIndexStatement.java   
public void announceMigration() throws InvalidRequestException, ConfigurationException
{
    logger.debug("Updating column {} definition for index {}", columnName, indexName);
    CFMetaData cfm = Schema.instance.getCFMetaData(keyspace(), columnFamily()).clone();
    CFDefinition cfDef = cfm.getCfDef();
    ColumnDefinition cd = cfm.getColumnDefinition(columnName.key);

    if (isCustom)
    {
        cd.setIndexType(IndexType.CUSTOM, Collections.singletonMap(SecondaryIndex.CUSTOM_INDEX_OPTION_NAME, indexClass));
    }
    else if (cfDef.isComposite)
    {
        CompositeType composite = (CompositeType)cfm.comparator;
        Map<String, String> opts = new HashMap<String, String>();
        opts.put(CompositesIndex.PREFIX_SIZE_OPTION, String.valueOf(composite.types.size() - (cfDef.hasCollections ? 2 : 1)));
        cd.setIndexType(IndexType.COMPOSITES, opts);
    }
    else
    {
        cd.setIndexType(IndexType.KEYS, Collections.<String, String>emptyMap());
    }

    cd.setIndexName(indexName);
    cfm.addDefaultIndexNames();
    MigrationManager.announceColumnFamilyUpdate(cfm);
}
项目:cassandra-1.2.16    文件:ColumnDefinition.java   
public ColumnDefinition(ByteBuffer name, AbstractType<?> validator, IndexType index_type, Map<String, String> index_options, String index_name, Integer componentIndex)
{
    assert name != null && validator != null;
    this.name = name;
    this.index_name = index_name;
    this.validator = validator;
    this.componentIndex = componentIndex;
    this.setIndexType(index_type, index_options);
}
项目:cassandra-1.2.16    文件:ColumnDefinition.java   
public ColumnDef toThrift()
{
    ColumnDef cd = new ColumnDef();

    cd.setName(ByteBufferUtil.clone(name));
    cd.setValidation_class(validator.toString());

    cd.setIndex_type(index_type == null
                        ? null
                        : IndexType.valueOf(index_type.name()));
    cd.setIndex_name(index_name == null ? null : index_name);
    cd.setIndex_options(index_options == null ? null : Maps.newHashMap(index_options));

    return cd;
}
项目:cassandra-1.2.16    文件:ColumnDefinition.java   
/**
 * Deserialize columns from low-level representation
 *
 * @return Thrift-based deserialized representation of the column
 * @param row
 */
public static List<ColumnDefinition> fromSchema(Row row, CFMetaData cfm)
{
    if (row.cf == null)
        return Collections.emptyList();

    List<ColumnDefinition> cds = new ArrayList<ColumnDefinition>();
    for (UntypedResultSet.Row result : QueryProcessor.resultify("SELECT * FROM system.schema_columns", row))
    {
        try
        {
            IndexType index_type = null;
            Map<String,String> index_options = null;
            String index_name = null;
            Integer componentIndex = null;

            if (result.has("index_type"))
                index_type = IndexType.valueOf(result.getString("index_type"));
            if (result.has("index_options"))
                index_options = FBUtilities.fromJsonMap(result.getString("index_options"));
            if (result.has("index_name"))
                index_name = result.getString("index_name");
            if (result.has("component_index"))
                componentIndex = result.getInt("component_index");

            cds.add(new ColumnDefinition(cfm.getColumnDefinitionComparator(componentIndex).fromString(result.getString("column_name")),
                                         TypeParser.parse(result.getString("validator")),
                                         index_type,
                                         index_options,
                                         index_name,
                                         componentIndex));
        }
        catch (RequestValidationException e)
        {
            throw new RuntimeException(e);
        }
    }

    return cds;
}
项目:cassandra-1.2.16    文件:Avro.java   
@Deprecated
public static ColumnDefinition columnFromAvro(org.apache.cassandra.db.migration.avro.ColumnDef cd)
{
    IndexType index_type = cd.index_type == null ? null : Enum.valueOf(IndexType.class, cd.index_type.name());
    String index_name = cd.index_name == null ? null : cd.index_name.toString();
    try
    {
        AbstractType<?> validatorType = TypeParser.parse(cd.validation_class);
        return new ColumnDefinition(ByteBufferUtil.clone(cd.name), validatorType, index_type, ColumnDefinition.getStringMap(cd.index_options), index_name, null);
    }
    catch (RequestValidationException e)
    {
        throw new RuntimeException(e);
    }
}
项目:cassandra-1.2.16    文件:CFMetaDataTest.java   
@Test
public void testThriftToAvroConversion() throws Exception
{
    CfDef cfDef = new CfDef().setDefault_validation_class(AsciiType.class.getCanonicalName())
                             .setComment("Test comment")
                             .setColumn_metadata(columnDefs)
                             .setKeyspace(KEYSPACE)
                             .setName(COLUMN_FAMILY);

    // convert Thrift to CFMetaData
    CFMetaData cfMetaData = CFMetaData.fromThrift(cfDef);

    // make a correct Avro object
    CfDef thriftCfDef = new CfDef();
    thriftCfDef.keyspace = KEYSPACE;
    thriftCfDef.name = COLUMN_FAMILY;
    thriftCfDef.default_validation_class = cfDef.default_validation_class;
    thriftCfDef.comment = cfDef.comment;
    thriftCfDef.column_metadata = new ArrayList<ColumnDef>();
    for (ColumnDef columnDef : columnDefs)
    {
        ColumnDef c = new ColumnDef();
        c.name = ByteBufferUtil.clone(columnDef.name);
        c.validation_class = columnDef.getValidation_class();
        c.index_name = columnDef.getIndex_name();
        c.index_type = IndexType.KEYS;
        thriftCfDef.column_metadata.add(c);
    }

    CfDef converted = cfMetaData.toThrift();

    assertEquals(thriftCfDef.keyspace, converted.keyspace);
    assertEquals(thriftCfDef.name, converted.name);
    assertEquals(thriftCfDef.default_validation_class, converted.default_validation_class);
    assertEquals(thriftCfDef.comment, converted.comment);
    assertEquals(thriftCfDef.column_metadata, converted.column_metadata);
}
项目:cassandra-1.2.16    文件:SchemaLoader.java   
private static CFMetaData indexCFMD(String ksName, String cfName, final Boolean withIdxType, boolean withOldCfIds) throws ConfigurationException
{
    return standardCFMD(ksName, cfName, withOldCfIds)
           .keyValidator(AsciiType.instance)
           .columnMetadata(new HashMap<ByteBuffer, ColumnDefinition>()
               {{
                    ByteBuffer cName = ByteBuffer.wrap("birthdate".getBytes(Charsets.UTF_8));
                    IndexType keys = withIdxType ? IndexType.KEYS : null;
                    put(cName, new ColumnDefinition(cName, LongType.instance, keys, null, withIdxType ? ByteBufferUtil.bytesToHex(cName) : null, null));
                }});
}
项目:Cassandra-KVPM    文件:ColumnDefinition.java   
public ColumnDefinition(ByteBuffer name, AbstractType validator, IndexType index_type, String index_name)
{
    this.name = name;
    this.index_type = index_type;
    this.index_name = index_name;
    this.validator = validator;
}