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);