1 package com.dotmarketing.servlets; 2 3 import java.io.IOException ; 4 5 import javax.servlet.ServletException ; 6 import javax.servlet.http.HttpServlet ; 7 import javax.servlet.http.HttpServletRequest ; 8 import javax.servlet.http.HttpServletResponse ; 9 10 import com.dotmarketing.cms.factories.PublicUserFactory; 11 import com.dotmarketing.factories.ClickstreamFactory; 12 import com.dotmarketing.factories.InodeFactory; 13 import com.dotmarketing.portlets.campaigns.factories.ClickFactory; 14 import com.dotmarketing.portlets.campaigns.factories.RecipientFactory; 15 import com.dotmarketing.portlets.campaigns.model.Campaign; 16 import com.dotmarketing.portlets.campaigns.model.Click; 17 import com.dotmarketing.portlets.campaigns.model.Recipient; 18 import com.dotmarketing.util.Logger; 19 import com.liferay.portal.model.User; 20 21 public class RedirectURLServlet extends HttpServlet { 22 23 private static final long serialVersionUID = 1L; 24 25 public void service(HttpServletRequest request, HttpServletResponse response) throws ServletException , IOException { 26 27 String query = request.getQueryString(); 28 String redir = null; 29 30 try { 31 32 redir = query.substring(query.indexOf("redir=") + 6); 33 } 34 catch (Exception e) { 35 } 36 37 Logger.debug(this, "redir" + redir); 38 39 if (redir != null) { 40 response.sendRedirect(redir); 42 response.flushBuffer(); 43 44 try { 45 46 redir = redir.substring(0, redir.indexOf("&r=")); 47 } 48 49 catch (Exception e) { 50 } 51 52 Recipient r = RecipientFactory.getRecipient(request.getParameter("r")); 53 Campaign c = (Campaign) InodeFactory.getParentOfClass(r, Campaign.class); 54 if (r.getInode() > 0) { 55 56 Click click = ClickFactory.getClickByLinkAndRecipient(redir, r); 58 click.setClickCount((click.getClickCount() + 1)); 59 click.setLink(redir); 60 InodeFactory.saveInode(click); 61 r.addChild(click); 62 InodeFactory.saveInode(r); 63 64 click = ClickFactory.getClickByLinkAndCampaign(redir, c); 66 click.setClickCount((click.getClickCount() + 1)); 67 click.setLink(redir); 68 InodeFactory.saveInode(click); 69 c.addChild(click); 70 InodeFactory.saveInode(c); 71 72 User user = PublicUserFactory.getUserByEmail(r.getEmail()); 73 ClickstreamFactory.setClickStreamUser(user.getUserId(), request); 74 } 75 } 76 77 } 78 } 79 | Popular Tags |