1 37 38 package org.jahia.blogs; 39 40 import org.jahia.blogs.actions.AddTrackBackPingAction; 41 42 import javax.servlet.ServletException ; 43 import javax.servlet.http.HttpServlet ; 44 import javax.servlet.http.HttpServletRequest ; 45 import javax.servlet.http.HttpServletResponse ; 46 47 import org.apache.log4j.Logger; 48 49 import java.io.OutputStream ; 50 import java.io.IOException ; 51 52 57 public class TrackBackPingServlet extends HttpServlet { 58 59 public static final String XML_HEADER = 60 "<?xml version=\"1.0\" encoding=\"utf-8\"?>"; 61 public static final String RESPONSE = "<response>"; 62 public static final String END_RESPONSE = "</response>"; 63 public static final String ERROR = "<error>"; 64 public static final String END_ERROR = "</error>"; 65 public static final String MESSAGE = "<message>"; 66 public static final String END_MESSAGE = "</message>"; 67 68 static Logger log = Logger.getLogger(TrackBackPingServlet.class); 70 71 public void doPost(HttpServletRequest request, HttpServletResponse response) 72 throws ServletException , IOException { 73 StringBuffer resp = new StringBuffer (); 74 75 ServletResources.setCurrentRequest(request); 77 ServletResources.setCurrentResponse(response); 78 ServletResources.setCurrentConfig(super.getServletConfig()); 79 80 try { 81 String postID = request.getParameter("entryID"); 82 if (postID == null || postID.length() < 1) { 83 throw new ServletException ("Missing required parameter \"entryID\""); 84 } 85 86 String url = request.getParameter("url"); 87 if (url == null || url.length() < 1) { 88 throw new ServletException ("Missing required parameter \"url\""); 89 } 90 91 String title = request.getParameter("title"); 92 String blogName = request.getParameter("blog_name"); 93 String excerpt = request.getParameter("excerpt"); 94 95 log.debug("\n\nAddTrackBackPingAction: "+postID+", "+url+", "+title+ 96 ", "+blogName+", "+excerpt); 97 98 AddTrackBackPingAction action = new AddTrackBackPingAction(postID, 99 title, excerpt, url, blogName); 100 action.execute(); 101 102 resp.append(XML_HEADER); 103 resp.append(RESPONSE); 104 resp.append(ERROR); 105 resp.append(0); 106 resp.append(END_ERROR); 107 resp.append(END_RESPONSE); 108 109 } catch (Exception e) { 110 resp.append(XML_HEADER); 111 resp.append(RESPONSE); 112 resp.append(ERROR); 113 resp.append(1); 114 resp.append(END_ERROR); 115 resp.append(MESSAGE); 116 resp.append(e.getMessage()); 117 resp.append(END_MESSAGE); 118 resp.append(END_RESPONSE); 119 120 response.setStatus(500); 121 122 e.printStackTrace(); 123 } 124 125 OutputStream output = response.getOutputStream(); 126 output.write(resp.toString().getBytes("UTF-8")); 127 output.flush(); 128 129 ServletResources.setCurrentRequest(null); 131 ServletResources.setCurrentResponse(null); 132 ServletResources.setCurrentConfig(null); 133 } 134 } 135 | Popular Tags |