Use injected bundle context
authorBruno Sinou <bsinou@argeo.org>
Thu, 15 Sep 2016 11:14:04 +0000 (11:14 +0000)
committerBruno Sinou <bsinou@argeo.org>
Thu, 15 Sep 2016 11:14:04 +0000 (11:14 +0000)
git-svn-id: https://svn.argeo.org/commons/trunk@9158 4cfe0d0a-d680-48aa-b62c-e0a02a3f76cc

org.argeo.cms.ui/src/org/argeo/cms/util/CmsLink.java

index bd5052c5b9a79f1bf1b548e23a31fc7a0db09ffe..01b1fde2ff4cd1babfdc080c045856ef6f2ef714 100644 (file)
@@ -27,8 +27,7 @@ import org.osgi.framework.FrameworkUtil;
 /** A link to an internal or external location. */
 public class CmsLink implements CmsUiProvider {
        private final static Log log = LogFactory.getLog(CmsLink.class);
-       private BundleContext bc = FrameworkUtil.getBundle(getClass())
-                       .getBundleContext();
+       private BundleContext bundleContext ;
 
        private String label;
        private String custom;
@@ -174,7 +173,7 @@ public class CmsLink implements CmsUiProvider {
                        // pure URL
                        url = new URL(image);
                } catch (MalformedURLException e1) {
-                       url = bc.getBundle().getResource(image);
+                       url = bundleContext.getBundle().getResource(image);
                }
 
                if (url == null)
@@ -183,6 +182,10 @@ public class CmsLink implements CmsUiProvider {
                return url;
        }
 
+       public void setBundleContext(BundleContext bundleContext) {
+               this.bundleContext = bundleContext;
+       }
+
        public void setLabel(String label) {
                this.label = label;
        }