//# 0 errors, 278 messages
//#
package net.sourceforge.pebble.decorator;
    //#socialbookmarksdecorator.java:1:1: class: net.sourceforge.pebble.decorator.SocialBookmarksDecorator

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.util.ResourceBundle;

import net.sourceforge.pebble.api.decorator.ContentDecoratorContext;
import net.sourceforge.pebble.domain.Blog;
import net.sourceforge.pebble.domain.BlogEntry;
import net.sourceforge.pebble.util.I18n;

/**
 * Adds links to the social bookmarking sites to add current blog entry
 * 
 * @author Alexander Zagniotov
 */
public class SocialBookmarksDecorator extends ContentDecoratorSupport {
    //#socialbookmarksdecorator.java:17: method: void net.sourceforge.pebble.decorator.SocialBookmarksDecorator.net.sourceforge.pebble.decorator.SocialBookmarksDecorator()
    //#input(void net.sourceforge.pebble.decorator.SocialBookmarksDecorator()): this
    //#socialbookmarksdecorator.java:17: end of method: void net.sourceforge.pebble.decorator.SocialBookmarksDecorator.net.sourceforge.pebble.decorator.SocialBookmarksDecorator()

	private static final String TITLE = "&amp;title=";
	private static final String TITLE_FURL_YAHOO = "&amp;t=";

	private static final String SLASHDOT_URL = "http://slashdot.org/bookmark.pl?url=";
	private static final String DIGG_URL = "http://digg.com/submit?url=";
	private static final String REDDIT_URL = "http://reddit.com/submit?url=";
	private static final String DELICIOUS_URL = "http://del.icio.us/post?url=";
	private static final String STUMBLEUPON_URL = "http://www.stumbleupon.com/submit?url=";
	private static final String GOOGLE_URL = "http://www.google.com/bookmarks/mark?op=edit&amp;bkmk=";
	private static final String TECHNORATI_URL = "http://technorati.com/faves?add=";
	private static final String BLOGLINES_URL = "http://www.bloglines.com/sub/";
	private static final String FACEBOOK_URL = "http://www.facebook.com/share.php?u=";
	private static final String FURL_URL = "http://www.furl.net/storeIt.jsp?u=";
	private static final String WINDOWSLIVE_URL = "https://favorites.live.com/quickadd.aspx?mkt=en-us&amp;url=";
	private static final String YAHOO_URL = "http://bookmarks.yahoo.com/toolbar/savebm?opener=tb&amp;u=";

	private static final String SLASHDOT_IMG = "<img src=\"common/images/slashdot.png\" alt=\"Add this post to Slashdot\" border=\"0\" />";
	private static final String DIGG_IMG = "<img src=\"common/images/digg.png\" alt=\"Add this post to Digg\" border=\"0\" />";
	private static final String REDDIT_IMG = "<img src=\"common/images/reddit.png\" alt=\"Add this post to Reddit\" border=\"0\" />";
	private static final String DELICIOUS_IMG = "<img src=\"common/images/delicious.png\" alt=\"Add this post to Delicious\" border=\"0\" />";
	private static final String STUMBLEUPON_IMG = "<img src=\"common/images/stumbleupon.png\" alt=\"Add this post to Stumble it\" border=\"0\" />";
	private static final String GOOGLE_IMG = "<img src=\"common/images/google.png\" alt=\"Add this post to Google\" border=\"0\" />";
	private static final String TECHNORATI_IMG = "<img src=\"common/images/technorati.png\" alt=\"Add this post to Technorati\" border=\"0\" />";
	private static final String BLOGLINES_IMG = "<img src=\"common/images/bloglines.png\" alt=\"Add this post to Bloglines\" border=\"0\" />";
	private static final String FACEBOOK_IMG = "<img src=\"common/images/facebook.png\" alt=\"Add this post to Facebook\" border=\"0\" />";
	private static final String FURL_IMG = "<img src=\"common/images/furl.png\" alt=\"Add this post to Furl\" border=\"0\" />";
	private static final String WINDOWSLIVE_IMG = "<img src=\"common/images/windowslive.png\" alt=\"Add this post to Windows Live\" border=\"0\" />";
	private static final String YAHOO_IMG = "<img src=\"common/images/yahoo.png\" alt=\"Add this post to Yahoo!\" border=\"0\" />";

	private static final String SLASHDOT_ALT = "socialbookmark.addToSlashdot";
	private static final String DIGG_ALT = "socialbookmark.addToDigg";
	private static final String REDDIT_ALT = "socialbookmark.addToReddit";
	private static final String DELICIOUS_ALT = "socialbookmark.addToDelicious";
	private static final String STUMBLEUPON_ALT = "socialbookmark.addToStumbleupon";
	private static final String GOOGLE_ALT = "socialbookmark.addToGoogle";
	private static final String TECHNORATI_ALT = "socialbookmark.addToTechnorati";
	private static final String BLOGLINES_ALT = "socialbookmark.addToBloglines";
	private static final String FACEBOOK_ALT = "socialbookmark.addToFacebook";
	private static final String FURL_ALT = "socialbookmark.addToFurl";
	private static final String WINDOWSLIVE_ALT = "socialbookmark.addToWindowsLive";
	private static final String YAHOO_ALT = "socialbookmark.addToYahoo";

	private static final String[] bookmarkingSites = { SLASHDOT_URL, DIGG_URL,
    //#socialbookmarksdecorator.java:61: method: net.sourceforge.pebble.decorator.SocialBookmarksDecorator.net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Descendant_Table[net/sourceforge/pebble/decorator/SocialBookmarksDecorator]
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/BlogEntry;)V
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/Comment;)V
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/StaticPage;)V
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/TrackBack;)V
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.generateDecorationHtml(Ljava/util/ResourceBundle;Lnet/sourceforge/pebble/domain/BlogEntry;)Ljava/lang/String;
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.getBlog()Lnet/sourceforge/pebble/domain/Blog;
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.setBlog(Lnet/sourceforge/pebble/domain/Blog;)V
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingAltText
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingNames
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingSites
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): net/sourceforge/pebble/api/decorator/ContentDecorator.__Descendant_Table[net/sourceforge/pebble/decorator/SocialBookmarksDecorator]
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): net/sourceforge/pebble/decorator/ContentDecoratorSupport.__Descendant_Table[net/sourceforge/pebble/decorator/SocialBookmarksDecorator]
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): new String[](SocialBookmarksDecorator__static_init#1) num objects
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingSites.length
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingSites[0..11]
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): new String[](SocialBookmarksDecorator__static_init#2) num objects
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingNames.length
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingNames[0..11]
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): new String[](SocialBookmarksDecorator__static_init#3) num objects
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingAltText.length
    //#output(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingAltText[0..11]
    //#new obj(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): new String[](SocialBookmarksDecorator__static_init#1)
    //#new obj(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): new String[](SocialBookmarksDecorator__static_init#2)
    //#new obj(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): new String[](SocialBookmarksDecorator__static_init#3)
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Descendant_Table[net/sourceforge/pebble/decorator/SocialBookmarksDecorator] == &__Dispatch_Table
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): net/sourceforge/pebble/api/decorator/ContentDecorator.__Descendant_Table[net/sourceforge/pebble/decorator/SocialBookmarksDecorator] == &__Dispatch_Table
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): net/sourceforge/pebble/decorator/ContentDecoratorSupport.__Descendant_Table[net/sourceforge/pebble/decorator/SocialBookmarksDecorator] == &__Dispatch_Table
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/BlogEntry;)V == &decorate
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/Comment;)V == &net/sourceforge/pebble/decorator/ContentDecoratorSupport.decorate
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/StaticPage;)V == &net/sourceforge/pebble/decorator/ContentDecoratorSupport.decorate
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.decorate(Lnet/sourceforge/pebble/api/decorator/ContentDecoratorContext;Lnet/sourceforge/pebble/domain/TrackBack;)V == &net/sourceforge/pebble/decorator/ContentDecoratorSupport.decorate
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.generateDecorationHtml(Ljava/util/ResourceBundle;Lnet/sourceforge/pebble/domain/BlogEntry;)Ljava/lang/String; == &generateDecorationHtml
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.getBlog()Lnet/sourceforge/pebble/domain/Blog; == &net/sourceforge/pebble/decorator/ContentDecoratorSupport.getBlog
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): __Dispatch_Table.setBlog(Lnet/sourceforge/pebble/domain/Blog;)V == &net/sourceforge/pebble/decorator/ContentDecoratorSupport.setBlog
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingAltText == &new String[](SocialBookmarksDecorator__static_init#3)
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingNames == &new String[](SocialBookmarksDecorator__static_init#2)
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingSites == &new String[](SocialBookmarksDecorator__static_init#1)
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): new String[](SocialBookmarksDecorator__static_init#1) num objects == 1
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): new String[](SocialBookmarksDecorator__static_init#2) num objects == 1
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): new String[](SocialBookmarksDecorator__static_init#3) num objects == 1
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingSites.length == 12
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingNames.length == 12
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingAltText.length == 12
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingSites[0..11] in Addr_Set{&"http:..slashdot.org.bookmark.pl?url=",&"http:..digg.com.submit?url=",&"http:..reddit.com.submit?url=",&"http:..del.icio.us.post?url=",&"http:..www.stumbleupon.com.submit?url=",&"http:..www.google.com.bookmarks.mark?op=edit&amp;amp;bkmk=",&"http:..technorati.com.faves?add=",&"http:..www.bloglines.com.sub.",&"http:..www.facebook.com.share.php?u=",&"http:..www.furl.net.storeIt.jsp?u=",&"https:..favorites.live.com.quickadd.aspx?mkt=en-us&amp;amp;url=",&"http:..bookmarks.yahoo.com.toolbar.savebm?opener=tb&amp;amp;u="}
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingNames[0..11] in Addr_Set{&"<img src="common.images.slashdot.png" alt="Add this post to Slashdot" border="0" .>",&"<img src="common.images.digg.png" alt="Add this post to Digg" border="0" .>",&"<img src="common.images.reddit.png" alt="Add this post to Reddit" border="0" .>",&"<img src="common.images.delicious.png" alt="Add this post to Delicious" border="0" .>",&"<img src="common.images.stumbleupon.png" alt="Add this post to Stumble it" border="0" .>",&"<img src="common.images.google.png" alt="Add this post to Google" border="0" .>",&"<img src="common.images.technorati.png" alt="Add this post to Technorati" border="0" .>",&"<img src="common.images.bloglines.png" alt="Add this post to Bloglines" border="0" .>",&"<img src="common.images.facebook.png" alt="Add this post to Facebook" border="0" .>",&"<img src="common.images.furl.png" alt="Add this post to Furl" border="0" .>",&"<img src="common.images.windowslive.png" alt="Add this post to Windows Live" border="0" .>",&"<img src="common.images.yahoo.png" alt="Add this post to Yahoo!" border="0" .>"}
    //#post(net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init): bookmarkingAltText[0..11] in Addr_Set{&"socialbookmark.addToSlashdot",&"socialbookmark.addToDigg",&"socialbookmark.addToReddit",&"socialbookmark.addToDelicious",&"socialbookmark.addToStumbleupon",&"socialbookmark.addToGoogle",&"socialbookmark.addToTechnorati",&"socialbookmark.addToBloglines",&"socialbookmark.addToFacebook",&"socialbookmark.addToFurl",&"socialbookmark.addToWindowsLive",&"socialbookmark.addToYahoo"}
			REDDIT_URL, DELICIOUS_URL, STUMBLEUPON_URL, GOOGLE_URL, TECHNORATI_URL, BLOGLINES_URL, FACEBOOK_URL,
			FURL_URL, WINDOWSLIVE_URL, YAHOO_URL};

	private static final String[] bookmarkingNames = { SLASHDOT_IMG, DIGG_IMG,
			REDDIT_IMG, DELICIOUS_IMG, STUMBLEUPON_IMG, GOOGLE_IMG, TECHNORATI_IMG, BLOGLINES_IMG, FACEBOOK_IMG,
			FURL_IMG, WINDOWSLIVE_IMG, YAHOO_IMG};

	private static final String[] bookmarkingAltText = { SLASHDOT_ALT, DIGG_ALT,
			REDDIT_ALT, DELICIOUS_ALT, STUMBLEUPON_ALT, GOOGLE_ALT, TECHNORATI_ALT, BLOGLINES_ALT, FACEBOOK_ALT,
			FURL_ALT, WINDOWSLIVE_ALT, YAHOO_ALT};
    //#socialbookmarksdecorator.java:71: end of method: net.sourceforge.pebble.decorator.SocialBookmarksDecorator.net.sourceforge.pebble.decorator.SocialBookmarksDecorator__static_init

	/**
	 * Decorates the specified blog entry.
	 * 
	 * @param context
	 *            the context in which the decoration is running
	 * @param blogEntry
	 *            the blog entry to be decorated
	 */
	public void decorate(ContentDecoratorContext context, BlogEntry blogEntry) {
		Blog blog = blogEntry.getBlog();
    //#socialbookmarksdecorator.java:82: method: void net.sourceforge.pebble.decorator.SocialBookmarksDecorator.decorate(ContentDecoratorContext, BlogEntry)
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.__Tag
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.blog
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.blog.__Tag
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.blog.id
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.blog.permalinkProvider.__Tag
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.blog.properties
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.body
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.excerpt
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.originalPermalink
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.propertyChangeSupport
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.title
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): bookmarkingAltText
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): bookmarkingNames
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): bookmarkingSites
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/Configuration.__Descendant_Table[net/sourceforge/pebble/Configuration]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/Configuration.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/Configuration.__Dispatch_Table.getUrl()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/Configuration.__Dispatch_Table.isVirtualHostingEnabled()Z
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/api/permalink/PermalinkProvider.__Descendant_Table[net/sourceforge/pebble/api/permalink/PermalinkProvider]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/api/permalink/PermalinkProvider.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/api/permalink/PermalinkProvider.__Dispatch_Table.getPermalink(Lnet/sourceforge/pebble/domain/BlogEntry;)Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[net/sourceforge/pebble/domain/AbstractBlog]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[net/sourceforge/pebble/domain/Blog]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[net/sourceforge/pebble/domain/MultiBlog]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Dispatch_Table.getCountry()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/AbstractBlog.__Dispatch_Table.getLanguage()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[net/sourceforge/pebble/domain/Blog]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getCountry()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getId()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getLanguage()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getLocale()Ljava/util/Locale;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getPermalinkProvider()Lnet/sourceforge/pebble/api/permalink/PermalinkProvider;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getUrl()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Descendant_Table[net/sourceforge/pebble/domain/BlogEntry]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getBlog()Lnet/sourceforge/pebble/domain/Blog;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getBody()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getExcerpt()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getLocalPermalink()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getOriginalPermalink()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getPermalink()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getTitle()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.isAggregated()Z
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.setBody(Ljava/lang/String;)V
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.setExcerpt(Ljava/lang/String;)V
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.__Descendant_Table[net/sourceforge/pebble/domain/BlogManager]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.__Dispatch_Table.isMultiBlog()Z
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.instance
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.instance.__Tag
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.instance.multiBlog
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/MultiBlog.__Dispatch_Table.getCountry()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/MultiBlog.__Dispatch_Table.getLanguage()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Descendant_Table[net/sourceforge/pebble/domain/BlogEntry]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Descendant_Table[net/sourceforge/pebble/domain/PageBasedContent]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Descendant_Table[net/sourceforge/pebble/domain/StaticPage]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Dispatch_Table.getLocalPermalink()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Dispatch_Table.getOriginalPermalink()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Dispatch_Table.isAggregated()Z
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Descendant_Table[net/sourceforge/pebble/domain/StaticPage]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Descendant_Table[others]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Dispatch_Table.getBlog()Lnet/sourceforge/pebble/domain/Blog;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Dispatch_Table.getLocalPermalink()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Dispatch_Table.getOriginalPermalink()Ljava/lang/String;
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Dispatch_Table.isAggregated()Z
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): bookmarkingSites.length
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): bookmarkingSites[0..4_294_967_295]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): bookmarkingNames.length
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): bookmarkingNames[0..4_294_967_295]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): bookmarkingAltText.length
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): bookmarkingAltText[0..4_294_967_295]
    //#input(void decorate(ContentDecoratorContext, BlogEntry)): this
    //#output(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.body
    //#output(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.excerpt
    //#output(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.permalink
    //#pre[1] (void decorate(ContentDecoratorContext, BlogEntry)): blogEntry != null
    //#pre[2] (void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.__Tag == net/sourceforge/pebble/domain/BlogEntry
    //#pre[3] (void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.blog != null
    //#pre[4] (void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.blog.__Tag == net/sourceforge/pebble/domain/Blog
    //#pre[8] (void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.blog.properties != null
    //#pre[19] (void decorate(ContentDecoratorContext, BlogEntry)): init'ed(blogEntry.body)
    //#pre[20] (void decorate(ContentDecoratorContext, BlogEntry)): init'ed(blogEntry.excerpt)
    //#pre[5] (void decorate(ContentDecoratorContext, BlogEntry)): (soft) init'ed(blogEntry.blog.id)
    //#pre[10] (void decorate(ContentDecoratorContext, BlogEntry)): (soft) init'ed(blogEntry.originalPermalink)
    //#pre[11] (void decorate(ContentDecoratorContext, BlogEntry)): (soft) blogEntry.propertyChangeSupport != null
    //#pre[12] (void decorate(ContentDecoratorContext, BlogEntry)): (soft) init'ed(blogEntry.title)
    //#pre[13] (void decorate(ContentDecoratorContext, BlogEntry)): (soft) net/sourceforge/pebble/domain/BlogManager.instance != null
    //#pre[14] (void decorate(ContentDecoratorContext, BlogEntry)): (soft) net/sourceforge/pebble/domain/BlogManager.instance.__Tag == net/sourceforge/pebble/domain/BlogManager
    //#pre[15] (void decorate(ContentDecoratorContext, BlogEntry)): (soft) init'ed(net/sourceforge/pebble/domain/BlogManager.instance.multiBlog)
    //#pre[16] (void decorate(ContentDecoratorContext, BlogEntry)): (soft) init'ed(bookmarkingSites[0..4_294_967_295])
    //#pre[17] (void decorate(ContentDecoratorContext, BlogEntry)): (soft) init'ed(bookmarkingNames[0..4_294_967_295])
    //#pre[18] (void decorate(ContentDecoratorContext, BlogEntry)): (soft) init'ed(bookmarkingAltText[0..4_294_967_295])
    //#presumption(void decorate(ContentDecoratorContext, BlogEntry)): net.sourceforge.pebble.util.I18n:getBundle(...)@83 != null
    //#post(void decorate(ContentDecoratorContext, BlogEntry)): init'ed(blogEntry.body)
    //#post(void decorate(ContentDecoratorContext, BlogEntry)): init'ed(blogEntry.excerpt)
    //#post(void decorate(ContentDecoratorContext, BlogEntry)): possibly_updated(blogEntry.permalink)
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.StringBuffer
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:getPermalink
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:getTitle
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.net.URLEncoder:encode
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.StringBuffer:append
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.util.ResourceBundle:getString
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.String:valueOf
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.StringBuffer:toString
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:getBlog
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:getLocalPermalink
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:getUrl
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.util.Properties:getProperty
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.util.Locale
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.beans.PropertyChangeSupport:firePropertyChange
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.String:trim
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.String:indexOf
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:net.sourceforge.pebble.PebbleContext:getInstance
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:net.sourceforge.pebble.PebbleContext:getConfiguration
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:java.lang.String:substring
    //#unanalyzed(void decorate(ContentDecoratorContext, BlogEntry)): Effects-of-calling:getPermalinkProvider
    //#test_vector(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.body: Addr_Set{null}, Inverse{null}
    //#test_vector(void decorate(ContentDecoratorContext, BlogEntry)): blogEntry.excerpt: Addr_Set{null}, Inverse{null}
    //#test_vector(void decorate(ContentDecoratorContext, BlogEntry)): java.lang.String:length(...)@86: {0}, {1..4_294_967_295}
    //#test_vector(void decorate(ContentDecoratorContext, BlogEntry)): java.lang.String:length(...)@93: {0}, {1..4_294_967_295}
		ResourceBundle bundle = I18n.getBundle(blog.getLocale());
    //#socialbookmarksdecorator.java:83: Warning: method not available
    //#    -- call on ResourceBundle net.sourceforge.pebble.util.I18n:getBundle(Locale)
    //#    severity: INFORMATIONAL
    //#    class: net.sourceforge.pebble.decorator.SocialBookmarksDecorator
    //#    method: void decorate(ContentDecoratorContext, BlogEntry)
    //#    unanalyzed callee: ResourceBundle net.sourceforge.pebble.util.I18n:getBundle(Locale)

		String body = blogEntry.getBody();
		if (body != null && body.trim().length() > 0) {

			String html = generateDecorationHtml(bundle, blogEntry);
			blogEntry.setBody(body + html);
		}

		String excerpt = blogEntry.getExcerpt();
		if (excerpt != null && excerpt.trim().length() > 0) {

			String html = generateDecorationHtml(bundle, blogEntry);
			blogEntry.setExcerpt(excerpt + html);
		}
	}
    //#socialbookmarksdecorator.java:98: end of method: void net.sourceforge.pebble.decorator.SocialBookmarksDecorator.decorate(ContentDecoratorContext, BlogEntry)

	

	private String generateDecorationHtml(ResourceBundle bundle,
			BlogEntry blogEntry) {
		StringBuffer buf = new StringBuffer();
    //#socialbookmarksdecorator.java:104: method: String net.sourceforge.pebble.decorator.SocialBookmarksDecorator.generateDecorationHtml(ResourceBundle, BlogEntry)
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): blogEntry
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): blogEntry.__Tag
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): blogEntry.blog
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): blogEntry.blog.__Tag
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): blogEntry.blog.id
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): blogEntry.blog.permalinkProvider.__Tag
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): blogEntry.originalPermalink
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): blogEntry.title
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): bookmarkingAltText
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): bookmarkingNames
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): bookmarkingSites
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): bundle
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/Configuration.__Descendant_Table[net/sourceforge/pebble/Configuration]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/Configuration.__Descendant_Table[others]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/Configuration.__Dispatch_Table.getUrl()Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/Configuration.__Dispatch_Table.isVirtualHostingEnabled()Z
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/api/permalink/PermalinkProvider.__Descendant_Table[net/sourceforge/pebble/api/permalink/PermalinkProvider]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/api/permalink/PermalinkProvider.__Descendant_Table[others]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/api/permalink/PermalinkProvider.__Dispatch_Table.getPermalink(Lnet/sourceforge/pebble/domain/BlogEntry;)Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[net/sourceforge/pebble/domain/Blog]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Descendant_Table[others]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getId()Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getPermalinkProvider()Lnet/sourceforge/pebble/api/permalink/PermalinkProvider;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/Blog.__Dispatch_Table.getUrl()Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Descendant_Table[net/sourceforge/pebble/domain/BlogEntry]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Descendant_Table[others]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getBlog()Lnet/sourceforge/pebble/domain/Blog;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getLocalPermalink()Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getOriginalPermalink()Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getPermalink()Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.getTitle()Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogEntry.__Dispatch_Table.isAggregated()Z
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.__Descendant_Table[net/sourceforge/pebble/domain/BlogManager]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.__Descendant_Table[others]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.__Dispatch_Table.isMultiBlog()Z
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.instance
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.instance.__Tag
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/BlogManager.instance.multiBlog
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Descendant_Table[net/sourceforge/pebble/domain/BlogEntry]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Descendant_Table[net/sourceforge/pebble/domain/PageBasedContent]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Descendant_Table[net/sourceforge/pebble/domain/StaticPage]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Descendant_Table[others]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Dispatch_Table.getLocalPermalink()Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Dispatch_Table.getOriginalPermalink()Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/PageBasedContent.__Dispatch_Table.isAggregated()Z
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Descendant_Table[net/sourceforge/pebble/domain/StaticPage]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Descendant_Table[others]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Dispatch_Table.getBlog()Lnet/sourceforge/pebble/domain/Blog;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Dispatch_Table.getLocalPermalink()Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Dispatch_Table.getOriginalPermalink()Ljava/lang/String;
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): net/sourceforge/pebble/domain/StaticPage.__Dispatch_Table.isAggregated()Z
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): bookmarkingSites.length
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): bookmarkingSites[0..11]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): bookmarkingNames.length
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): bookmarkingNames[0..11]
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): bookmarkingAltText.length
    //#input(String generateDecorationHtml(ResourceBundle, BlogEntry)): bookmarkingAltText[0..11]
    //#output(String generateDecorationHtml(ResourceBundle, BlogEntry)): blogEntry.permalink
    //#output(String generateDecorationHtml(ResourceBundle, BlogEntry)): return_value
    //#pre[1] (String generateDecorationHtml(ResourceBundle, BlogEntry)): blogEntry != null
    //#pre[2] (String generateDecorationHtml(ResourceBundle, BlogEntry)): blogEntry.__Tag == net/sourceforge/pebble/domain/BlogEntry
    //#pre[10] (String generateDecorationHtml(ResourceBundle, BlogEntry)): init'ed(blogEntry.title)
    //#pre[11] (String generateDecorationHtml(ResourceBundle, BlogEntry)): bundle != null
    //#pre[3] (String generateDecorationHtml(ResourceBundle, BlogEntry)): (soft) blogEntry.blog != null
    //#pre[4] (String generateDecorationHtml(ResourceBundle, BlogEntry)): (soft) blogEntry.blog.__Tag == net/sourceforge/pebble/domain/Blog
    //#pre[5] (String generateDecorationHtml(ResourceBundle, BlogEntry)): (soft) init'ed(blogEntry.blog.id)
    //#pre[9] (String generateDecorationHtml(ResourceBundle, BlogEntry)): (soft) init'ed(blogEntry.originalPermalink)
    //#pre[12] (String generateDecorationHtml(ResourceBundle, BlogEntry)): (soft) net/sourceforge/pebble/domain/BlogManager.instance != null
    //#pre[13] (String generateDecorationHtml(ResourceBundle, BlogEntry)): (soft) net/sourceforge/pebble/domain/BlogManager.instance.__Tag == net/sourceforge/pebble/domain/BlogManager
    //#pre[14] (String generateDecorationHtml(ResourceBundle, BlogEntry)): (soft) init'ed(net/sourceforge/pebble/domain/BlogManager.instance.multiBlog)
    //#pre[15] (String generateDecorationHtml(ResourceBundle, BlogEntry)): (soft) init'ed(bookmarkingSites[0..11])
    //#pre[16] (String generateDecorationHtml(ResourceBundle, BlogEntry)): (soft) init'ed(bookmarkingNames[0..11])
    //#pre[17] (String generateDecorationHtml(ResourceBundle, BlogEntry)): (soft) init'ed(bookmarkingAltText[0..11])
    //#post(String generateDecorationHtml(ResourceBundle, BlogEntry)): possibly_updated(blogEntry.permalink)
    //#post(String generateDecorationHtml(ResourceBundle, BlogEntry)): return_value != null
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:getBlog
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:getLocalPermalink
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:getUrl
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:java.lang.String:valueOf
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:java.lang.StringBuilder
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:java.lang.StringBuilder:append
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:java.lang.StringBuilder:toString
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:java.lang.String:indexOf
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:net.sourceforge.pebble.PebbleContext:getInstance
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:net.sourceforge.pebble.PebbleContext:getConfiguration
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:java.lang.String:length
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:java.lang.String:substring
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:getPermalinkProvider
    //#unanalyzed(String generateDecorationHtml(ResourceBundle, BlogEntry)): Effects-of-calling:getPermalink
    //#test_vector(String generateDecorationHtml(ResourceBundle, BlogEntry)): bookmarkingSites[0..11]: Addr_Set{&"http:..technorati.com.faves?add="}, Addr_Set{&"http:..www.bloglines.com.sub."}, Addr_Set{&"http:..www.facebook.com.share.php?u="}, Addr_Set{&"http:..www.furl.net.storeIt.jsp?u="}, Addr_Set{&"http:..bookmarks.yahoo.com.toolbar.savebm?opener=tb&amp;amp;u="}, Inverse{&"http:..technorati.com.faves?add=",&"http:..www.bloglines.com.sub.",&"http:..www.facebook.com.share.php?u=",&"http:..www.furl.net.storeIt.jsp?u=",&"http:..bookmarks.yahoo.com.toolbar.savebm?opener=tb&amp;amp;u="}
		String permLink = blogEntry.getPermalink();
		String title = "";
    //#socialbookmarksdecorator.java:106: Warning: unused assignment
    //#    unused assignment into title
    //#    severity: LOW
    //#    class: net.sourceforge.pebble.decorator.SocialBookmarksDecorator
    //#    method: String generateDecorationHtml(ResourceBundle, BlogEntry)
		try {
			title = URLEncoder.encode(blogEntry.getTitle(), "UTF-8");
		}
		catch(UnsupportedEncodingException e) {
			title = blogEntry.getTitle();
		}
		buf.append("<div class=\"tags\"><span>");
		buf.append(bundle.getString("common.bookmarks"));
		buf.append(" : </span>&nbsp;");

		for (int i = 0; i < bookmarkingSites.length; i++) {
			buf.append("<a href=\"");
			buf.append(bookmarkingSites[i] + permLink);


			if (bookmarkingSites[i] != TECHNORATI_URL && 
				bookmarkingSites[i] != BLOGLINES_URL && 
				bookmarkingSites[i] != FACEBOOK_URL &&
				bookmarkingSites[i] != FURL_URL &&
				bookmarkingSites[i] != YAHOO_URL) {
				buf.append(TITLE + title + "\"");
			} 

			else if (bookmarkingSites[i] == FURL_URL || bookmarkingSites[i] == YAHOO_URL) {
				buf.append(TITLE_FURL_YAHOO + title + "\"");
			}

			else {
				buf.append("\"");
			}

			buf.append(" target=\"_blank\"");
			buf.append(" title=\"" + bundle.getString(bookmarkingAltText[i]) + "\">");
			buf.append(bookmarkingNames[i]);
			buf.append("</a>");

			if (i < bookmarkingSites.length - 1) {
				buf.append("&nbsp;&nbsp;&nbsp;&nbsp;");
			}
		}

		buf.append("</div>");
		return buf.toString();
    //#socialbookmarksdecorator.java:149: end of method: String net.sourceforge.pebble.decorator.SocialBookmarksDecorator.generateDecorationHtml(ResourceBundle, BlogEntry)
	}

}    //#socialbookmarksdecorator.java:: end of class: net.sourceforge.pebble.decorator.SocialBookmarksDecorator
