diff --git a/src/main/java/com/softawii/curupira/v2/core/InteractionMapper.java b/src/main/java/com/softawii/curupira/v2/core/InteractionMapper.java index 0c077be..b370c5d 100644 --- a/src/main/java/com/softawii/curupira/v2/core/InteractionMapper.java +++ b/src/main/java/com/softawii/curupira/v2/core/InteractionMapper.java @@ -78,7 +78,7 @@ public void scan() { } private void scanPackage(String packageName) { - List classes = ScanUtils.getClassesInPackage(packageName, DiscordController.class).stream().toList(); + List> classes = ScanUtils.getClassesInPackage(packageName, DiscordController.class).stream().toList(); for(Class clazz : classes) { Object instance = context.getInstance(clazz); diff --git a/src/main/java/com/softawii/curupira/v2/utils/ScanUtils.java b/src/main/java/com/softawii/curupira/v2/utils/ScanUtils.java index 7ba3ce1..b9844ad 100644 --- a/src/main/java/com/softawii/curupira/v2/utils/ScanUtils.java +++ b/src/main/java/com/softawii/curupira/v2/utils/ScanUtils.java @@ -18,7 +18,7 @@ public class ScanUtils { private static final Logger LOGGER = LoggerFactory.getLogger(ScanUtils.class); - public static Set getClassesInPackage(String pkg, Class annotation) { + public static Set> getClassesInPackage(String pkg, Class annotation) { LOGGER.info("Scanning package: {}, annotation: {}", pkg, annotation); Reflections reflections = new Reflections( new ConfigurationBuilder() @@ -26,7 +26,17 @@ public static Set getClassesInPackage(String pkg, Class annotation) { .setScanners(Scanners.SubTypes, Scanners.TypesAnnotated) .filterInputsBy((input) -> input.endsWith(".class") && input.startsWith(pkg.replace('.', '/'))) ); - return new HashSet<>(reflections.getTypesAnnotatedWith(annotation)); + HashSet> set = new HashSet>(reflections.getTypesAnnotatedWith(annotation)); + + for(Class clazz : set.stream().toList()) { + if(clazz.getPackage().getName().startsWith(pkg)) { + LOGGER.info("Found class: {}", clazz.getName()); + } else { + set.remove(clazz); + } + } + + return set; } public static List getMethodsAnnotatedWith(Class clazz, Class filtering) {