1 7 8 package com.j2biz.blogunity.web.actions.blog; 9 10 import java.util.Date ; 11 12 import javax.servlet.http.HttpServletRequest ; 13 import javax.servlet.http.HttpServletResponse ; 14 15 import org.apache.commons.lang.StringUtils; 16 import org.apache.commons.logging.Log; 17 import org.apache.commons.logging.LogFactory; 18 19 import com.j2biz.blogunity.dao.EntryDAO; 20 import com.j2biz.blogunity.dao.TrackbackDAO; 21 import com.j2biz.blogunity.exception.BlogunityException; 22 import com.j2biz.blogunity.pojo.Blog; 23 import com.j2biz.blogunity.pojo.Entry; 24 import com.j2biz.blogunity.pojo.Trackback; 25 import com.j2biz.blogunity.web.ActionResultFactory; 26 import com.j2biz.blogunity.web.IActionResult; 27 import com.j2biz.blogunity.web.actions.AbstractAction; 28 29 34 public class TrackBackAction extends AbstractAction { 35 36 private Blog blog; 37 38 private String entryId; 39 40 private static final Log log = LogFactory.getLog(TrackBackAction.class); 41 42 private static final IActionResult BLOG_FRONTPAGE_FORWARD = ActionResultFactory 43 .buildForward("/trackBackView.vm"); 44 45 final static String _trackBackErrorResponse = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>" 46 + "<response>" + "<error>1</error>" + "<message>The error message</message>" 47 + "</response>"; 48 49 final static String _trackBackSuccessResponse = "<?xml version=\"1.0\" encoding=\"iso-8859-1\"?>" 50 + "<response>" + "<error>0</error>" + "</response>"; 51 52 55 public TrackBackAction(Blog blog, String entryId) { 56 this.blog = blog; 57 this.entryId = entryId; 58 } 59 60 66 public IActionResult execute(HttpServletRequest request, HttpServletResponse response) 67 throws BlogunityException { 68 69 IActionResult errorRedirect = ActionResultFactory.buildRedirect("/blogs/" 70 + blog.getUrlName()); 71 72 String tbUrl = (String ) request.getParameter("url"); 77 78 if (StringUtils.isEmpty(tbUrl)) return errorRedirect; 79 80 String tbTitle = (String ) request.getParameter("title"); 82 83 String tbExcerpt = (String ) request.getParameter("excerpt"); 87 88 String tbBlogName = (String ) request.getParameter("blog_name"); 90 91 96 if (StringUtils.isEmpty(tbTitle)) tbTitle = tbUrl; 97 98 Trackback tb = new Trackback(); 99 tb.setDate(new Date (System.currentTimeMillis())); 100 tb.setDirection(Trackback.DIRECTION_INCOMING); 101 tb.setTrackbackContent(tbExcerpt); 102 tb.setUrl(tbUrl); 103 tb.setTitle(tbTitle); 104 tb.setLoggedIp(request.getRemoteAddr()); 105 tb.setReferencedEntryId(new Long (Long.parseLong(this.entryId))); 106 107 (new TrackbackDAO()).createTrackback(tb); 108 Entry entry = (new EntryDAO()).getEntryByID(tb.getReferencedEntryId()); 109 String str = "/blogs/" + blog.getUrlName() + entry.getPermalink(); 110 return ActionResultFactory.buildRedirect(str); 111 } 112 } | Popular Tags |