File Source: hideunapprovedresponsesdecorator.java
/*
P/P * Method: net.sourceforge.pebble.decorator.HideUnapprovedResponsesDecorator__static_init
*/
1 package net.sourceforge.pebble.decorator;
2
3 import net.sourceforge.pebble.domain.BlogEntry;
4 import net.sourceforge.pebble.domain.Comment;
5 import net.sourceforge.pebble.domain.TrackBack;
6 import net.sourceforge.pebble.util.SecurityUtils;
7 import net.sourceforge.pebble.api.decorator.ContentDecoratorContext;
8
9 import java.util.List;
10
11 /**
12 * Hides unapproved responses (comments and TrackBacks) if the current user is
13 * not a blog contributor.
14 *
15 * @author Simon Brown
16 */
/*
P/P * Method: void net.sourceforge.pebble.decorator.HideUnapprovedResponsesDecorator()
*/
17 public class HideUnapprovedResponsesDecorator extends ContentDecoratorSupport {
18
19 /**
20 * Decorates the specified blog entry.
21 *
22 * @param context the context in which the decoration is running
23 * @param blogEntry the blog entry to be decorated
24 */
25 public void decorate(ContentDecoratorContext context, BlogEntry blogEntry) {
/*
P/P * Method: void decorate(ContentDecoratorContext, BlogEntry)
*
* Preconditions:
* blogEntry != null
*
* Presumptions:
* java.util.List:get(...)@29 != null
* java.util.List:get(...)@37 != null
* java.util.List:size(...)@28 >= -231+1
* java.util.List:size(...)@36 >= -231+1
*
* Test Vectors:
* net.sourceforge.pebble.util.SecurityUtils:isUserAuthorisedForBlogAsBlogContributor(...)@26: {1}, {0}
*
* Preconditions:
* init'ed(blogEntry.blog)
* (soft) blogEntry.comments != null
* (soft) blogEntry.events != null
* (soft) init'ed(blogEntry.eventsEnabled)
* (soft) blogEntry.trackBacks != null
* (soft) net.sourceforge.pebble.domain.State__static_init.new State(State__static_init#1).name != null
* (soft) net/sourceforge/pebble/domain/BlogEntry.log != null
*
* Presumptions:
* comment.date@30 != null
* comment.state@29 != null
* trackBack.date@38 != null
* trackBack.state@37 != null
*/
26 if (!SecurityUtils.isUserAuthorisedForBlogAsBlogContributor(blogEntry.getBlog())) {
27 List comments = blogEntry.getComments();
28 for (int i = comments.size()-1; i >= 0; i--) {
29 Comment comment = (Comment)comments.get(i);
30 if (!comment.isApproved()) {
31 blogEntry.removeComment(comment.getId());
32 }
33 }
34
35 List trackBacks = blogEntry.getTrackBacks();
36 for (int i = trackBacks.size()-1; i >= 0; i--) {
37 TrackBack trackBack = (TrackBack)trackBacks.get(i);
38 if (!trackBack.isApproved()) {
39 blogEntry.removeTrackBack(trackBack.getId());
40 }
41 }
42 }
43 }
44
45 }
SofCheck Inspector Build Version : 2.22510
| hideunapprovedresponsesdecorator.java |
2010-Jun-25 19:40:32 |
| hideunapprovedresponsesdecorator.class |
2010-Jul-19 20:23:40 |