You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by ge...@apache.org on 2018/01/19 15:43:16 UTC

[2/3] brooklyn-server git commit: Update reflections dependency to 0.9.10

Update reflections dependency to 0.9.10

0.9.9-RC1 is unable to read classes containing lambda functions. This
meant that `brooklyn list-objects` did not output all classes. Refer to
https://github.com/ronmamo/reflections/issues/15 for futher context.

There is a more recent release of reflections that I think fixes further
issues (see GitHub) but it relies on Guava v20.
https://github.com/ronmamo/reflections/issues/194

Reflections' dependency on com.google.code.findbugs:annotations is
excluded because it clashes with a version from airline and should only
be needed at compile time anyway.


Project: http://git-wip-us.apache.org/repos/asf/brooklyn-server/repo
Commit: http://git-wip-us.apache.org/repos/asf/brooklyn-server/commit/2ad4c8fa
Tree: http://git-wip-us.apache.org/repos/asf/brooklyn-server/tree/2ad4c8fa
Diff: http://git-wip-us.apache.org/repos/asf/brooklyn-server/diff/2ad4c8fa

Branch: refs/heads/master
Commit: 2ad4c8fa327564159ea5570a5bc315ba7f860368
Parents: d03eccb
Author: Sam Corbett <sa...@cloudsoftcorp.com>
Authored: Thu Jan 18 17:30:57 2018 +0000
Committer: Sam Corbett <sa...@cloudsoftcorp.com>
Committed: Fri Jan 19 14:24:57 2018 +0000

----------------------------------------------------------------------
 .../brooklyn/util/core/javalang/ReflectionScanner.java  | 12 +++++++-----
 parent/pom.xml                                          |  6 ++++++
 pom.xml                                                 |  2 +-
 .../rest/resources/BundleAndTypeResourcesTest.java      |  6 +++---
 .../brooklyn/rest/resources/CatalogResourceTest.java    |  8 ++++----
 .../org/apache/brooklyn/cli/lister/ClassFinder.java     |  5 ++---
 6 files changed, 23 insertions(+), 16 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2ad4c8fa/core/src/main/java/org/apache/brooklyn/util/core/javalang/ReflectionScanner.java
----------------------------------------------------------------------
diff --git a/core/src/main/java/org/apache/brooklyn/util/core/javalang/ReflectionScanner.java b/core/src/main/java/org/apache/brooklyn/util/core/javalang/ReflectionScanner.java
index b5ca2c9..9dad596 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/javalang/ReflectionScanner.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/javalang/ReflectionScanner.java
@@ -106,17 +106,19 @@ public class ReflectionScanner {
     public Store getStore() {
         return reflections.getStore();
     }
-    
+
     /** overrides delegate so as to log rather than throw exception if a class cannot be loaded */
     public <T> Set<Class<? extends T>> getSubTypesOf(final Class<T> type) {
-        Set<String> subTypes = getStore().getSubTypesOf(type.getName());
-        return ImmutableSet.copyOf(this.<T>forNames(subTypes, "sub-type of "+type));
+        return ImmutableSet.copyOf(reflections.getSubTypesOf(type));
     }
     
     /** overrides delegate so as to log rather than throw exception if a class cannot be loaded */
     public Set<Class<?>> getTypesAnnotatedWith(Class<? extends Annotation> annotation) {
-        Set<String> annotatedWith = getStore().getTypesAnnotatedWith(annotation.getName());
-        return ImmutableSet.copyOf(this.forNames(annotatedWith, "annotated "+annotation.getName()));
+        // Second parameter to getTypesAnnotatedWith instructs reflections to honour the
+        // Inherited meta-annotation. When `false` the returned set includes unannotated
+        // classes that implement annotated interfaces. In practice this means that the
+        // Brooklyn catalog would include entity implementations.
+        return ImmutableSet.copyOf(reflections.getTypesAnnotatedWith(annotation, true));
     }
 
     @SuppressWarnings("unchecked")

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2ad4c8fa/parent/pom.xml
----------------------------------------------------------------------
diff --git a/parent/pom.xml b/parent/pom.xml
index 752e1a7..840489b 100644
--- a/parent/pom.xml
+++ b/parent/pom.xml
@@ -373,6 +373,12 @@
                 <groupId>org.reflections</groupId>
                 <artifactId>reflections</artifactId>
                 <version>${reflections.version}</version>
+                <exclusions>
+                    <exclusion>
+                        <groupId>com.google.code.findbugs</groupId>
+                        <artifactId>annotations</artifactId>
+                    </exclusion>
+                </exclusions>
             </dependency>
             <dependency>
                 <groupId>org.apache.felix</groupId>

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2ad4c8fa/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index e4a3ba5..62a2bfe 100644
--- a/pom.xml
+++ b/pom.xml
@@ -135,7 +135,7 @@
         <bouncycastle.version>1.51</bouncycastle.version>
         <sshj.version>0.12.0</sshj.version>
         <felix.framework.version>5.6.1</felix.framework.version>
-        <reflections.version>0.9.9-RC1</reflections.version>
+        <reflections.version>0.9.10</reflections.version>
         <jetty.version>9.3.14.v20161028</jetty.version>
         <jetty-schemas.version>3.1.M0</jetty-schemas.version>
         <airline.version>0.7</airline.version>

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2ad4c8fa/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/BundleAndTypeResourcesTest.java
----------------------------------------------------------------------
diff --git a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/BundleAndTypeResourcesTest.java b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/BundleAndTypeResourcesTest.java
index 49a20d5..de9977c 100644
--- a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/BundleAndTypeResourcesTest.java
+++ b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/BundleAndTypeResourcesTest.java
@@ -237,16 +237,16 @@ public class BundleAndTypeResourcesTest extends BrooklynRestResourceTest {
         List<TypeSummary> entities = client().path("/catalog/types")
                 .query("fragment", "vaNIllasOFTWAREpROCESS").get(new GenericType<List<TypeSummary>>() {});
         log.info("Matching entities: " + entities);
-        assertEquals(entities.size(), 1);
+        Asserts.assertSize(entities, 1);
 
         entities = client().path("/catalog/types").query("supertype", "entity")
                 .query("fragment", "vaNIllasOFTWAREpROCESS").get(new GenericType<List<TypeSummary>>() {});
         log.info("Matching entities: " + entities);
-        assertEquals(entities.size(), 1);
+        Asserts.assertSize(entities, 1);
 
         List<TypeSummary> entities2 = client().path("/catalog/types")
                 .query("regex", "[Vv]an.[alS]+oftware\\w+").get(new GenericType<List<TypeSummary>>() {});
-        assertEquals(entities2.size(), 1);
+        Asserts.assertSize(entities2, 1);
 
         assertEquals(entities, entities2);
     

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2ad4c8fa/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/CatalogResourceTest.java
----------------------------------------------------------------------
diff --git a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/CatalogResourceTest.java b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/CatalogResourceTest.java
index 61c6aa3..fa62ece 100644
--- a/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/CatalogResourceTest.java
+++ b/rest/rest-resources/src/test/java/org/apache/brooklyn/rest/resources/CatalogResourceTest.java
@@ -226,21 +226,21 @@ public class CatalogResourceTest extends BrooklynRestResourceTest {
         List<CatalogEntitySummary> entities = client().path("/catalog/entities")
                 .query("fragment", "vaNIllasOFTWAREpROCESS").get(new GenericType<List<CatalogEntitySummary>>() {});
         log.info("Matching entities: " + entities);
-        assertEquals(entities.size(), 1);
+        Asserts.assertSize(entities, 1);
 
         List<CatalogEntitySummary> entities2 = client().path("/catalog/entities")
                 .query("regex", "[Vv]an.[alS]+oftware\\w+").get(new GenericType<List<CatalogEntitySummary>>() {});
-        assertEquals(entities2.size(), 1);
+        Asserts.assertSize(entities2, 1);
 
         assertEquals(entities, entities2);
     
         List<CatalogEntitySummary> entities3 = client().path("/catalog/entities")
                 .query("fragment", "bweqQzZ").get(new GenericType<List<CatalogEntitySummary>>() {});
-        assertEquals(entities3.size(), 0);
+        Asserts.assertSize(entities3, 0);
 
         List<CatalogEntitySummary> entities4 = client().path("/catalog/entities")
                 .query("regex", "bweq+z+").get(new GenericType<List<CatalogEntitySummary>>() {});
-        assertEquals(entities4.size(), 0);
+        Asserts.assertSize(entities4, 0);
     }
 
     @Test

http://git-wip-us.apache.org/repos/asf/brooklyn-server/blob/2ad4c8fa/server-cli/src/main/java/org/apache/brooklyn/cli/lister/ClassFinder.java
----------------------------------------------------------------------
diff --git a/server-cli/src/main/java/org/apache/brooklyn/cli/lister/ClassFinder.java b/server-cli/src/main/java/org/apache/brooklyn/cli/lister/ClassFinder.java
index 3172bfa..f050d0a 100644
--- a/server-cli/src/main/java/org/apache/brooklyn/cli/lister/ClassFinder.java
+++ b/server-cli/src/main/java/org/apache/brooklyn/cli/lister/ClassFinder.java
@@ -142,11 +142,10 @@ public class ClassFinder {
     public static <T extends BrooklynObject> Set<Class<? extends T>> findClasses(Collection<URL> urls, Class<T> clazz) {
         ClassLoader classLoader = new UrlClassLoader(urls.toArray(new URL[urls.size()]));
         
-        Reflections reflections = new ConfigurationBuilder()
+        Reflections reflections = new Reflections(new ConfigurationBuilder()
                 .addClassLoader(classLoader)
                 .addScanners(new SubTypesScanner(), new TypeAnnotationsScanner(), new FieldAnnotationsScanner())
-                .addUrls(urls)
-                .build();
+                .addUrls(urls));
         
         Set<Class<? extends T>> types = reflections.getSubTypesOf(clazz);