From df307442b5dd7fbd1d04f4c9f6731982b27f11ea Mon Sep 17 00:00:00 2001 From: Derek DeMoro Date: Tue, 25 Sep 2007 16:33:15 +0000 Subject: [PATCH] Updating vcard handling. git-svn-id: http://svn.igniterealtime.org/svn/repos/spark/trunk@9212 b35dd754-fafc-0310-a699-88a17e54d16e --- .../jivesoftware/spark/ui/ContactItem.java | 3 ++- .../plugin/language/LanguagePlugin.java | 18 +++++++++++------- .../sparkimpl/profile/VCardManager.java | 19 +++++++++++++++++++ 3 files changed, 32 insertions(+), 8 deletions(-) diff --git a/src/java/org/jivesoftware/spark/ui/ContactItem.java b/src/java/org/jivesoftware/spark/ui/ContactItem.java index 2c07c03a..2d04d9d2 100644 --- a/src/java/org/jivesoftware/spark/ui/ContactItem.java +++ b/src/java/org/jivesoftware/spark/ui/ContactItem.java @@ -26,6 +26,7 @@ import org.jivesoftware.spark.util.ModelUtil; import org.jivesoftware.spark.util.log.Log; import org.jivesoftware.sparkimpl.settings.local.LocalPreferences; import org.jivesoftware.sparkimpl.settings.local.SettingsManager; +import org.jivesoftware.sparkimpl.profile.VCardManager; import javax.swing.Icon; import javax.swing.ImageIcon; @@ -291,7 +292,7 @@ public class ContactItem extends JPanel { } } - return null; + return SparkManager.getVCardManager().getAvatarURL(getJID()); } /** diff --git a/src/java/org/jivesoftware/sparkimpl/plugin/language/LanguagePlugin.java b/src/java/org/jivesoftware/sparkimpl/plugin/language/LanguagePlugin.java index 19554770..82f0a982 100644 --- a/src/java/org/jivesoftware/sparkimpl/plugin/language/LanguagePlugin.java +++ b/src/java/org/jivesoftware/sparkimpl/plugin/language/LanguagePlugin.java @@ -11,17 +11,12 @@ package org.jivesoftware.sparkimpl.plugin.language; import org.jivesoftware.resource.Res; import org.jivesoftware.spark.SparkManager; import org.jivesoftware.spark.plugin.Plugin; -import org.jivesoftware.spark.util.URLFileSystem; import org.jivesoftware.spark.util.log.Log; import org.jivesoftware.sparkimpl.settings.local.LocalPreferences; import org.jivesoftware.sparkimpl.settings.local.SettingsManager; -import javax.swing.AbstractAction; -import javax.swing.Action; -import javax.swing.JMenu; -import javax.swing.JOptionPane; - import java.awt.event.ActionEvent; +import java.io.File; import java.net.URL; import java.net.URLDecoder; import java.util.Enumeration; @@ -29,7 +24,11 @@ import java.util.Locale; import java.util.jar.JarEntry; import java.util.jar.JarFile; import java.util.zip.ZipFile; -import java.io.File; + +import javax.swing.AbstractAction; +import javax.swing.Action; +import javax.swing.JMenu; +import javax.swing.JOptionPane; /** * Allows for changing of default languages within Spark. @@ -51,6 +50,11 @@ public class LanguagePlugin implements Plugin { // Load files URL sparkJar = getClass().getClassLoader().getResource("spark.jar"); + if (sparkJar == null) { + // Do not initialize + return; + } + String url = URLDecoder.decode(sparkJar.getPath()); try { diff --git a/src/java/org/jivesoftware/sparkimpl/profile/VCardManager.java b/src/java/org/jivesoftware/sparkimpl/profile/VCardManager.java index 1774fea2..235d299f 100644 --- a/src/java/org/jivesoftware/sparkimpl/profile/VCardManager.java +++ b/src/java/org/jivesoftware/sparkimpl/profile/VCardManager.java @@ -573,6 +573,25 @@ public class VCardManager { this.personalVCard = vcard; } + public URL getAvatarURL(String jid) { + VCard vcard = getVCard(jid, true); + if (vcard != null) { + String hash = vcard.getAvatarHash(); + if(!ModelUtil.hasLength(hash)){ + return null; + } + + final File avatarFile = new File(contactsDir, hash); + try { + return avatarFile.toURL(); + } + catch (MalformedURLException e) { + Log.error(e); + } + } + return null; + } + /** * Persist vCard information out for caching. *