File Source: confirmtrackbackaction.java
/*
P/P * Method: net.sourceforge.pebble.web.action.ConfirmTrackBackAction__static_init
*
* Postconditions:
* init'ed(log)
*/
1 package net.sourceforge.pebble.web.action;
2
3 import net.sourceforge.pebble.Constants;
4 import net.sourceforge.pebble.api.confirmation.TrackBackConfirmationStrategy;
5 import net.sourceforge.pebble.domain.*;
6 import net.sourceforge.pebble.web.view.NotFoundView;
7 import net.sourceforge.pebble.web.view.View;
8 import net.sourceforge.pebble.web.view.impl.ConfirmTrackBackView;
9 import net.sourceforge.pebble.web.view.impl.TrackBackLinkView;
10 import org.apache.commons.logging.Log;
11 import org.apache.commons.logging.LogFactory;
12
/*
P/P * Method: void net.sourceforge.pebble.web.action.ConfirmTrackBackAction()
*/
13 import javax.servlet.ServletException;
14 import javax.servlet.http.HttpServletRequest;
15 import javax.servlet.http.HttpServletResponse;
16
17 /**
18 * Confirms a TrackBack.
19 *
20 * @author Simon Brown
21 */
22 public class ConfirmTrackBackAction extends AbstractTrackBackAction {
23
24 /** the log used by this class */
25 private static Log log = LogFactory.getLog(ConfirmTrackBackAction.class);
26
27 /**
28 * Peforms the processing associated with this action.
29 *
30 * @param request the HttpServletRequest instance
31 * @param response the HttpServletResponse instance
32 * @return the name of the next view
33 */
34 public View process(HttpServletRequest request, HttpServletResponse response) throws ServletException {
35 Blog blog = (Blog)getModel().get(Constants.BLOG_KEY);
36 BlogEntry blogEntry;
37
38 String entry = (String)request.getSession().getAttribute(BLOG_ENTRY_ID);
39 if (entry == null) {
40 return new NotFoundView();
41 }
42
43 BlogService service = new BlogService();
44 try {
45 blogEntry = service.getBlogEntry(blog, entry);
46 } catch (BlogServiceException e) {
47 throw new ServletException(e);
48 }
49 if (blogEntry == null) {
50 // just send back a 404 - this is probably somebody looking for a way
51 // to send comment spam ;-)
52 return new NotFoundView();
53 } else if (!blogEntry.isTrackBacksEnabled()) {
54 return new NotFoundView();
55 }
56 getModel().put(Constants.BLOG_ENTRY_KEY, blogEntry);
57
58 TrackBackConfirmationStrategy strategy = blog.getTrackBackConfirmationStrategy();
59
60 if (strategy.isConfirmed(request)) {
61 generateTrackBackLink(blogEntry);
62 request.getSession().removeAttribute(BLOG_ENTRY_ID);
63 return new TrackBackLinkView();
64 } else {
65 // try again!
66 strategy.setupConfirmation(request);
67 return new ConfirmTrackBackView();
68 }
69 }
70
71 }
SofCheck Inspector Build Version : 2.22510
| confirmtrackbackaction.java |
2010-Jun-25 19:40:34 |
| confirmtrackbackaction.class |
2010-Jul-19 20:23:38 |