diff options
author | Damian Minkov <damencho@jitsi.org> | 2008-07-14 16:29:25 +0000 |
---|---|---|
committer | Damian Minkov <damencho@jitsi.org> | 2008-07-14 16:29:25 +0000 |
commit | 795fac7d71f64c1cf8db64ed1a896633ecc57a46 (patch) | |
tree | ea00e453c6721ae4c620aae18963dc91462c0165 /src/net/java/sip/communicator/impl/protocol/rss | |
parent | 4922ad2ddd75f8b35dc369536ddcbe81ccf7a05e (diff) | |
download | jitsi-795fac7d71f64c1cf8db64ed1a896633ecc57a46.zip jitsi-795fac7d71f64c1cf8db64ed1a896633ecc57a46.tar.gz jitsi-795fac7d71f64c1cf8db64ed1a896633ecc57a46.tar.bz2 |
Resource Management Service and its implementation. The service holds all resources and all bundles(except configuration service) use it to retrieve i18n strings,images,settings...
Diffstat (limited to 'src/net/java/sip/communicator/impl/protocol/rss')
4 files changed, 25 insertions, 23 deletions
diff --git a/src/net/java/sip/communicator/impl/protocol/rss/ProtocolIconRssImpl.java b/src/net/java/sip/communicator/impl/protocol/rss/ProtocolIconRssImpl.java index 2133dbd..a08551f 100644 --- a/src/net/java/sip/communicator/impl/protocol/rss/ProtocolIconRssImpl.java +++ b/src/net/java/sip/communicator/impl/protocol/rss/ProtocolIconRssImpl.java @@ -6,18 +6,14 @@ */ package net.java.sip.communicator.impl.protocol.rss; -import java.awt.image.*; import java.io.*; -import java.net.*; import java.util.*; -import javax.imageio.*; -import javax.imageio.stream.*; - -import net.java.sip.communicator.impl.gui.utils.*; import net.java.sip.communicator.impl.gui.utils.ImageLoader.*; import net.java.sip.communicator.service.protocol.*; +import net.java.sip.communicator.service.resources.*; import net.java.sip.communicator.util.*; +import org.osgi.framework.ServiceReference; /** * Reperesents the Rss protocol icon. Implements the <tt>ProtocolIcon</tt> @@ -31,6 +27,8 @@ public class ProtocolIconRssImpl private static Logger logger = Logger.getLogger(ProtocolIconRssImpl.class); + private static ResourceManagementService resourcesService; + /** * A hash table containing the protocol icon in different sizes. */ @@ -87,8 +85,7 @@ public class ProtocolIconRssImpl */ public static byte[] loadIcon(String imagePath) { - InputStream is = ProtocolIconRssImpl.class - .getClassLoader().getResourceAsStream(imagePath); + InputStream is = getResources().getImageInputStreamForPath(imagePath); byte[] icon = null; try { @@ -99,4 +96,21 @@ public class ProtocolIconRssImpl } return icon; } + + public static ResourceManagementService getResources() + { + if (resourcesService == null) + { + ServiceReference serviceReference = RssActivator.bundleContext + .getServiceReference(ResourceManagementService.class.getName()); + + if(serviceReference == null) + return null; + + resourcesService = (ResourceManagementService)RssActivator.bundleContext + .getService(serviceReference); + } + + return resourcesService; + } } diff --git a/src/net/java/sip/communicator/impl/protocol/rss/RssActivator.java b/src/net/java/sip/communicator/impl/protocol/rss/RssActivator.java index 2c9a391..77b1bcf 100644 --- a/src/net/java/sip/communicator/impl/protocol/rss/RssActivator.java +++ b/src/net/java/sip/communicator/impl/protocol/rss/RssActivator.java @@ -39,7 +39,7 @@ public class RssActivator /** * The currently valid bundle context. */ - private static BundleContext bundleContext = null; + static BundleContext bundleContext = null; /** diff --git a/src/net/java/sip/communicator/impl/protocol/rss/RssStatusEnum.java b/src/net/java/sip/communicator/impl/protocol/rss/RssStatusEnum.java index 263241a..e374345 100644 --- a/src/net/java/sip/communicator/impl/protocol/rss/RssStatusEnum.java +++ b/src/net/java/sip/communicator/impl/protocol/rss/RssStatusEnum.java @@ -85,20 +85,7 @@ public class RssStatusEnum */ public static byte[] loadIcon(String imagePath) { - InputStream is = RssStatusEnum.class.getClassLoader() - .getResourceAsStream(imagePath); - - byte[] icon = null; - try - { - icon = new byte[is.available()]; - is.read(icon); - } - catch (IOException exc) - { - logger.error("Failed to load icon: " + imagePath, exc); - } - return icon; + return ProtocolIconRssImpl.loadIcon(imagePath); } } diff --git a/src/net/java/sip/communicator/impl/protocol/rss/rss.provider.manifest.mf b/src/net/java/sip/communicator/impl/protocol/rss/rss.provider.manifest.mf index e1c5bf6..baebfc5 100644 --- a/src/net/java/sip/communicator/impl/protocol/rss/rss.provider.manifest.mf +++ b/src/net/java/sip/communicator/impl/protocol/rss/rss.provider.manifest.mf @@ -11,6 +11,7 @@ Import-Package: org.osgi.framework, javax.xml.parsers, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.configuration.event, + net.java.sip.communicator.service.resources, net.java.sip.communicator.util, net.java.sip.communicator.service.protocol, net.java.sip.communicator.service.protocol.event, |