File Source: blogtagsdecorator.java
/*
P/P * Method: net.sourceforge.pebble.decorator.BlogTagsDecorator__static_init
*/
1 package net.sourceforge.pebble.decorator;
2
3 import net.sourceforge.pebble.domain.BlogEntry;
4 import net.sourceforge.pebble.domain.PageBasedContent;
5 import net.sourceforge.pebble.api.decorator.ContentDecoratorContext;
6
7 /**
8 * Generates tag links for inclusion in the body of blog entries,
9 * when rendered as HTML and newsfeeds.
10 *
11 * @author Simon Brown
12 */
/*
P/P * Method: void net.sourceforge.pebble.decorator.BlogTagsDecorator()
*
* Postconditions:
* this.resourceKey == &"tag.tags"
* this.target == &""
*/
13 public class BlogTagsDecorator extends AbstractTagsDecorator {
14
15 /**
16 * Decorates the specified blog entry.
17 *
18 * @param context the context in which the decoration is running
19 * @param blogEntry the blog entry to be decorated
20 * if something goes wrong when running the decorator
21 */
22 @Override
23 public void decorate(ContentDecoratorContext context, BlogEntry blogEntry) {
/*
P/P * Method: void decorate(ContentDecoratorContext, BlogEntry)
*
* Preconditions:
* blogEntry != null
* context != null
*
* Test Vectors:
* java.lang.String:length(...)@28: {0}, {1..232-1}
* java.lang.String:length(...)@33: {0}, {1..232-1}
*
* Preconditions:
* init'ed(context.media)
* init'ed(blogEntry.body)
* init'ed(blogEntry.excerpt)
* (soft) init'ed(blogEntry.blog)
* (soft) blogEntry.propertyChangeSupport != null
* (soft) init'ed(blogEntry.tagsAsList)
*
* Postconditions:
* init'ed(blogEntry.body)
* init'ed(blogEntry.excerpt)
*
* Test Vectors:
* blogEntry.body: Addr_Set{null}, Inverse{null}
* blogEntry.excerpt: Addr_Set{null}, Inverse{null}
*/
24 String html = generateDecorationHtml(context, blogEntry);
25
26 // now add the tags to the body and excerpt, if they aren't empty
27 String body = blogEntry.getBody();
28 if (body != null && body.trim().length() > 0) {
29 blogEntry.setBody(body + html);
30 }
31
32 String excerpt = blogEntry.getExcerpt();
33 if (excerpt != null && excerpt.trim().length() > 0) {
34 blogEntry.setExcerpt(excerpt + html);
35 }
36 }
37
38 /**
39 * Gets the base URL for tag links, complete with trailing slash.
40 *
41 * @param content the owning content
42 * @return a URL as a String
43 */
44 public String getBaseUrl(PageBasedContent content) {
/*
P/P * Method: String getBaseUrl(PageBasedContent)
*
* Preconditions:
* content != null
*
* Postconditions:
* return_value != null
*
* Preconditions:
* content.blog != null
* (soft) init'ed(content.blog.id)
* (soft) net/sourceforge/pebble/domain/BlogManager.instance != null
* (soft) init'ed(net/sourceforge/pebble/domain/BlogManager.instance.multiBlog)
*/
45 return content.getBlog().getUrl() + "tags/";
46 }
47
48 }
SofCheck Inspector Build Version : 2.22510
| blogtagsdecorator.java |
2010-Jun-25 19:40:32 |
| blogtagsdecorator.class |
2010-Jul-19 20:23:40 |