aboutsummaryrefslogtreecommitdiffstats
path: root/src/net/java/sip/communicator/impl/protocol/rss
diff options
context:
space:
mode:
authorDamian Minkov <damencho@jitsi.org>2008-07-14 16:29:25 +0000
committerDamian Minkov <damencho@jitsi.org>2008-07-14 16:29:25 +0000
commit795fac7d71f64c1cf8db64ed1a896633ecc57a46 (patch)
treeea00e453c6721ae4c620aae18963dc91462c0165 /src/net/java/sip/communicator/impl/protocol/rss
parent4922ad2ddd75f8b35dc369536ddcbe81ccf7a05e (diff)
downloadjitsi-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')
-rw-r--r--src/net/java/sip/communicator/impl/protocol/rss/ProtocolIconRssImpl.java30
-rw-r--r--src/net/java/sip/communicator/impl/protocol/rss/RssActivator.java2
-rw-r--r--src/net/java/sip/communicator/impl/protocol/rss/RssStatusEnum.java15
-rw-r--r--src/net/java/sip/communicator/impl/protocol/rss/rss.provider.manifest.mf1
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,