ThemisCpUtil { public static boolean isLockResult(Result result) { if (result.isEmpty()) { return false; } KeyValue firstKv = result.list().get(0); return ColumnUtil.isLockColumn(firstKv.getFamily(), firstKv.getQualifier()); }  static String getDisallowedFilterClassNameString(); static void processFilters(Filter filter, FilterCallable callable); static void moveRowkeyFiltersForWriteGet(Get sourceGet, Get destGet); static void moveRowkeyFiltersForWriteScan(Scan sourceScan, Scan destScan); static void addLockAndWriteColumnToGet(Get userGet, Get internalGet, long startTs); static Result removeNotRequiredLockColumns(Map<byte[], NavigableSet<byte[]>> familyMap,
      Result result); static Get constructLockAndWriteGet(Get userGet, long startTs); static void prepareGet(Get get, Collection<HColumnDescriptor> families); static void prepareScan(Scan scan, Collection<HColumnDescriptor> families); static Scan constructLockAndWriteScan(Scan userScan, long startTs); static void addLockAndWriteColumnToScan(Column column, Scan scan); static Get constructDataGetByPutKvs(List<KeyValue> putKvs, Filter filter); static void addWriteColumnToGet(Column column, Get get); static boolean isLockResult(Result result); static Pair<List<KeyValue>, List<KeyValue>> seperateLockAndWriteKvs(List<KeyValue> kvs); static Set<Class<? extends Filter>> ALLOWED_ROWKEY_FILTER_CLASSES; static Set<Class<? extends Filter>> DISALLOWD_FILTERS; }
@Test public void testIsLockResult() { List<KeyValue> kvs = new ArrayList<KeyValue>(); kvs.add(KEYVALUE); Assert.assertFalse(ThemisCpUtil.isLockResult(new Result(kvs))); kvs.add(getLockKv(KEYVALUE)); Assert.assertFalse(ThemisCpUtil.isLockResult(new Result(kvs))); kvs.clear(); kvs.add(getLockKv(KEYVALUE)); Assert.assertTrue(ThemisCpUtil.isLockResult(new Result(kvs))); kvs.add(KEYVALUE); Assert.assertTrue(ThemisCpUtil.isLockResult(new Result(kvs))); }