You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cloudstack.apache.org by ek...@apache.org on 2015/06/08 11:45:44 UTC

[23/50] [abbrv] git commit: updated refs/heads/feature/vpc-ipv6 to 6140db5

Upgrade Reflections to 0.9.9

Signed-off-by: Rajani Karuturi <ra...@gmail.com>

This closes #333


Project: http://git-wip-us.apache.org/repos/asf/cloudstack/repo
Commit: http://git-wip-us.apache.org/repos/asf/cloudstack/commit/bec44bff
Tree: http://git-wip-us.apache.org/repos/asf/cloudstack/tree/bec44bff
Diff: http://git-wip-us.apache.org/repos/asf/cloudstack/diff/bec44bff

Branch: refs/heads/feature/vpc-ipv6
Commit: bec44bffb3ed415315793cf83603ce13bf865ff0
Parents: c2f2f77
Author: Rafael da Fonseca <rs...@gmail.com>
Authored: Fri May 29 23:32:35 2015 +0200
Committer: Rajani Karuturi <ra...@gmail.com>
Committed: Wed Jun 3 11:01:32 2015 +0530

----------------------------------------------------------------------
 pom.xml                                           |  2 +-
 server/src/com/cloud/api/doc/ApiXmlDocWriter.java |  5 ++++-
 utils/src/com/cloud/utils/ReflectUtil.java        | 12 ++++++++++--
 3 files changed, 15 insertions(+), 4 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bec44bff/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index 6e3730b..fa019ef 100644
--- a/pom.xml
+++ b/pom.xml
@@ -88,7 +88,7 @@
     <cs.lang.version>2.6</cs.lang.version>
     <cs.commons-io.version>2.4</cs.commons-io.version>
     <cs.commons-validator.version>1.4.0</cs.commons-validator.version>
-    <cs.reflections.version>0.9.8</cs.reflections.version>
+    <cs.reflections.version>0.9.9</cs.reflections.version>
     <cs.java-ipv6.version>0.15</cs.java-ipv6.version>
     <cs.replace.properties>build/replace.properties</cs.replace.properties>
     <cs.libvirt-java.version>0.5.1</cs.libvirt-java.version>

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bec44bff/server/src/com/cloud/api/doc/ApiXmlDocWriter.java
----------------------------------------------------------------------
diff --git a/server/src/com/cloud/api/doc/ApiXmlDocWriter.java b/server/src/com/cloud/api/doc/ApiXmlDocWriter.java
index 2d2cada..166af4b 100644
--- a/server/src/com/cloud/api/doc/ApiXmlDocWriter.java
+++ b/server/src/com/cloud/api/doc/ApiXmlDocWriter.java
@@ -96,12 +96,15 @@ public class ApiXmlDocWriter {
     }
 
     public static void main(String[] args) {
-
         Set<Class<?>> 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",
                 "com.cloud.api.commands.netapp", "org.apache.cloudstack.api.command.admin.zone", "org.apache.cloudstack.network.contrail.api.command"});
 
         for (Class<?> cmdClass : cmdClasses) {
+            if(cmdClass.getAnnotation(APICommand.class)==null){
+               System.out.println("Warning, API Cmd class " + cmdClass.getName() + " has no APICommand annotation ");
+               continue;
+            }
             String apiName = cmdClass.getAnnotation(APICommand.class).name();
             if (s_apiNameCmdClassMap.containsKey(apiName)) {
                 // handle API cmd separation into admin cmd and user cmd with the common api name

http://git-wip-us.apache.org/repos/asf/cloudstack/blob/bec44bff/utils/src/com/cloud/utils/ReflectUtil.java
----------------------------------------------------------------------
diff --git a/utils/src/com/cloud/utils/ReflectUtil.java b/utils/src/com/cloud/utils/ReflectUtil.java
index 9c09980..c8ae954 100644
--- a/utils/src/com/cloud/utils/ReflectUtil.java
+++ b/utils/src/com/cloud/utils/ReflectUtil.java
@@ -37,6 +37,10 @@ import java.util.Set;
 
 import org.apache.log4j.Logger;
 import org.reflections.Reflections;
+import org.reflections.util.ConfigurationBuilder;
+import org.reflections.util.ClasspathHelper;
+import org.reflections.scanners.SubTypesScanner;
+import org.reflections.scanners.TypeAnnotationsScanner;
 
 import com.google.common.collect.ImmutableSet;
 
@@ -45,6 +49,7 @@ import com.cloud.utils.exception.CloudRuntimeException;
 public class ReflectUtil {
 
     private static final Logger s_logger = Logger.getLogger(ReflectUtil.class);
+    private static final Logger logger = Logger.getLogger(Reflections.class);
 
     public static Pair<Class<?>, Field> getAnyField(Class<?> clazz, String fieldName) {
         try {
@@ -65,10 +70,13 @@ public class ReflectUtil {
     public static Set<Class<?>> getClassesWithAnnotation(Class<? extends Annotation> annotation, String[] packageNames) {
         Reflections reflections;
         Set<Class<?>> classes = new HashSet<Class<?>>();
+        ConfigurationBuilder builder=new ConfigurationBuilder();
         for (String packageName : packageNames) {
-            reflections = new Reflections(packageName);
-            classes.addAll(reflections.getTypesAnnotatedWith(annotation));
+             builder.addUrls(ClasspathHelper.forPackage(packageName));
         }
+        builder.setScanners(new SubTypesScanner(),new TypeAnnotationsScanner());
+        reflections = new Reflections(builder);
+        classes.addAll(reflections.getTypesAnnotatedWith(annotation));
         return classes;
     }