From 641158db881223701cd90124c744dfb292a7124e Mon Sep 17 00:00:00 2001 From: Yana Stamcheva Date: Mon, 13 Sep 2010 15:21:35 +0000 Subject: [PATCH] Resolved duplicate import of json library. Fixed smiley source dependency to ui implementation. Fixed ReplacementService bundled in each implementation. --- build.xml | 65 +++---- lib/felix.client.run.properties | 4 +- .../communicator/impl/gui/GuiActivator.java | 21 +++ .../gui/main/chat/SmileysSelectorBox.java | 27 ++- .../impl/gui/swing.ui.manifest.mf | 1 + .../impl/gui/utils/ImageLoader.java | 173 ------------------ .../bliptv/bliptv.source.manifest.mf | 6 +- .../ReplacementServiceDailymotionImpl.java | 1 - .../dailymotion.source.manifest.mf | 5 +- .../directimage.source.manifest.mf | 5 +- .../flickr/flickr.source.manifest.mf | 6 +- .../replacement/hulu/hulu.source.manifest.mf | 6 +- .../metacafe/metacafe.source.manifest.mf | 5 +- .../smiley/ReplacementServiceSmileyImpl.java | 23 ++- .../impl/replacement/smiley/Resources.java | 118 ++++++++++++ .../replacement/smiley/SmileyActivator.java | 9 +- .../smiley/SmileyImpl.java} | 48 ++--- .../smiley/smiley.source.manifest.mf | 4 +- .../twitpic/twitpic.source.manifest.mf | 5 +- .../vbox7/vbox7.source.manifest.mf | 5 +- .../viddler/viddler.source.manifest.mf | 3 +- .../vimeo/vimeo.source.manifest.mf | 6 +- .../youtube/youtube.source.manifest.mf | 6 +- .../impl/resources/util/SkinJarBuilder.java | 1 - .../sip2sipaccregwizz.manifest.mf | 3 +- .../replacement/ReplacementService.java | 4 +- .../replacement/replacement.manifest.mf | 7 + .../service/replacement/smilies/Smiley.java | 49 +++++ .../smilies/SmiliesReplacementService.java | 25 +++ 29 files changed, 348 insertions(+), 293 deletions(-) create mode 100644 src/net/java/sip/communicator/impl/replacement/smiley/Resources.java rename src/net/java/sip/communicator/impl/{gui/utils/Smiley.java => replacement/smiley/SmileyImpl.java} (70%) create mode 100644 src/net/java/sip/communicator/service/replacement/replacement.manifest.mf create mode 100644 src/net/java/sip/communicator/service/replacement/smilies/Smiley.java create mode 100644 src/net/java/sip/communicator/service/replacement/smilies/SmiliesReplacementService.java diff --git a/build.xml b/build.xml index 45d2b2539..ccabe78f9 100644 --- a/build.xml +++ b/build.xml @@ -922,15 +922,15 @@ bundle-dict,bundle-plugin-dictaccregwizz, bundle-plugin-simpleaccreg,bundle-plugin-generalconfig, bundle-plugin-googletalkaccregwizz,bundle-argdelegation-service, - bundle-argdelegation,bundle-zrtp4j, + bundle-argdelegation,bundle-zrtp4j,bundle-json, bundle-filehistory,bundle-metahistory,bundle-metahistory-slick, bundle-plugin-facebookaccregwizz, bundle-bouncycastle,bundle-plugin-otr,bundle-plugin-iptelaccregwizz, bundle-contactsource,bundle-plugin-reconnect,bundle-plugin-securityconfig, bundle-plugin-advancedconfig,bundle-plugin-sip2sipaccregwizz, bundle-credentialsstorage,bundle-credentialsstorage-slick, - bundle-youtube,bundle-dailymotion,bundle-smiley,bundle-vimeo, - bundle-vbox7,bundle-metacafe,bundle-flickr,bundle-hulu, + bundle-replacement,bundle-youtube,bundle-dailymotion,bundle-smiley, + bundle-vimeo,bundle-vbox7,bundle-metacafe,bundle-flickr,bundle-hulu, bundle-twitpic,bundle-directimage,bundle-bliptv,bundle-viddler, bundle-plugin-chatconfig"/> @@ -1619,7 +1619,6 @@ javax.swing.event, javax.swing.border"/> manifest="${src}/net/java/sip/communicator/plugin/sip2sipaccregwizz/sip2sipaccregwizz.manifest.mf"> - @@ -2256,6 +2255,21 @@ org.apache.http.util"/> + + + + + + + + + + + + + + + + + + + + + + - - @@ -2385,8 +2406,6 @@ org.apache.http.util"/> manifest="${src}/net/java/sip/communicator/impl/replacement/dailymotion/dailymotion.source.manifest.mf"> - @@ -2396,12 +2415,6 @@ org.apache.http.util"/> manifest="${src}/net/java/sip/communicator/impl/replacement/smiley/smiley.source.manifest.mf"> - - - @@ -2411,9 +2424,6 @@ org.apache.http.util"/> manifest="${src}/net/java/sip/communicator/impl/replacement/vimeo/vimeo.source.manifest.mf"> - - @@ -2423,8 +2433,6 @@ org.apache.http.util"/> manifest="${src}/net/java/sip/communicator/impl/replacement/vbox7/vbox7.source.manifest.mf"> - @@ -2434,8 +2442,6 @@ org.apache.http.util"/> manifest="${src}/net/java/sip/communicator/impl/replacement/metacafe/metacafe.source.manifest.mf"> - @@ -2445,9 +2451,6 @@ org.apache.http.util"/> manifest="${src}/net/java/sip/communicator/impl/replacement/flickr/flickr.source.manifest.mf"> - - @@ -2457,9 +2460,6 @@ org.apache.http.util"/> manifest="${src}/net/java/sip/communicator/impl/replacement/hulu/hulu.source.manifest.mf"> - - @@ -2469,8 +2469,6 @@ org.apache.http.util"/> manifest="${src}/net/java/sip/communicator/impl/replacement/twitpic/twitpic.source.manifest.mf"> - @@ -2480,8 +2478,6 @@ org.apache.http.util"/> manifest="${src}/net/java/sip/communicator/impl/replacement/directimage/directimage.source.manifest.mf"> - @@ -2491,9 +2487,6 @@ org.apache.http.util"/> manifest="${src}/net/java/sip/communicator/impl/replacement/bliptv/bliptv.source.manifest.mf"> - - @@ -2503,8 +2496,6 @@ org.apache.http.util"/> manifest="${src}/net/java/sip/communicator/impl/replacement/viddler/viddler.source.manifest.mf"> - diff --git a/lib/felix.client.run.properties b/lib/felix.client.run.properties index 4e2e0f207..81a6ddc3b 100644 --- a/lib/felix.client.run.properties +++ b/lib/felix.client.run.properties @@ -104,7 +104,9 @@ felix.auto.start.66= \ reference:file:sc-bundles/swing-ui.jar \ reference:file:sc-bundles/updatechecker.jar \ reference:file:sc-bundles/swingnotification.jar \ - reference:file:sc-bundles/osdependent.jar + reference:file:sc-bundles/osdependent.jar \ + reference:file:sc-bundles/json.jar \ + reference:file:sc-bundles/replacement.jar felix.auto.start.67= \ reference:file:sc-bundles/pluginmanager.jar \ diff --git a/src/net/java/sip/communicator/impl/gui/GuiActivator.java b/src/net/java/sip/communicator/impl/gui/GuiActivator.java index c2ce4eacb..b32ad692e 100644 --- a/src/net/java/sip/communicator/impl/gui/GuiActivator.java +++ b/src/net/java/sip/communicator/impl/gui/GuiActivator.java @@ -26,6 +26,7 @@ import net.java.sip.communicator.service.notification.*; import net.java.sip.communicator.service.protocol.*; import net.java.sip.communicator.service.replacement.*; +import net.java.sip.communicator.service.replacement.smilies.*; import net.java.sip.communicator.service.resources.*; import net.java.sip.communicator.service.shutdown.*; import net.java.sip.communicator.service.systray.*; @@ -77,6 +78,8 @@ public class GuiActivator implements BundleActivator private static MediaService mediaService; + private static SmiliesReplacementService smiliesService; + private static AccountManager accountManager; private static List contactSources; @@ -655,6 +658,24 @@ public static Map getReplacementSources() return replacementSourcesMap; } + /** + * Returns the SmiliesReplacementService obtained from the bundle + * context. + * + * @return the SmiliesReplacementService implementation obtained + * from the bundle context + */ + public static SmiliesReplacementService getSmiliesReplacementSource() + { + if (smiliesService == null) + { + smiliesService + = ServiceUtils.getService(bundleContext, + SmiliesReplacementService.class); + } + return smiliesService; + } + /** * Sets the contactList component currently used to show the * contact list. diff --git a/src/net/java/sip/communicator/impl/gui/main/chat/SmileysSelectorBox.java b/src/net/java/sip/communicator/impl/gui/main/chat/SmileysSelectorBox.java index 179ae8561..048e51b86 100644 --- a/src/net/java/sip/communicator/impl/gui/main/chat/SmileysSelectorBox.java +++ b/src/net/java/sip/communicator/impl/gui/main/chat/SmileysSelectorBox.java @@ -15,6 +15,7 @@ import net.java.sip.communicator.impl.gui.*; import net.java.sip.communicator.impl.gui.lookandfeel.*; import net.java.sip.communicator.impl.gui.utils.*; +import net.java.sip.communicator.service.replacement.smilies.*; import net.java.sip.communicator.util.swing.*; /** @@ -30,11 +31,26 @@ public class SmileysSelectorBox MouseListener, PopupMenuListener { + /** + * The chat write panel. + */ private final ChatWritePanel chatWritePanel; + /** + * The smiley text label. + */ private final JLabel smileyTextLabel = new JLabel(); + + /** + * The smiley description label. + */ private final JLabel smileyDescriptionLabel = new JLabel(); + /** + * The smilies service. + */ + private final SmiliesReplacementService smiliesService; + /** * Initializes a new SmileysSelectorBox instance. * @@ -62,6 +78,8 @@ public SmileysSelectorBox(ChatWritePanel writePanel) * they are not always necessary. */ popupMenu.addPopupMenuListener(this); + + this.smiliesService = GuiActivator.getSmiliesReplacementSource(); } /** @@ -139,7 +157,8 @@ private static class SmileyMenuItem */ public SmileyMenuItem(Smiley smiley) { - super(new ImageIcon(ImageLoader.getImage(smiley.getImageID()))); + super(GuiActivator.getResources().getImage(smiley.getImageID())); + this.setUI(new SIPCommMenuItemUI()); this.smiley = smiley; @@ -157,7 +176,7 @@ public void mouseEntered(MouseEvent e) Smiley smiley = smileyItem.smiley; ImageIcon imageIcon - = GuiActivator.getResources().getImage(smiley.getImageID().getId()); + = GuiActivator.getResources().getImage(smiley.getImageID()); smileyItem.setIcon(imageIcon); smileyDescriptionLabel.setText(smiley.getDescription()); @@ -191,7 +210,7 @@ public void mouseReleased(MouseEvent e) {} private void clearMouseOverEffects(SmileyMenuItem smileyItem) { ImageIcon imageIcon = - new ImageIcon(ImageLoader.getImage(smileyItem.smiley.getImageID())); + GuiActivator.getResources().getImage(smileyItem.smiley.getImageID()); smileyItem.setIcon(imageIcon); smileyTextLabel.setText(""); @@ -227,7 +246,7 @@ public void popupMenuWillBecomeVisible(PopupMenuEvent e) if (popupMenu.getComponentIndex(smileyTextLabel) != -1) return; - Collection imageList = ImageLoader.getDefaultSmileyPack(); + Collection imageList = smiliesService.getSmiliesPack(); Dimension gridDimensions = this.calculateGridDimensions(imageList.size()); diff --git a/src/net/java/sip/communicator/impl/gui/swing.ui.manifest.mf b/src/net/java/sip/communicator/impl/gui/swing.ui.manifest.mf index b516bdf51..c6f872741 100644 --- a/src/net/java/sip/communicator/impl/gui/swing.ui.manifest.mf +++ b/src/net/java/sip/communicator/impl/gui/swing.ui.manifest.mf @@ -34,6 +34,7 @@ Import-Package: org.osgi.framework, net.java.sip.communicator.service.neomedia.device, net.java.sip.communicator.service.contactsource, net.java.sip.communicator.service.replacement, + net.java.sip.communicator.service.replacement.smilies, net.java.sip.communicator.util, net.java.sip.communicator.util.swing, net.java.sip.communicator.util.swing.border, diff --git a/src/net/java/sip/communicator/impl/gui/utils/ImageLoader.java b/src/net/java/sip/communicator/impl/gui/utils/ImageLoader.java index 0842e5047..721e157a2 100644 --- a/src/net/java/sip/communicator/impl/gui/utils/ImageLoader.java +++ b/src/net/java/sip/communicator/impl/gui/utils/ImageLoader.java @@ -1226,179 +1226,6 @@ public class ImageLoader public static final ImageID HEADPHONE = new ImageID("service.gui.soundlevel.HEADPHONE"); - /* - * ===================================================================== - * ---------------------------- SMILIES -------------------------------- - * ===================================================================== - */ - - public static final ImageID SMILEY1 - = new ImageID("service.gui.smileys.SMILEY1"); - - public static final ImageID SMILEY2 - = new ImageID("service.gui.smileys.SMILEY2"); - - public static final ImageID SMILEY3 - = new ImageID("service.gui.smileys.SMILEY3"); - - public static final ImageID SMILEY4 - = new ImageID("service.gui.smileys.SMILEY4"); - - public static final ImageID SMILEY5 - = new ImageID("service.gui.smileys.SMILEY5"); - - public static final ImageID SMILEY6 - = new ImageID("service.gui.smileys.SMILEY6"); - - public static final ImageID SMILEY7 - = new ImageID("service.gui.smileys.SMILEY7"); - - public static final ImageID SMILEY8 - = new ImageID("service.gui.smileys.SMILEY8"); - - public static final ImageID SMILEY9 - = new ImageID("service.gui.smileys.SMILEY9"); - - public static final ImageID SMILEY10 - = new ImageID("service.gui.smileys.SMILEY10"); - - public static final ImageID SMILEY11 - = new ImageID("service.gui.smileys.SMILEY11"); - - public static final ImageID SMILEY12 - = new ImageID("service.gui.smileys.SMILEY12"); - - public static final ImageID SMILEY13 - = new ImageID("service.gui.smileys.SMILEY13"); - - public static final ImageID SMILEY14 - = new ImageID("service.gui.smileys.SMILEY14"); - - public static final ImageID SMILEY15 - = new ImageID("service.gui.smileys.SMILEY15"); - - public static final ImageID SMILEY16 - = new ImageID("service.gui.smileys.SMILEY16"); - - public static final ImageID SMILEY17 - = new ImageID("service.gui.smileys.SMILEY17"); - - public static final ImageID SMILEY18 - = new ImageID("service.gui.smileys.SMILEY18"); - - public static final ImageID SMILEY19 - = new ImageID("service.gui.smileys.SMILEY19"); - - public static final ImageID SMILEY20 - = new ImageID("service.gui.smileys.SMILEY20"); - - /** - * The default pack of Smileys. - */ - private static Collection defaultSmileyPack; - - /** - * Load default smileys pack. - * - * @return the ArrayList of all smileys. - */ - public static Collection getDefaultSmileyPack() - { - - /* - * In order to not use a separate sync root for defaultSmileyPack, use - * one of the constants it contains. - */ - synchronized (SMILEY1) - { - if (defaultSmileyPack != null) - return defaultSmileyPack; - - List defaultSmileyList = new ArrayList(); - - defaultSmileyList.add(new Smiley(SMILEY1, - new String[] {":((", ":-((", ":((", ":(", ":-(", "(sad)"}, - "Sad")); - - defaultSmileyList.add(new Smiley(SMILEY2, - new String[] {"(angel)" }, "Angel")); - - defaultSmileyList.add(new Smiley(SMILEY3, - new String[] {":-*", ":*", "(kiss)"}, "Kiss")); - - defaultSmileyList.add(new Smiley(SMILEY4, - new String[] {":-0", "(shocked)"}, "Shocked")); - - defaultSmileyList.add(new Smiley(SMILEY5, - new String[] { ";-((", ";((", ";-(", ";(", ":'(", ":'-(", - ":~-(", ":~(", "(upset)" }, "Upset")); - - defaultSmileyList.add(new Smiley(SMILEY6, - new String[] {"(L)" , "(l)", "(H)", "(h)"}, "In love")); - - defaultSmileyList.add(new Smiley(SMILEY7, - new String[] {"(blush)"}, "Blushing")); - - defaultSmileyList.add(new Smiley(SMILEY8, - new String[] {":-P", ":P", ":-p", ":p" }, "Tongue out")); - - defaultSmileyList.add(new Smiley(SMILEY9, - new String[] {":-))", ":))", ";-))", ";))", "(lol)"}, - "Laughing")); - - defaultSmileyList.add(new Smiley(SMILEY10, - new String[] {"(y)", "(Y)", "(ok)"}, "Ok")); - - defaultSmileyList.add(new Smiley(SMILEY11, - new String[] {";-)", ";)", ":-)", ":)"}, "Smile")); - - defaultSmileyList.add(new Smiley(SMILEY12, - new String[] {"(sick)"}, "Sick")); - - defaultSmileyList.add(new Smiley(SMILEY13, - new String[] {"(n)", "(N)" }, "No")); - - defaultSmileyList.add(new Smiley(SMILEY14, - new String[] {"(chuckle)" }, "Chuckle")); - - defaultSmileyList.add(new Smiley(SMILEY15, - new String[] {"(wave)" }, "Waving")); - - defaultSmileyList.add(new Smiley(SMILEY16, - new String[] {"(clap)"}, "Clapping")); - - defaultSmileyList.add(new Smiley(SMILEY17, - new String[] {"(angry)"}, "Angry")); - - defaultSmileyList.add(new Smiley(SMILEY18, - new String[] {"(bomb)"}, "Explosing")); - - defaultSmileyList.add(new Smiley(SMILEY19, - new String[] {"(search)"}, "Searching")); - - defaultSmileyList.add(new Smiley(SMILEY20, - new String[] {"(oops)"}, "Oops")); - - defaultSmileyPack - = Collections.unmodifiableCollection(defaultSmileyList); - return defaultSmileyPack; - } - } - - /** - * Returns a Smiley object for a given smiley string. - * @param smileyString One of :-), ;-), etc. - * @return A Smiley object for a given smiley string. - */ - public static Smiley getSmiley(String smileyString) - { - for (Smiley smiley : getDefaultSmileyPack()) - for (String srcString : smiley.getSmileyStrings()) - if (srcString.equals(smileyString)) - return smiley; - return null; - } - /** * Loads an image from a given image identifier. * diff --git a/src/net/java/sip/communicator/impl/replacement/bliptv/bliptv.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/bliptv/bliptv.source.manifest.mf index dddb7da45..bb90e36ad 100644 --- a/src/net/java/sip/communicator/impl/replacement/bliptv/bliptv.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/bliptv/bliptv.source.manifest.mf @@ -4,10 +4,10 @@ Bundle-Description: A bundle providing processing for Blip.tv previews. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, net.java.sip.communicator.util, - net.java.sip.communicator.service.replacement, - org.apache.http \ No newline at end of file + org.apache.http, + org.json \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/dailymotion/ReplacementServiceDailymotionImpl.java b/src/net/java/sip/communicator/impl/replacement/dailymotion/ReplacementServiceDailymotionImpl.java index 11a8ba7e3..d2cfc6b3a 100644 --- a/src/net/java/sip/communicator/impl/replacement/dailymotion/ReplacementServiceDailymotionImpl.java +++ b/src/net/java/sip/communicator/impl/replacement/dailymotion/ReplacementServiceDailymotionImpl.java @@ -59,7 +59,6 @@ public ReplacementServiceDailymotionImpl() */ public String getReplacedMessage(final String chatString) { - final Pattern p = Pattern.compile(DAILYMOTION_PATTERN, Pattern.CASE_INSENSITIVE | Pattern.DOTALL); diff --git a/src/net/java/sip/communicator/impl/replacement/dailymotion/dailymotion.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/dailymotion/dailymotion.source.manifest.mf index e27a162fb..dff6466d7 100644 --- a/src/net/java/sip/communicator/impl/replacement/dailymotion/dailymotion.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/dailymotion/dailymotion.source.manifest.mf @@ -4,11 +4,10 @@ Bundle-Description: A bundle providing replacement for dailymotion links. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, net.java.sip.communicator.service.configuration.event, net.java.sip.communicator.util, - net.java.sip.communicator.service.version, - net.java.sip.communicator.service.replacement \ No newline at end of file + net.java.sip.communicator.service.version \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/directimage/directimage.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/directimage/directimage.source.manifest.mf index 100de7b81..fcfcc3ae8 100644 --- a/src/net/java/sip/communicator/impl/replacement/directimage/directimage.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/directimage/directimage.source.manifest.mf @@ -4,11 +4,10 @@ Bundle-Description: A bundle providing replacement for direct image links. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, net.java.sip.communicator.service.configuration.event, net.java.sip.communicator.util, - net.java.sip.communicator.service.version, - net.java.sip.communicator.service.replacement \ No newline at end of file + net.java.sip.communicator.service.version \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/flickr/flickr.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/flickr/flickr.source.manifest.mf index b3b3d3ad5..0ea5ee16a 100644 --- a/src/net/java/sip/communicator/impl/replacement/flickr/flickr.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/flickr/flickr.source.manifest.mf @@ -4,10 +4,10 @@ Bundle-Description: A bundle providing processing for flickr previews. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, net.java.sip.communicator.util, - net.java.sip.communicator.service.replacement, - org.apache.http \ No newline at end of file + org.apache.http, + org.json \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/hulu/hulu.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/hulu/hulu.source.manifest.mf index d3c92fb89..25202a5cc 100644 --- a/src/net/java/sip/communicator/impl/replacement/hulu/hulu.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/hulu/hulu.source.manifest.mf @@ -4,10 +4,10 @@ Bundle-Description: A bundle providing processing for Hulu previews. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, net.java.sip.communicator.util, - net.java.sip.communicator.service.replacement, - org.apache.http \ No newline at end of file + org.apache.http, + org.json \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/metacafe/metacafe.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/metacafe/metacafe.source.manifest.mf index fd5d591ec..651091e0c 100644 --- a/src/net/java/sip/communicator/impl/replacement/metacafe/metacafe.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/metacafe/metacafe.source.manifest.mf @@ -4,9 +4,8 @@ Bundle-Description: A bundle providing processing for metacafe previews. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, - net.java.sip.communicator.util, - net.java.sip.communicator.service.replacement \ No newline at end of file + net.java.sip.communicator.util \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/smiley/ReplacementServiceSmileyImpl.java b/src/net/java/sip/communicator/impl/replacement/smiley/ReplacementServiceSmileyImpl.java index 024b34b7b..6863954df 100644 --- a/src/net/java/sip/communicator/impl/replacement/smiley/ReplacementServiceSmileyImpl.java +++ b/src/net/java/sip/communicator/impl/replacement/smiley/ReplacementServiceSmileyImpl.java @@ -8,8 +8,8 @@ import java.util.*; import java.util.regex.*; -import net.java.sip.communicator.impl.gui.utils.*; import net.java.sip.communicator.service.replacement.*; +import net.java.sip.communicator.service.replacement.smilies.*; import net.java.sip.communicator.util.*; /** @@ -20,7 +20,7 @@ * @author Purvesh Sahoo */ public class ReplacementServiceSmileyImpl - implements ReplacementService + implements SmiliesReplacementService { /** * The compiled Pattern which matches {@link #smileyStrings}. @@ -61,9 +61,9 @@ public String getReplacedMessage(final String chatString) { String startPlainTextTag = START_PLAINTEXT_TAG; String endPlainTextTag = END_PLAINTEXT_TAG; - Collection smileys = ImageLoader.getDefaultSmileyPack(); + Collection smilies = Resources.getDefaultSmileyPack(); - Matcher m = getSmileyPattern(smileys).matcher(chatString); + Matcher m = getSmileyPattern(smilies).matcher(chatString); StringBuffer msgBuffer = new StringBuffer(); int prevEnd = 0; @@ -79,8 +79,8 @@ public String getReplacedMessage(final String chatString) msgBuffer.append(" smileys) return smileyPattern; } } - + /** * Returns the source name * @@ -172,4 +172,13 @@ public String getSourceName() { return SMILEY_SOURCE; } + + /** + * Returns the smileys pack to use in the user interface. + * @return a collection of all smileys available + */ + public Collection getSmiliesPack() + { + return Resources.getDefaultSmileyPack(); + } } \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/smiley/Resources.java b/src/net/java/sip/communicator/impl/replacement/smiley/Resources.java new file mode 100644 index 000000000..9e2753f99 --- /dev/null +++ b/src/net/java/sip/communicator/impl/replacement/smiley/Resources.java @@ -0,0 +1,118 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. See terms of license at gnu.org. + */ +package net.java.sip.communicator.impl.replacement.smiley; + +import java.util.*; + +import net.java.sip.communicator.service.replacement.smilies.*; + +/** + * The Resources is used to access smiley icons. + * + * @author Yana Stamcheva + */ +public class Resources +{ + /** + * The default pack of Smileys. + */ + private static Collection defaultSmileyPack; + + /** + * Load default smileys pack. + * + * @return the ArrayList of all smileys. + */ + public static Collection getDefaultSmileyPack() + { + if (defaultSmileyPack != null) + return defaultSmileyPack; + + List defaultSmileyList = new ArrayList(); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY1", + new String[] {":((", ":-((", ":((", ":(", ":-(", "(sad)"}, + "Sad")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY2", + new String[] {"(angel)" }, "Angel")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY3", + new String[] {":-*", ":*", "(kiss)"}, "Kiss")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY4", + new String[] {":-0", "(shocked)"}, "Shocked")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY5", + new String[] { ";-((", ";((", ";-(", ";(", ":'(", ":'-(", + ":~-(", ":~(", "(upset)" }, "Upset")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY6", + new String[] {"(L)" , "(l)", "(H)", "(h)"}, "In love")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY7", + new String[] {"(blush)"}, "Blushing")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY8", + new String[] {":-P", ":P", ":-p", ":p" }, "Tongue out")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY9", + new String[] {":-))", ":))", ";-))", ";))", "(lol)"}, + "Laughing")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY10", + new String[] {"(y)", "(Y)", "(ok)"}, "Ok")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY11", + new String[] {";-)", ";)", ":-)", ":)"}, "Smile")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY12", + new String[] {"(sick)"}, "Sick")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY13", + new String[] {"(n)", "(N)" }, "No")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY14", + new String[] {"(chuckle)" }, "Chuckle")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY15", + new String[] {"(wave)" }, "Waving")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY16", + new String[] {"(clap)"}, "Clapping")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY17", + new String[] {"(angry)"}, "Angry")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY18", + new String[] {"(bomb)"}, "Explosing")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY19", + new String[] {"(search)"}, "Searching")); + + defaultSmileyList.add(new SmileyImpl("service.gui.smileys.SMILEY20", + new String[] {"(oops)"}, "Oops")); + + defaultSmileyPack + = Collections.unmodifiableCollection(defaultSmileyList); + + return defaultSmileyPack; + } + + /** + * Returns a Smiley object for a given smiley string. + * @param smileyString One of :-), ;-), etc. + * @return A Smiley object for a given smiley string. + */ + public static Smiley getSmiley(String smileyString) + { + for (Smiley smiley : getDefaultSmileyPack()) + for (String srcString : smiley.getSmileyStrings()) + if (srcString.equals(smileyString)) + return smiley; + return null; + } +} diff --git a/src/net/java/sip/communicator/impl/replacement/smiley/SmileyActivator.java b/src/net/java/sip/communicator/impl/replacement/smiley/SmileyActivator.java index 4bbb77784..d5789c17e 100644 --- a/src/net/java/sip/communicator/impl/replacement/smiley/SmileyActivator.java +++ b/src/net/java/sip/communicator/impl/replacement/smiley/SmileyActivator.java @@ -9,6 +9,7 @@ import java.util.*; import net.java.sip.communicator.service.replacement.*; +import net.java.sip.communicator.service.replacement.smilies.*; import net.java.sip.communicator.service.resources.*; import net.java.sip.communicator.util.*; @@ -64,8 +65,12 @@ public void start(BundleContext context) throws Exception ReplacementServiceSmileyImpl.SMILEY_SOURCE); smileySource = new ReplacementServiceSmileyImpl(); - smileyServReg = - context.registerService(ReplacementService.class.getName(), + smileyServReg + = context.registerService(SmiliesReplacementService.class.getName(), + smileySource, hashtable); + + smileyServReg + = context.registerService(ReplacementService.class.getName(), smileySource, hashtable); logger.info("Smiley source implementation [STARTED]."); diff --git a/src/net/java/sip/communicator/impl/gui/utils/Smiley.java b/src/net/java/sip/communicator/impl/replacement/smiley/SmileyImpl.java similarity index 70% rename from src/net/java/sip/communicator/impl/gui/utils/Smiley.java rename to src/net/java/sip/communicator/impl/replacement/smiley/SmileyImpl.java index 8a6601f98..d648ab827 100644 --- a/src/net/java/sip/communicator/impl/gui/utils/Smiley.java +++ b/src/net/java/sip/communicator/impl/replacement/smiley/SmileyImpl.java @@ -4,12 +4,12 @@ * Distributable under LGPL license. * See terms of license at gnu.org. */ -package net.java.sip.communicator.impl.gui.utils; +package net.java.sip.communicator.impl.replacement.smiley; import java.net.*; import java.util.*; -import net.java.sip.communicator.impl.gui.*; +import net.java.sip.communicator.service.replacement.smilies.*; import net.java.sip.communicator.service.resources.*; /** @@ -18,12 +18,22 @@ * @author Yana Stamcheva * @author Lubomir Marinov */ -public class Smiley +public class SmileyImpl + implements Smiley { + /** + * The description of the smiley + */ private final String description; - private final ImageID imageID; + /** + * The identifier of the smiley icon. + */ + private final String imageID; + /** + * The strings corresponding to this smiley, e.g. :), :-), etc. + */ private final List smileyStrings; /** @@ -34,7 +44,7 @@ public class Smiley * icon. * @param description the description of the smiley */ - public Smiley(ImageID imageID, String[] smileyStrings, String description) + public SmileyImpl(String imageID, String[] smileyStrings, String description) { this.imageID = imageID; this.smileyStrings @@ -76,9 +86,9 @@ public String getDefaultString() * Returns the identifier of the image corresponding to this smiley. * @return the identifier of the image corresponding to this smiley. */ - public ImageID getImageID() + public String getImageID() { - return this.imageID; + return imageID; } /** @@ -87,31 +97,11 @@ public ImageID getImageID() */ public String getImagePath() { - URL url - = GuiActivator.getResources() - .getImageURL(this.getImageID().getId()); - - if(url == null) - return null; - - return url.toString(); - } - - /** - * Returns the path of the image corresponding to this smiley. - * @param resourcesService The ResourceManagementService required to get the - * image URL. - * @return the path of the image corresponding to this smiley. - */ - public String getImagePath(ResourceManagementService resourcesService) - { - URL url - = resourcesService - .getImageURL(this.getImageID().getId()); + URL url = SmileyActivator.getResources().getImageURL(imageID); if(url == null) return null; return url.toString(); } -} +} \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/smiley/smiley.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/smiley/smiley.source.manifest.mf index 25b491b46..db1dc0645 100644 --- a/src/net/java/sip/communicator/impl/replacement/smiley/smiley.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/smiley/smiley.source.manifest.mf @@ -4,12 +4,12 @@ Bundle-Description: A bundle providing processing for smileys. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, + net.java.sip.communicator.service.replacement.smilies, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, net.java.sip.communicator.service.neomedia, net.java.sip.communicator.service.configuration.event, net.java.sip.communicator.util, - net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.gui \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/twitpic/twitpic.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/twitpic/twitpic.source.manifest.mf index d8a4cd97b..100b5246f 100644 --- a/src/net/java/sip/communicator/impl/replacement/twitpic/twitpic.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/twitpic/twitpic.source.manifest.mf @@ -4,9 +4,8 @@ Bundle-Description: A bundle providing processing for Twitpic previews. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, - net.java.sip.communicator.util, - net.java.sip.communicator.service.replacement \ No newline at end of file + net.java.sip.communicator.util \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/vbox7/vbox7.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/vbox7/vbox7.source.manifest.mf index 2bf7737d3..39ab30475 100644 --- a/src/net/java/sip/communicator/impl/replacement/vbox7/vbox7.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/vbox7/vbox7.source.manifest.mf @@ -4,9 +4,8 @@ Bundle-Description: A bundle providing processing for vbox7 previews. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, - net.java.sip.communicator.util, - net.java.sip.communicator.service.replacement \ No newline at end of file + net.java.sip.communicator.util \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/viddler/viddler.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/viddler/viddler.source.manifest.mf index ed053c282..732d2bb13 100644 --- a/src/net/java/sip/communicator/impl/replacement/viddler/viddler.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/viddler/viddler.source.manifest.mf @@ -4,10 +4,9 @@ Bundle-Description: A bundle providing processing for Viddler previews. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, net.java.sip.communicator.util, - net.java.sip.communicator.service.replacement, org.apache.http \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/vimeo/vimeo.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/vimeo/vimeo.source.manifest.mf index 52dfcdf30..4829910ee 100644 --- a/src/net/java/sip/communicator/impl/replacement/vimeo/vimeo.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/vimeo/vimeo.source.manifest.mf @@ -4,10 +4,10 @@ Bundle-Description: A bundle providing processing for vimeo previews. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, net.java.sip.communicator.util, - net.java.sip.communicator.service.replacement, - org.apache.http \ No newline at end of file + org.apache.http, + org.json \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/replacement/youtube/youtube.source.manifest.mf b/src/net/java/sip/communicator/impl/replacement/youtube/youtube.source.manifest.mf index 18b1d9063..871fb7bdf 100644 --- a/src/net/java/sip/communicator/impl/replacement/youtube/youtube.source.manifest.mf +++ b/src/net/java/sip/communicator/impl/replacement/youtube/youtube.source.manifest.mf @@ -4,11 +4,11 @@ Bundle-Description: A bundle providing replacement for youtube links. Bundle-Vendor: sip-communicator.org Bundle-Version: 1.0.0 System-Bundle: yes -Export-Package: net.java.sip.communicator.service.replacement Import-Package: org.osgi.framework, + net.java.sip.communicator.service.replacement, net.java.sip.communicator.service.configuration, net.java.sip.communicator.service.resources, net.java.sip.communicator.service.configuration.event, net.java.sip.communicator.util, - net.java.sip.communicator.service.replacement, - org.apache.http \ No newline at end of file + org.apache.http, + org.json \ No newline at end of file diff --git a/src/net/java/sip/communicator/impl/resources/util/SkinJarBuilder.java b/src/net/java/sip/communicator/impl/resources/util/SkinJarBuilder.java index a84e5ea41..6361ce25d 100644 --- a/src/net/java/sip/communicator/impl/resources/util/SkinJarBuilder.java +++ b/src/net/java/sip/communicator/impl/resources/util/SkinJarBuilder.java @@ -347,7 +347,6 @@ else if (f.getName().equals("styles")) styles = true; } } - } else { diff --git a/src/net/java/sip/communicator/plugin/sip2sipaccregwizz/sip2sipaccregwizz.manifest.mf b/src/net/java/sip/communicator/plugin/sip2sipaccregwizz/sip2sipaccregwizz.manifest.mf index a86ed131b..892db7369 100644 --- a/src/net/java/sip/communicator/plugin/sip2sipaccregwizz/sip2sipaccregwizz.manifest.mf +++ b/src/net/java/sip/communicator/plugin/sip2sipaccregwizz/sip2sipaccregwizz.manifest.mf @@ -24,7 +24,8 @@ Import-Package: org.osgi.framework, javax.naming.directory, javax.xml.parsers, org.w3c.dom, - org.xml.sax, + org.xml.sax, + org.json, javax.swing, javax.swing.event, javax.swing.table, diff --git a/src/net/java/sip/communicator/service/replacement/ReplacementService.java b/src/net/java/sip/communicator/service/replacement/ReplacementService.java index 716570fa1..847bac17b 100644 --- a/src/net/java/sip/communicator/service/replacement/ReplacementService.java +++ b/src/net/java/sip/communicator/service/replacement/ReplacementService.java @@ -5,8 +5,6 @@ */ package net.java.sip.communicator.service.replacement; -import java.util.*; - /** * A service used to provide substitution for any text in chat messages, like * smileys, video and image previews, etc. @@ -29,7 +27,7 @@ public interface ReplacementService * in case of no match. */ public String getReplacedMessage(String chatString); - + /** * Returns the name of the replacement source. * diff --git a/src/net/java/sip/communicator/service/replacement/replacement.manifest.mf b/src/net/java/sip/communicator/service/replacement/replacement.manifest.mf new file mode 100644 index 000000000..28053f13c --- /dev/null +++ b/src/net/java/sip/communicator/service/replacement/replacement.manifest.mf @@ -0,0 +1,7 @@ +Bundle-Name: Replacement Service +Bundle-Description: Replacement Service. +Bundle-Vendor: sip-communicator.org +Bundle-Version: 0.0.1 +System-Bundle: yes +Export-Package: net.java.sip.communicator.service.replacement, + net.java.sip.communicator.service.replacement.smilies \ No newline at end of file diff --git a/src/net/java/sip/communicator/service/replacement/smilies/Smiley.java b/src/net/java/sip/communicator/service/replacement/smilies/Smiley.java new file mode 100644 index 000000000..cd056f84e --- /dev/null +++ b/src/net/java/sip/communicator/service/replacement/smilies/Smiley.java @@ -0,0 +1,49 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.sip.communicator.service.replacement.smilies; + +import java.util.*; + +/** + * The Smiley interface used to represent a smiley + * + * @author Yana Stamcheva + */ +public interface Smiley +{ + /** + * Returns the description of this smiley. + * + * @return the description of this smiley. + */ + public String getDescription(); + + /** + * Returns the set of Strings corresponding to this smiley. + * @return the set of Strings corresponding to this smiley. + */ + public List getSmileyStrings(); + + /** + * Returns the default String corresponding for this smiley. For example + * ":-)". + * @return the default String corresponding for this smiley. + */ + public String getDefaultString(); + + /** + * Returns the identifier of the image corresponding to this smiley. + * @return the identifier of the image corresponding to this smiley. + */ + public String getImageID(); + + /** + * Returns the path of the image corresponding to this smiley. + * @return the path of the image corresponding to this smiley. + */ + public String getImagePath(); +} \ No newline at end of file diff --git a/src/net/java/sip/communicator/service/replacement/smilies/SmiliesReplacementService.java b/src/net/java/sip/communicator/service/replacement/smilies/SmiliesReplacementService.java new file mode 100644 index 000000000..be2be8f90 --- /dev/null +++ b/src/net/java/sip/communicator/service/replacement/smilies/SmiliesReplacementService.java @@ -0,0 +1,25 @@ +/* + * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. + * + * Distributable under LGPL license. + * See terms of license at gnu.org. + */ +package net.java.sip.communicator.service.replacement.smilies; + +import java.util.*; + +import net.java.sip.communicator.service.replacement.*; + +/** + * + * @author Yana Stamcheva + */ +public interface SmiliesReplacementService + extends ReplacementService +{ + /** + * Returns the smileys pack to use in the user interface. + * @return a collection of all smileys available + */ + public Collection getSmiliesPack(); +}