IndexMasterObserver extends BaseMasterObserver { protected static String constructSecondaryIndexTableName(String tableName, String familyName, String columnName, String indexName) { return THEMIS_SECONDARY_INDEX_TABLE_NAME_PREFIX + "_" + tableName + "_" + familyName + "_" + columnName + "_" + indexName; }  @Override void preCreateTable(ObserverContext<MasterCoprocessorEnvironment> ctx,
      HTableDescriptor desc, HRegionInfo[] regions); @Override void preDeleteTable(ObserverContext<MasterCoprocessorEnvironment> ctx,
      byte[] tableName); @Override void postDeleteTable(ObserverContext<MasterCoprocessorEnvironment> ctx,
      byte[] tableName); static final String THEMIS_SECONDARY_INDEX_FAMILY_ATTRIBUTE_KEY; static final String THEMIS_SECONDARY_INDEX_NAME_SPLITOR; static final String THEMIS_SECONDARY_INDEX_TABLE_NAME_PREFIX; static final String THEMIS_SECONDARY_INDEX_TABLE_ATTRIBUTE_KEY; static final String THEMIS_SECONDARY_INDEX_TABLE_FAMILY; static final byte[] THEMIS_SECONDARY_INDEX_TABLE_FAMILY_BYTES; }
@Test public void testConstructSecondaryIndexTableName() { Assert.assertEquals("__themis_index_a_b_c_d", IndexMasterObserver.constructSecondaryIndexTableName("a", "b", "c", "d")); }