diff --git a/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java b/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java index 5de5cd03fe13..39bdaaec69ef 100644 --- a/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java +++ b/server/src/main/java/com/cloud/api/doc/ApiXmlDocWriter.java @@ -92,7 +92,10 @@ private static List setAsyncResponses() { public static void main(String[] args) { Set> cmdClasses = ReflectUtil.getClassesWithAnnotation(APICommand.class, new String[] {"org.apache.cloudstack.api", "com.cloud.api", "com.cloud.api.commands", "com.globo.globodns.cloudstack.api", "org.apache.cloudstack.network.opendaylight.api", - "org.apache.cloudstack.api.command.admin.zone", "org.apache.cloudstack.network.contrail.api.command"}); + "org.apache.cloudstack.api.command.admin.zone", "org.apache.cloudstack.network.contrail.api.command", + "org.apache.cloudstack.cloudian.api", "org.apache.cloudstack.framework.extensions.api", + "org.apache.cloudstack.mom.webhook.api.command.user", "org.apache.cloudstack.network.tungsten.api.command", + "org.apache.cloudstack.oauth2.api.command", "org.apache.cloudstack.storage.datastore.util"}); for (Class cmdClass : cmdClasses) { if(cmdClass.getAnnotation(APICommand.class)==null){ diff --git a/utils/src/main/java/com/cloud/utils/ReflectUtil.java b/utils/src/main/java/com/cloud/utils/ReflectUtil.java index 5b40d48c20e2..bf11cea22cce 100644 --- a/utils/src/main/java/com/cloud/utils/ReflectUtil.java +++ b/utils/src/main/java/com/cloud/utils/ReflectUtil.java @@ -42,6 +42,7 @@ import org.reflections.scanners.TypeAnnotationsScanner; import org.reflections.util.ClasspathHelper; import org.reflections.util.ConfigurationBuilder; +import org.reflections.util.FilterBuilder; import com.cloud.utils.exception.CloudRuntimeException; import com.google.common.collect.ImmutableSet; @@ -70,9 +71,12 @@ public static Set> getClassesWithAnnotation(Class Reflections reflections; Set> classes = new HashSet>(); ConfigurationBuilder builder=new ConfigurationBuilder(); + FilterBuilder filterBuilder = new FilterBuilder(); for (String packageName : packageNames) { builder.addUrls(ClasspathHelper.forPackage(packageName)); + filterBuilder.includePackage(packageName); } + builder.filterInputsBy(filterBuilder); builder.setScanners(new SubTypesScanner(),new TypeAnnotationsScanner()); reflections = new Reflections(builder); classes.addAll(reflections.getTypesAnnotatedWith(annotation));