AnnotationUtils { public static String annotatedAlias(Class<? extends BaseDB> cls) { DBAnnotation annotation = cls.getAnnotation(DBAnnotation.class); return annotation == null ? null : annotation.tableNameAlias(); }  static String annotatedName(Class<?> clazz); static String annotatedAlias(Class<? extends BaseDB> cls); static String annotatedAlias(String name); static IOType annotatedIoType(Class<? extends AlgoOperator> cls); static ParamInfo<String> tableAliasParamKey(String name); static ParamInfo<String> tableAliasParamKey(Class<? extends BaseDB> dbClazz); static ParamInfo<String> dynamicParamKey(String key); static List<String> allDBAndOpNames(); static List<String> allFileSystemNames(); static BaseDB createDB(String name, Params parameter); static BaseFileSystem<?> createFileSystem(String name, Params parameter); static boolean isDB(String name); static boolean isDBHasTimestamp(String name); static boolean isIoOpHasTimestamp(String name, IOType type); static boolean isFileSystem(String name); static AlgoOperator createOp(String name, IOType type, Params parameter);  }
@Test public void testAnnotatedAlias() { Assert.assertEquals("tableName", AnnotationUtils.annotatedAlias(FakeDB1.class)); Assert.assertEquals("topic", AnnotationUtils.annotatedAlias(FakeDB2.class)); Assert.assertNull(AnnotationUtils.annotatedAlias(FakeDB3.class)); }
@Test public void testAnnotatedAliasByName() { Assert.assertEquals("tableName", AnnotationUtils.annotatedAlias("test_fake_db_1")); Assert.assertEquals("topic", AnnotationUtils.annotatedAlias("test_fake_db_2")); }
@Test(expected = IllegalArgumentException.class) public void testAnnotatedAliasByNameError() { Assert.assertNull(AnnotationUtils.annotatedAlias("A_DB_HAS_NO_NAME")); }