]> git.argeo.org Git - lgpl/argeo-commons.git/blobdiff - org.argeo.cms.ui/src/org/argeo/cms/util/CmsLink.java
Improve Commons API
[lgpl/argeo-commons.git] / org.argeo.cms.ui / src / org / argeo / cms / util / CmsLink.java
index bd5052c5b9a79f1bf1b548e23a31fc7a0db09ffe..865824c1a90b09890db356db0feaa0d9a78fd48f 100644 (file)
@@ -10,8 +10,8 @@ import org.apache.commons.io.IOUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.argeo.cms.CmsException;
-import org.argeo.cms.CmsStyles;
-import org.argeo.cms.CmsUiProvider;
+import org.argeo.cms.ui.CmsStyles;
+import org.argeo.cms.ui.CmsUiProvider;
 import org.eclipse.rap.rwt.RWT;
 import org.eclipse.rap.rwt.service.ResourceManager;
 import org.eclipse.swt.SWT;
@@ -22,13 +22,11 @@ import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
 import org.osgi.framework.BundleContext;
-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 +172,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 +181,10 @@ public class CmsLink implements CmsUiProvider {
                return url;
        }
 
+       public void setBundleContext(BundleContext bundleContext) {
+               this.bundleContext = bundleContext;
+       }
+
        public void setLabel(String label) {
                this.label = label;
        }