diff --git a/common/src/main/java/org/openmetadata/annotations/utils/AnnotationChecker.java b/common/src/main/java/org/openmetadata/annotations/utils/AnnotationChecker.java deleted file mode 100644 index cd0220b93d63..000000000000 --- a/common/src/main/java/org/openmetadata/annotations/utils/AnnotationChecker.java +++ /dev/null @@ -1,46 +0,0 @@ -package org.openmetadata.annotations.utils; - -import java.lang.annotation.Annotation; -import java.lang.reflect.Field; -import java.util.HashSet; -import java.util.Set; -import org.openmetadata.annotations.ExposedField; - -public class AnnotationChecker { - - private AnnotationChecker() {} - - private static boolean checkIfAnyClassFieldsHasAnnotation( - Class objectClass, Class annotationClass) { - return checkIfAnyClassFieldsHasAnnotation(objectClass, annotationClass, new HashSet<>()); - } - - private static boolean checkIfAnyClassFieldsHasAnnotation( - Class objectClass, - Class annotationClass, - Set> visitedClasses) { - for (Field field : objectClass.getDeclaredFields()) { - if (field.isAnnotationPresent(annotationClass)) { - return true; - } - if (!field.getType().isPrimitive() && !visitedClasses.contains(field.getType())) { - visitedClasses.add(field.getType()); - if (checkIfAnyClassFieldsHasAnnotation(field.getType(), annotationClass, visitedClasses)) { - return true; - } - } - } - if (objectClass.getSuperclass() != null - && !visitedClasses.contains(objectClass.getSuperclass())) { - visitedClasses.add(objectClass.getSuperclass()); - return checkIfAnyClassFieldsHasAnnotation( - objectClass.getSuperclass(), annotationClass, visitedClasses); - } - return false; - } - - /** Check if any field of a given class has the annotation {@link ExposedField}. */ - public static boolean isExposedFieldPresent(Class objectClass) { - return checkIfAnyClassFieldsHasAnnotation(objectClass, ExposedField.class); - } -} diff --git a/common/src/test/java/org/openmetadata/annotations/utils/AnnotationCheckerTest.java b/common/src/test/java/org/openmetadata/annotations/utils/AnnotationCheckerTest.java deleted file mode 100644 index 3bb7973aadce..000000000000 --- a/common/src/test/java/org/openmetadata/annotations/utils/AnnotationCheckerTest.java +++ /dev/null @@ -1,45 +0,0 @@ -package org.openmetadata.annotations.utils; - -import static org.junit.jupiter.api.Assertions.assertFalse; -import static org.junit.jupiter.api.Assertions.assertTrue; - -import org.junit.jupiter.api.Test; -import org.openmetadata.annotations.ExposedField; - -public class AnnotationCheckerTest { - - @Test - void testWhenClassHasExposedFields() { - assertTrue(AnnotationChecker.isExposedFieldPresent(TestHasAnnotation.class)); - } - - @Test - void testWhenClassWithAFieldWithExposedFields() { - assertTrue(AnnotationChecker.isExposedFieldPresent(TestNestedHasAnnotation.class)); - } - - @Test - void testWhenClassInheritFieldWithExposedFields() { - assertTrue(AnnotationChecker.isExposedFieldPresent(TestInheritHasAnnotation.class)); - } - - @Test - void testWhenClassDoesNotHasExposedFields() { - assertFalse(AnnotationChecker.isExposedFieldPresent(TestDoesNotHasAnnotation.class)); - } - - static class TestHasAnnotation { - protected @ExposedField String exposed; - } - - static class TestNestedHasAnnotation { - String notExposed; - TestHasAnnotation exposed; - } - - static class TestInheritHasAnnotation extends TestHasAnnotation {} - - static class TestDoesNotHasAnnotation { - String notExposed; - } -}