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/04/15 11:38:30 UTC

[brooklyn-server] branch master updated: add the java class loader for bundles -- tests need this, but not always needed, so give options

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


The following commit(s) were added to refs/heads/master by this push:
     new 320ffea  add the java class loader for bundles -- tests need this, but not always needed, so give options
320ffea is described below

commit 320ffea8c3d98753fbf49eebecf75129c0b086bb
Author: Alex Heneveld <al...@cloudsoftcorp.com>
AuthorDate: Thu Apr 15 12:35:06 2021 +0100

    add the java class loader for bundles -- tests need this, but not always needed, so give options
---
 .../main/java/org/apache/brooklyn/util/core/ResourceUtils.java    | 8 ++++++--
 .../java/org/apache/brooklyn/rest/resources/TypeResource.java     | 2 +-
 .../brooklyn/rest/resources/BundleAndTypeResourcesTest.java       | 2 +-
 3 files changed, 8 insertions(+), 4 deletions(-)

diff --git a/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java b/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java
index cea3ba8..b5bb384 100644
--- a/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java
+++ b/core/src/main/java/org/apache/brooklyn/util/core/ResourceUtils.java
@@ -137,8 +137,12 @@ public class ResourceUtils {
         return new ResourceUtils(contextObject);
     }
 
-    public static final ResourceUtils create(RegisteredType type, ManagementContext mgmt) {
-        return create(new OsgiBrooklynClassLoadingContext(mgmt, type.getId(), type.getLibraries()));
+    public static final ResourceUtils create(RegisteredType type, ManagementContext mgmt, boolean includeThreadAndJavaClassLoader) {
+        if (includeThreadAndJavaClassLoader) {
+            return create(CatalogUtils.newClassLoadingContext(mgmt, type), type.getId());
+        } else {
+            return create(new OsgiBrooklynClassLoadingContext(mgmt, type.getId(), type.getLibraries()), type.getId());
+        }
     }
 
     /**
diff --git a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/TypeResource.java b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/TypeResource.java
index fbd717b..264714c 100644
--- a/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/TypeResource.java
+++ b/rest/rest-resources/src/main/java/org/apache/brooklyn/rest/resources/TypeResource.java
@@ -181,7 +181,7 @@ public class TypeResource extends AbstractBrooklynRestResource implements TypeAp
             
             MediaType mime = WebResourceUtils.getImageMediaTypeFromExtension(Files.getFileExtension(url));
             try {
-                Object content = ResourceUtils.create(result, mgmt).getResourceFromUrl(url);
+                Object content = ResourceUtils.create(result, mgmt, true).getResourceFromUrl(url);
                 return Response.ok(content, mime).build();
             } catch (Exception e) {
                 Exceptions.propagateIfFatal(e);
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 c093579..0028852 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
@@ -808,7 +808,7 @@ public class BundleAndTypeResourcesTest extends BrooklynRestResourceTest {
         Assert.assertNull(lib.getUrl());
 
         // check we can find it with ResourceUtils
-        ResourceUtils.create(item, getManagementContext()).checkUrlExists("classpath://"+BROOKLYN_TEST_OSGI_ENTITIES_COM_EXAMPLE_ICON_PATH);
+        ResourceUtils.create(item, getManagementContext(), false).checkUrlExists("classpath://"+BROOKLYN_TEST_OSGI_ENTITIES_COM_EXAMPLE_ICON_PATH);
 
         assertEquals(lib.getSymbolicName(), symbolicName);
         assertEquals(lib.getSuppliedVersionString(), version);