This is an automated email from the ASF dual-hosted git repository. heneveld pushed a commit to branch master in repository https://gitbox.apache.org/repos/asf/brooklyn-server.git
commit 90844d209f6edd87531925b965a4661f8ff0d000 Author: Alex Heneveld <[email protected]> AuthorDate: Thu Sep 30 16:01:54 2021 +0100 allow REST endpoints to be extended by tests and/or statics --- .../org/apache/brooklyn/rest/BrooklynRestApi.java | 20 +++++++++++++++++++- .../org/apache/brooklyn/rest/BrooklynRestApp.java | 2 +- 2 files changed, 20 insertions(+), 2 deletions(-) diff --git a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/BrooklynRestApi.java b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/BrooklynRestApi.java index e9de19b..46fd54b 100644 --- a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/BrooklynRestApi.java +++ b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/BrooklynRestApi.java @@ -18,9 +18,11 @@ */ package org.apache.brooklyn.rest; +import com.google.common.annotations.VisibleForTesting; import java.util.ArrayList; import java.util.List; +import java.util.Set; import org.apache.brooklyn.rest.resources.*; import org.apache.brooklyn.rest.util.DefaultExceptionMapper; import org.apache.brooklyn.rest.util.FormMapProvider; @@ -29,6 +31,7 @@ import org.apache.brooklyn.rest.util.json.BrooklynJacksonJsonProvider; import com.google.common.collect.Iterables; import io.swagger.jaxrs.listing.SwaggerSerializers; +import org.apache.brooklyn.util.collections.MutableSet; public class BrooklynRestApi { @@ -71,7 +74,22 @@ public class BrooklynRestApi { return resources; } + static Set<Object> extraResources = MutableSet.of(); + + @VisibleForTesting + public static void addExtraResource(Object resource) { + extraResources.add(resource); + } + @VisibleForTesting + public static Set<Object> getExtraResourcesMutable() { + return extraResources; + } + + public static Set<Object> getExtraResources() { + return MutableSet.copyOf(extraResources); + } + public static Iterable<Object> getAllResources() { - return Iterables.concat(getBrooklynRestResources(), getApidocResources(), getMiscResources()); + return Iterables.concat(getBrooklynRestResources(), getApidocResources(), getMiscResources(), getExtraResources()); } } diff --git a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/BrooklynRestApp.java b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/BrooklynRestApp.java index 05b9092..41e7120 100644 --- a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/BrooklynRestApp.java +++ b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/BrooklynRestApp.java @@ -30,7 +30,7 @@ public class BrooklynRestApp extends Application { private Set<Object> singletons; public BrooklynRestApp() { - singletons = Sets.newHashSet(BrooklynRestApi.getAllResources()); + singletons = Sets.newLinkedHashSet(BrooklynRestApi.getAllResources()); } public BrooklynRestApp singleton(Object singleton) {
