diff --git a/src/net/java/sip/communicator/impl/protocol/rss/ImageRetriever.java b/src/net/java/sip/communicator/impl/protocol/rss/ImageRetriever.java
index 182490596..3cc85b650 100644
--- a/src/net/java/sip/communicator/impl/protocol/rss/ImageRetriever.java
+++ b/src/net/java/sip/communicator/impl/protocol/rss/ImageRetriever.java
@@ -249,6 +249,7 @@ private String findFavIconFromSiteIndex(ContactRssImpl contact)
private byte[] getFavIconFromSiteRoot(ContactRssImpl contact)
{
Image selectedIcon;
+ URL location = null;
// we use these to get the best possible icon in case our favicon is a
// multi-page icon.
@@ -265,7 +266,7 @@ private byte[] getFavIconFromSiteRoot(ContactRssImpl contact)
{
URL feedLocation = new URL(contact.getRssFeedReader().getURL());
- URL location = new URL(feedLocation.getProtocol() + "://"
+ location = new URL(feedLocation.getProtocol() + "://"
+ feedLocation.getHost() + "/favicon.ico");
ICOFile favicon = new ICOFile(location);
@@ -323,7 +324,8 @@ private byte[] getFavIconFromSiteRoot(ContactRssImpl contact)
}
catch (Exception ex)
{
- logger.warn("Unknown error on favicon retrieval. " + ex, ex);
+ logger.warn("Unknown error on favicon retrieval. " + ex +
+ ". Error for location: " + location, ex);
logger.debug("", ex);
}
diff --git a/src/net/java/sip/communicator/impl/protocol/rss/OperationSetBasicInstantMessagingRssImpl.java b/src/net/java/sip/communicator/impl/protocol/rss/OperationSetBasicInstantMessagingRssImpl.java
index ba8bc5265..27cc5ad88 100644
--- a/src/net/java/sip/communicator/impl/protocol/rss/OperationSetBasicInstantMessagingRssImpl.java
+++ b/src/net/java/sip/communicator/impl/protocol/rss/OperationSetBasicInstantMessagingRssImpl.java
@@ -129,8 +129,8 @@ private void submitRssQuery(ContactRssImpl rssContact,
RssFeedReader rssFeed = rssContact.getRssFeedReader();
- //try
- //{
+ try
+ {
//we create the message containing the new items retrieved
news = rssFeed.getNewFeeds();
@@ -143,8 +143,8 @@ private void submitRssQuery(ContactRssImpl rssContact,
rssContact, RssStatusEnum.ONLINE);
}
- //}
- /*catch (FileNotFoundException ex)
+ }
+ catch (FileNotFoundException ex)
{
//RSS flow no longer exists - ask user to remove;
handleFileNotFoundException(rssContact, ex);
@@ -153,14 +153,14 @@ private void submitRssQuery(ContactRssImpl rssContact,
+ ex.getMessage());
logger.debug(ex);
return;
- }*/
- /*catch (OperationFailedException ex)
+ }
+ catch (OperationFailedException ex)
{
logger.error("Failed to retrieve RSS flow. Error was: "
+ ex.getMessage()
, ex);
return;
- }*/
+ }
if(news != null)
{
diff --git a/src/net/java/sip/communicator/impl/protocol/rss/RssFeedReader.java b/src/net/java/sip/communicator/impl/protocol/rss/RssFeedReader.java
index 6e46d5ea4..5c6d947af 100644
--- a/src/net/java/sip/communicator/impl/protocol/rss/RssFeedReader.java
+++ b/src/net/java/sip/communicator/impl/protocol/rss/RssFeedReader.java
@@ -146,7 +146,7 @@ private void retrieveFlow()
/*for(int i=0; i < items.length; ++i)
{
System.out.println("CHENZO item_list[" + i + "] URI: " + items[i].getUri()
- + ", Date: " + items[i].getUpdatedDate() + ", Title: " +
+ + ", Date: " + items[i].getPublishedDate() + ", Title: " +
items[i].getTitle());
}*/
@@ -175,12 +175,16 @@ private void retrieveFlow()
* @return textual representation of the feed items.
*/
public synchronized String getNewFeeds()
+ throws OperationFailedException, FileNotFoundException
{
String newsAbstract = null;
StringBuffer printedFeed = new StringBuffer();
int i;
boolean hasSomeNews = false;
+
+ // Try to retrieve the feed and to complete this instanciation.
+ this.retrieveFlow();
// TODO move this message in a resources file.
if (items.length == 0)
@@ -209,6 +213,10 @@ public synchronized String getNewFeeds()
return null;
}
lastItemKey = new RssItemKey(items[items.length - 1]);
+ /*System.out.println("CHENZO LAST_ITEM_KEY link: " +
+ items[items.length - 1].getLink() +
+ " Date: " +
+ items[items.length - 1].getPublishedDate());*/
printedFeed
.append ("Send anything to refresh this feed...
\n");
return printedFeed.toString();