/** * isInedexesPresent method return whether indexes present or not on * particular column. * * @param columnInfo * the column info * @param columnDef * the column def * @param isCql3Enabled * the is cql3 enabled * @param isCounterColumnType * the is counter column type * @return true, if is indexes present * @throws Exception * the exception */ private boolean isValidationClassSame(ColumnInfo columnInfo, ColumnDef columnDef, boolean isCql3Enabled, boolean isCounterColumnType) throws Exception { return (isColumnPresent(columnInfo, columnDef, isCql3Enabled) && columnDef.getValidation_class().endsWith( isCounterColumnType ? CounterColumnType.class.getSimpleName() : CassandraValidationClassMapper .getValidationClass(columnInfo.getType(), isCql3Enabled))); }
@Override public String getValidationClass() { return columnDef.getValidation_class(); }
@Override public String getValidationClass() { return columnDef.getValidation_class(); }
Assert.assertEquals(IntegerType.class.getName(), columnDef.getValidation_class()); Assert.assertEquals("PERSON_NAME", new String(columnDef.getName(), Constants.ENCODING)); Assert.assertNotNull(columnDef.index_name); Assert.assertEquals(UTF8Type.class.getName(), columnDef.getValidation_class());
Assert.assertEquals(IntegerType.class.getName(), columnDef.getValidation_class()); Assert.assertEquals("PERSON_NAME", new String(columnDef.getName(), Constants.ENCODING)); Assert.assertNotNull(columnDef.index_name); Assert.assertEquals(UTF8Type.class.getName(), columnDef.getValidation_class());
/** get the validators */ protected Map<ByteBuffer, AbstractType> getValidatorMap(CfDef cfDef) throws IOException { Map<ByteBuffer, AbstractType> validators = new HashMap<ByteBuffer, AbstractType>(); for (ColumnDef cd : cfDef.getColumn_metadata()) { if (cd.getValidation_class() != null && !cd.getValidation_class().isEmpty()) { AbstractType validator = null; try { validator = TypeParser.parse(cd.getValidation_class()); if (validator instanceof CounterColumnType) validator = LongType.instance; validators.put(cd.name, validator); } catch (ConfigurationException e) { throw new IOException(e); } catch (SyntaxException e) { throw new IOException(e); } } } return validators; }
private CFamMeta(CfDef cf) { comparator = cf.getComparator_type(); defaultValidator = cf.getDefault_validation_class(); keyAlias = cf.key_alias; keyValidator = cf.getKey_validation_class(); for (ColumnDef colDef : cf.getColumn_metadata()) columnMeta.put(colDef.name, colDef.getValidation_class()); }
/** * isInedexesPresent method return whether indexes present or not on * particular column. * * @param columnInfo * the column info * @param cfDef * the cf def * @return true, if is indexes present * @throws UnsupportedEncodingException */ private boolean isValidationClassSame(ColumnInfo columnInfo, ColumnDef columnDef, boolean isCql3Enabled) throws Exception { return (isColumnPresent(columnInfo, columnDef, isCql3Enabled) && columnDef.getValidation_class().endsWith( CassandraValidationClassMapper.getValidationClass(columnInfo.getType(), isCql3Enabled))); }
public Object getFieldValue(_Fields field) { switch (field) { case NAME: return getName(); case VALIDATION_CLASS: return getValidation_class(); case INDEX_TYPE: return getIndex_type(); case INDEX_NAME: return getIndex_name(); case INDEX_OPTIONS: return getIndex_options(); } throw new IllegalStateException(); }
public Object getFieldValue(_Fields field) { switch (field) { case NAME: return getName(); case VALIDATION_CLASS: return getValidation_class(); case INDEX_TYPE: return getIndex_type(); case INDEX_NAME: return getIndex_name(); case INDEX_OPTIONS: return getIndex_options(); } throw new IllegalStateException(); }
public Object getFieldValue(_Fields field) { switch (field) { case NAME: return getName(); case VALIDATION_CLASS: return getValidation_class(); case INDEX_TYPE: return getIndex_type(); case INDEX_NAME: return getIndex_name(); case INDEX_OPTIONS: return getIndex_options(); } throw new IllegalStateException(); }
/** * Get validator for specific column value * @param cfDef - CfDef object representing column family with metadata * @param columnNameInBytes - column name as byte array * @return AbstractType - validator for column value */ private AbstractType<?> getValidatorForValue(CfDef cfDef, byte[] columnNameInBytes) { String defaultValidator = cfDef.default_validation_class; for (ColumnDef columnDefinition : cfDef.getColumn_metadata()) { byte[] nameInBytes = columnDefinition.getName(); if (Arrays.equals(nameInBytes, columnNameInBytes)) { return getFormatType(columnDefinition.getValidation_class()); } } if (defaultValidator != null && !defaultValidator.isEmpty()) { return getFormatType(defaultValidator); } return null; }
/** * Used to locally update column family definition with new column metadata * @param columnFamily - CfDef record * @param columnName - column name represented as byte[] * @param validationClass - value validation class */ private void updateColumnMetaData(CfDef columnFamily, ByteBuffer columnName, String validationClass) { ColumnDef column = getColumnDefByName(columnFamily, columnName); if (column != null) { // if validation class is the same - no need to modify it if (column.getValidation_class().equals(validationClass)) return; // updating column definition with new validation_class column.setValidation_class(validationClass); } else { List<ColumnDef> columnMetaData = new ArrayList<ColumnDef>(columnFamily.getColumn_metadata()); columnMetaData.add(new ColumnDef(columnName, validationClass)); columnFamily.setColumn_metadata(columnMetaData); } }
sessionState.out.println(columnLeftSpace + "Validation Class: " + columnDef.getValidation_class());
/** * Converts column value into byte[] according to validation class * @param columnName - column name to which value belongs * @param columnFamilyName - column family name * @param columnValue - actual column value * @return value in byte array representation */ private ByteBuffer columnValueAsBytes(ByteBuffer columnName, String columnFamilyName, String columnValue) { CfDef columnFamilyDef = getCfDef(columnFamilyName); AbstractType<?> defaultValidator = getFormatType(columnFamilyDef.default_validation_class); for (ColumnDef columnDefinition : columnFamilyDef.getColumn_metadata()) { byte[] currentColumnName = columnDefinition.getName(); if (ByteBufferUtil.compare(currentColumnName, columnName) == 0) { try { String validationClass = columnDefinition.getValidation_class(); return getBytesAccordingToType(columnValue, getFormatType(validationClass)); } catch (Exception e) { throw new RuntimeException(e); } } } return defaultValidator.fromString(columnValue); }