File Source: deleterejectedlistener.java
1 /*
2 * Copyright (c) 2003-2006, Simon Brown
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions are met:
7 *
8 * - Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 *
11 * - Redistributions in binary form must reproduce the above copyright
12 * notice, this list of conditions and the following disclaimer in
13 * the documentation and/or other materials provided with the
14 * distribution.
15 *
16 * - Neither the name of Pebble nor the names of its contributors may
17 * be used to endorse or promote products derived from this software
18 * without specific prior written permission.
19 *
20 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
24 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30 * POSSIBILITY OF SUCH DAMAGE.
31 */
32 package net.sourceforge.pebble.event.response;
33
34 import net.sourceforge.pebble.domain.Response;
35 import net.sourceforge.pebble.api.event.comment.CommentEvent;
36 import net.sourceforge.pebble.api.event.trackback.TrackBackEvent;
37 import org.apache.commons.logging.Log;
38 import org.apache.commons.logging.LogFactory;
39
40 /**
41 * Deletes comments and TrackBacks that have been marked as rejected.
42 *
43 * @author Simon Brown
44 */
/*
P/P * Method: void net.sourceforge.pebble.event.response.DeleteRejectedListener()
*/
45 public class DeleteRejectedListener extends BlogEntryResponseListenerSupport {
46
47 /** the log used by this class */
/*
P/P * Method: net.sourceforge.pebble.event.response.DeleteRejectedListener__static_init
*
* Postconditions:
* init'ed(log)
*/
48 private static final Log log = LogFactory.getLog(DeleteRejectedListener.class);
49
50
51 /**
52 * Called when a comment has been added.
53 *
54 * @param event a CommentEvent instance
55 */
56 public void commentAdded(CommentEvent event) {
/*
P/P * Method: void commentAdded(CommentEvent)
*
* Preconditions:
* event != null
* (soft) net.sourceforge.pebble.domain.State__static_init.new State(State__static_init#2).name != null
*
* Presumptions:
* getComment(...).state@58 != null
* net.sourceforge.pebble.api.event.comment.CommentEvent:getSource(...)@72 != null
*
* Postconditions:
* possibly_updated(event.vetoed)
*/
57 super.commentAdded(event);
58 if (event.getComment().isRejected()) {
59 event.veto();
60 }
61 }
62
63 /**
64 * Called when a comment has been rejected.
65 *
66 * @param event a CommentEvent instance
67 */
68 public void commentRejected(CommentEvent event) {
/*
P/P * Method: void commentRejected(CommentEvent)
*
* Preconditions:
* event != null
*
* Postconditions:
* event.vetoed == 1
*/
69 super.commentRejected(event);
70 event.veto();
71 }
72
73 /**
74 * Called when a TrackBack has been added.
75 *
76 * @param event a TrackBackEvent instance
77 */
78 public void trackBackAdded(TrackBackEvent event) {
/*
P/P * Method: void trackBackAdded(TrackBackEvent)
*
* Preconditions:
* event != null
* (soft) net.sourceforge.pebble.domain.State__static_init.new State(State__static_init#2).name != null
*
* Presumptions:
* getTrackBack(...).state@80 != null
* net.sourceforge.pebble.api.event.trackback.TrackBackEvent:getSource(...)@72 != null
*
* Postconditions:
* possibly_updated(event.vetoed)
*/
79 super.trackBackAdded(event);
80 if (event.getTrackBack().isRejected()) {
81 event.veto();
82 }
83 }
84
85 /**
86 * Called when a TrackBack has been rejected.
87 *
88 * @param event a TrackBackEvent instance
89 */
90 public void trackBackRejected(TrackBackEvent event) {
/*
P/P * Method: void trackBackRejected(TrackBackEvent)
*
* Preconditions:
* event != null
*
* Postconditions:
* event.vetoed == 1
*/
91 super.trackBackRejected(event);
92 event.veto();
93 }
94
95 /**
96 * Called when a comment or TrackBack has been added.
97 *
98 * @param response a Response
99 */
100 protected void blogEntryResponseAdded(Response response) {
/*
P/P * Method: void blogEntryResponseAdded(Response)
*
* Preconditions:
* response != null
* response.state != null
* (soft) net.sourceforge.pebble.domain.State__static_init.new State(State__static_init#2).name != null
* (soft) net/sourceforge/pebble/domain/BlogEntry.log != null
* (soft) init'ed(response.author)
* (soft) response.blogEntry != null
* (soft) response.blogEntry.comments != null
* (soft) response.blogEntry.events != null
* (soft) init'ed(response.blogEntry.eventsEnabled)
* (soft) init'ed(response.blogEntry.title)
* ...
*/
101 if (response.isRejected()) {
102 deleteRejectedResponse(response);
103 }
104 }
105
106 /**
107 * Called when a comment or TrackBack has been rejected.
108 *
109 * @param response a Response
110 */
111 protected void blogEntryResponseRejected(Response response) {
/*
P/P * Method: void blogEntryResponseRejected(Response)
*
* Preconditions:
* response != null
* response.blogEntry != null
* init'ed(response.blogEntry.title)
* init'ed(response.ipAddress)
* init'ed(response.title)
* (soft) net/sourceforge/pebble/domain/BlogEntry.log != null
* (soft) init'ed(response.author)
* (soft) response.blogEntry.comments != null
* (soft) response.blogEntry.events != null
* (soft) init'ed(response.blogEntry.eventsEnabled)
* ...
*/
112 deleteRejectedResponse(response);
113 }
114
115 /**
116 * Helper method to delete rejected response.
117 */
118 private void deleteRejectedResponse(Response response) {
/*
P/P * Method: void deleteRejectedResponse(Response)
*
* Preconditions:
* response != null
*
* Presumptions:
* org.apache.commons.logging.LogFactory:getLog(...)@48 != null
*
* Preconditions:
* response.blogEntry != null
* init'ed(response.blogEntry.title)
* init'ed(response.ipAddress)
* init'ed(response.title)
* (soft) net/sourceforge/pebble/domain/BlogEntry.log != null
* (soft) init'ed(response.author)
* (soft) response.blogEntry.comments != null
* (soft) response.blogEntry.events != null
* (soft) init'ed(response.blogEntry.eventsEnabled)
* (soft) response.blogEntry.trackBacks != null
* ...
*/
119 log.info("Deleting rejected response for " + response.getBlogEntry().getTitle());
120 log.info(response.getTitle());
121 log.info(response.getContent());
122 log.info(response.getSourceName());
123 log.info(response.getSourceLink());
124 log.info(response.getIpAddress());
125 response.getBlogEntry().removeResponse(response);
126 }
127
128 }
SofCheck Inspector Build Version : 2.22510
| deleterejectedlistener.java |
2010-Jun-25 19:40:32 |
| deleterejectedlistener.class |
2010-Jul-19 20:23:38 |