enforce catalog entitlement at OSGi-loading level

Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: 
http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/8a30e185
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/8a30e185
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/8a30e185

Branch: refs/heads/master
Commit: 8a30e185426845ce35689b8097f8f49055179289
Parents: 88e9910
Author: Alex Heneveld <[email protected]>
Authored: Mon Dec 22 18:21:48 2014 +0000
Committer: Alex Heneveld <[email protected]>
Committed: Thu Feb 5 12:02:54 2015 +0000

----------------------------------------------------------------------
 .../management/classloading/OsgiBrooklynClassLoadingContext.java | 4 ++++
 1 file changed, 4 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/8a30e185/core/src/main/java/brooklyn/management/classloading/OsgiBrooklynClassLoadingContext.java
----------------------------------------------------------------------
diff --git 
a/core/src/main/java/brooklyn/management/classloading/OsgiBrooklynClassLoadingContext.java
 
b/core/src/main/java/brooklyn/management/classloading/OsgiBrooklynClassLoadingContext.java
index 3283fb3..12c1a54 100644
--- 
a/core/src/main/java/brooklyn/management/classloading/OsgiBrooklynClassLoadingContext.java
+++ 
b/core/src/main/java/brooklyn/management/classloading/OsgiBrooklynClassLoadingContext.java
@@ -25,6 +25,7 @@ import brooklyn.catalog.CatalogItem;
 import brooklyn.catalog.CatalogItem.CatalogBundle;
 import brooklyn.catalog.internal.CatalogUtils;
 import brooklyn.management.ManagementContext;
+import brooklyn.management.entitlement.Entitlements;
 import brooklyn.management.ha.OsgiManager;
 import brooklyn.management.internal.ManagementContextInternal;
 import brooklyn.util.guava.Maybe;
@@ -61,6 +62,9 @@ public class OsgiBrooklynClassLoadingContext extends 
AbstractBrooklynClassLoadin
         if (mgmt!=null) {
             osgi = ((ManagementContextInternal)mgmt).getOsgiManager();
             if (osgi.isPresent() && getBundles()!=null && 
!getBundles().isEmpty()) {
+                if (!Entitlements.isEntitled(mgmt.getEntitlementManager(), 
Entitlements.SEE_CATALOG_ITEM, catalogItemId))
+                    return Maybe.absent("Not entitled to use this catalog 
entry");
+                
                 clazz = osgi.get().tryResolveClass(className, getBundles());
                 if (clazz.isPresent())
                     return (Maybe)clazz;

Reply via email to