ColumnUtil { public static Column getDataColumn(Column lockOrWriteColumn) { if (isCommitToSameFamily()) { if (isLockColumn(lockOrWriteColumn)) { return getDataColumnFromConstructedQualifier(lockOrWriteColumn); } else { byte[] qualifier = lockOrWriteColumn.getQualifier(); if (isPutColumn(lockOrWriteColumn)) { return new Column(lockOrWriteColumn.getFamily(), Bytes.head(qualifier, qualifier.length - PUT_QUALIFIER_SUFFIX_BYTES.length)); } else if (isDeleteColumn(lockOrWriteColumn)) { return new Column(lockOrWriteColumn.getFamily(), Bytes.head(qualifier, qualifier.length - DELETE_QUALIFIER_SUFFIX_BYTES.length)); } else { return lockOrWriteColumn; } } } else { return getDataColumnFromConstructedQualifier(lockOrWriteColumn); } }  static void init(Configuration conf); static boolean isCommitToSameFamily(); static boolean isCommitToDifferentFamily(); static boolean isPreservedColumn(Column column); static boolean containPreservedCharacter(Column column); static boolean isLockColumn(Column column); static boolean isCommitFamily(byte[] family); static boolean isLockColumn(byte[] family, byte[] qualifier); static boolean isPutColumn(byte[] family, byte[] qualifier); static boolean isPutColumn(Column column); static boolean isDeleteColumn(Column column); static boolean isDeleteColumn(byte[] family, byte[] qualifier); static boolean isWriteColumn(byte[] family, byte[] qualifier); static boolean isWriteColumn(Column column); static boolean isDataColumn(Column column); static Column getLockColumn(byte[] family, byte[] qualifier); static Column getLockColumn(Column dataColumn); static Column getPutColumn(Column dataColumn); static Column getDeleteColumn(Column dataColumn); static Column getDataColumn(Column lockOrWriteColumn); static Column getDataColumnFromConstructedQualifier(Column lockColumn); static final char PRESERVED_COLUMN_CHARACTER; static final byte[] PRESERVED_COLUMN_CHARACTER_BYTES; static final String PUT_QUALIFIER_SUFFIX; static final byte[] PUT_QUALIFIER_SUFFIX_BYTES; static final String DELETE_QUALIFIER_SUFFIX; static final byte[] DELETE_QUALIFIER_SUFFIX_BYTES; static final String PRESERVED_QUALIFIER_SUFFIX; static final byte[] LOCK_FAMILY_NAME; static final String LOCK_FAMILY_NAME_STRING; static final String PUT_FAMILY_NAME; static final byte[] PUT_FAMILY_NAME_BYTES; static final String DELETE_FAMILY_NAME; static final byte[] DELETE_FAMILY_NAME_BYTES; static final byte[][] COMMIT_FAMILY_NAME_BYTES; static final String THEMIS_COMMIT_FAMILY_TYPE; }
@Test public void testGetDataColumn() { for (int i = 0; i < 2; ++i) { Assert.assertEquals(COLUMN, ColumnUtil.getDataColumn(COLUMN)); Column column = new Column(COLUMN.getFamily(), COLUMN.getQualifier()); Assert.assertEquals(column, ColumnUtil.getDataColumn(ColumnUtil.getLockColumn(COLUMN))); Assert.assertEquals(column, ColumnUtil.getDataColumn(ColumnUtil.getPutColumn(COLUMN))); Assert.assertEquals(column, ColumnUtil.getDataColumn(ColumnUtil.getDeleteColumn(COLUMN))); commitToDifferentFamily(); } }