You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by he...@apache.org on 2021/09/30 15:02:10 UTC

[brooklyn-server] 03/03: allow REST endpoints to be extended by tests and/or statics

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 <al...@cloudsoftcorp.com>
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) {