org.apache.cassandra.thrift
Class ThriftValidation

java.lang.Object
  extended by org.apache.cassandra.thrift.ThriftValidation

public class ThriftValidation
extends java.lang.Object

This has a lot of building blocks for CassandraServer to call to make sure it has valid input -- ensuring column names conform to the declared comparator, for instance. The methods here mostly try to do just one part of the validation so they can be combined for different needs -- supercolumns vs regular, range slices vs named, batch vs single-column. (ValidateColumnPath is the main exception in that it includes table and CF validation.)


Constructor Summary
ThriftValidation()
           
 
Method Summary
static void validateCfDef(org.apache.cassandra.thrift.CfDef cf_def, CFMetaData old)
           
static void validateColumnData(CFMetaData metadata, org.apache.cassandra.thrift.Column column, boolean isSubColumn)
          Validates the data part of the column (everything in the Column object but the name, which is assumed to be valid)
static CFMetaData validateColumnFamily(java.lang.String tablename, java.lang.String cfName)
           
static CFMetaData validateColumnFamily(java.lang.String tablename, java.lang.String cfName, boolean isCommutativeOp)
           
static void validateColumnNames(CFMetaData metadata, org.apache.cassandra.thrift.ColumnParent column_parent, java.lang.Iterable<java.nio.ByteBuffer> column_names)
           
static void validateColumnOrSuperColumn(CFMetaData metadata, org.apache.cassandra.thrift.ColumnOrSuperColumn cosc)
           
static void validateColumnParent(CFMetaData metadata, org.apache.cassandra.thrift.ColumnParent column_parent)
           
static void validateColumnPath(CFMetaData metadata, org.apache.cassandra.thrift.ColumnPath column_path)
          validates all parts of the path to the column, including the column name
static void validateCommutativeForWrite(CFMetaData metadata, org.apache.cassandra.thrift.ConsistencyLevel consistency)
           
static void validateConsistencyLevel(java.lang.String table, org.apache.cassandra.thrift.ConsistencyLevel cl)
           
static void validateDeletion(CFMetaData metadata, org.apache.cassandra.thrift.Deletion del)
           
static void validateIndexClauses(CFMetaData metadata, org.apache.cassandra.thrift.IndexClause index_clause)
           
static void validateKey(CFMetaData metadata, java.nio.ByteBuffer key)
           
static void validateKeyRange(org.apache.cassandra.thrift.KeyRange range)
           
static void validateKeyspaceNotYetExisting(java.lang.String newKsName)
           
static void validateKsDef(org.apache.cassandra.thrift.KsDef ks_def)
           
static void validateMinMaxCompactionThresholds(org.apache.cassandra.thrift.CfDef cf_def)
           
static void validateMutation(CFMetaData metadata, org.apache.cassandra.thrift.Mutation mut)
           
static void validatePredicate(CFMetaData metadata, org.apache.cassandra.thrift.ColumnParent column_parent, org.apache.cassandra.thrift.SlicePredicate predicate)
           
static void validateRange(CFMetaData metadata, org.apache.cassandra.thrift.ColumnParent column_parent, org.apache.cassandra.thrift.SliceRange range)
           
static void validateSlicePredicate(CFMetaData metadata, java.nio.ByteBuffer scName, org.apache.cassandra.thrift.SlicePredicate predicate)
           
static void validateTable(java.lang.String tablename)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ThriftValidation

public ThriftValidation()
Method Detail

validateKey

public static void validateKey(CFMetaData metadata,
                               java.nio.ByteBuffer key)
                        throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateTable

public static void validateTable(java.lang.String tablename)
                          throws KeyspaceNotDefinedException
Throws:
KeyspaceNotDefinedException

validateConsistencyLevel

public static void validateConsistencyLevel(java.lang.String table,
                                            org.apache.cassandra.thrift.ConsistencyLevel cl)
                                     throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateColumnFamily

public static CFMetaData validateColumnFamily(java.lang.String tablename,
                                              java.lang.String cfName,
                                              boolean isCommutativeOp)
                                       throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateColumnFamily

public static CFMetaData validateColumnFamily(java.lang.String tablename,
                                              java.lang.String cfName)
                                       throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateColumnPath

public static void validateColumnPath(CFMetaData metadata,
                                      org.apache.cassandra.thrift.ColumnPath column_path)
                               throws org.apache.cassandra.thrift.InvalidRequestException
validates all parts of the path to the column, including the column name

Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateColumnParent

public static void validateColumnParent(CFMetaData metadata,
                                        org.apache.cassandra.thrift.ColumnParent column_parent)
                                 throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateColumnNames

public static void validateColumnNames(CFMetaData metadata,
                                       org.apache.cassandra.thrift.ColumnParent column_parent,
                                       java.lang.Iterable<java.nio.ByteBuffer> column_names)
                                throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateRange

public static void validateRange(CFMetaData metadata,
                                 org.apache.cassandra.thrift.ColumnParent column_parent,
                                 org.apache.cassandra.thrift.SliceRange range)
                          throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateColumnOrSuperColumn

public static void validateColumnOrSuperColumn(CFMetaData metadata,
                                               org.apache.cassandra.thrift.ColumnOrSuperColumn cosc)
                                        throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateMutation

public static void validateMutation(CFMetaData metadata,
                                    org.apache.cassandra.thrift.Mutation mut)
                             throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateDeletion

public static void validateDeletion(CFMetaData metadata,
                                    org.apache.cassandra.thrift.Deletion del)
                             throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateSlicePredicate

public static void validateSlicePredicate(CFMetaData metadata,
                                          java.nio.ByteBuffer scName,
                                          org.apache.cassandra.thrift.SlicePredicate predicate)
                                   throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateColumnData

public static void validateColumnData(CFMetaData metadata,
                                      org.apache.cassandra.thrift.Column column,
                                      boolean isSubColumn)
                               throws org.apache.cassandra.thrift.InvalidRequestException
Validates the data part of the column (everything in the Column object but the name, which is assumed to be valid)

Throws:
org.apache.cassandra.thrift.InvalidRequestException

validatePredicate

public static void validatePredicate(CFMetaData metadata,
                                     org.apache.cassandra.thrift.ColumnParent column_parent,
                                     org.apache.cassandra.thrift.SlicePredicate predicate)
                              throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateKeyRange

public static void validateKeyRange(org.apache.cassandra.thrift.KeyRange range)
                             throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateIndexClauses

public static void validateIndexClauses(CFMetaData metadata,
                                        org.apache.cassandra.thrift.IndexClause index_clause)
                                 throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateCfDef

public static void validateCfDef(org.apache.cassandra.thrift.CfDef cf_def,
                                 CFMetaData old)
                          throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateCommutativeForWrite

public static void validateCommutativeForWrite(CFMetaData metadata,
                                               org.apache.cassandra.thrift.ConsistencyLevel consistency)
                                        throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException

validateKsDef

public static void validateKsDef(org.apache.cassandra.thrift.KsDef ks_def)
                          throws ConfigurationException
Throws:
ConfigurationException

validateMinMaxCompactionThresholds

public static void validateMinMaxCompactionThresholds(org.apache.cassandra.thrift.CfDef cf_def)
                                               throws ConfigurationException
Throws:
ConfigurationException

validateKeyspaceNotYetExisting

public static void validateKeyspaceNotYetExisting(java.lang.String newKsName)
                                           throws org.apache.cassandra.thrift.InvalidRequestException
Throws:
org.apache.cassandra.thrift.InvalidRequestException


Copyright © 2011 The Apache Software Foundation