1 16 package dlog4j.action; 17 18 import java.util.Date ; 19 20 import javax.servlet.http.HttpServletRequest ; 21 import javax.servlet.http.HttpServletResponse ; 22 23 import net.sf.hibernate.Session; 24 25 import org.apache.commons.lang.StringUtils; 26 import org.apache.struts.action.ActionErrors; 27 import org.apache.struts.action.ActionForm; 28 import org.apache.struts.action.ActionForward; 29 import org.apache.struts.action.ActionMapping; 30 31 import dlog4j.formbean.TrackBackForm; 32 33 37 public class DlogTrackBackAction extends DlogActionBase { 38 39 42 public ActionForward execute(ActionMapping mapping, ActionForm form, 43 HttpServletRequest req, HttpServletResponse res) throws Exception 44 { 45 TrackBackForm tbf = (TrackBackForm)form; 46 ActionErrors errors = new ActionErrors(); 47 Session ssn = null; 48 String msg = validate(tbf); 49 if(msg==null){ 50 try{ 51 ssn = getSession(); 52 tbf.setRefTime(new Date ()); 53 tbf.setRemoteAddr(req.getRemoteAddr()); 54 ssn.save(tbf); 55 }catch(Exception e){ 56 getServlet().log("DlogTrackBackAction.doDefault", e); 57 msg = e.getMessage(); 58 }finally{ 59 commitSession(ssn,true); 60 } 61 } 62 String xml = getResponse(msg!=null, msg); 63 res.getWriter().print(xml); 64 return null; 65 } 66 67 68 71 protected String validate(TrackBackForm form) { 72 if(StringUtils.isEmpty(form.getUrl())) 73 return "url is empty"; 74 else 75 if(form.getLog_id()<0) 76 return "Illegal value of log_id"; 77 else 78 if(StringUtils.isEmpty(form.getBlog_name())) 79 return "Blog_name is empty"; 80 else 81 if(StringUtils.isEmpty(form.getTitle())) 82 return "Title is empty"; 83 return null; 84 } 85 86 87 93 protected String getResponse(boolean error, String msg){ 94 StringBuffer xml = new StringBuffer (); 95 xml.append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>"); 96 xml.append("<response>"); 97 if(error){ 98 xml.append("<error>1</error>"); 99 xml.append("<message>"); 100 xml.append(msg); 101 xml.append("</message>"); 102 } 103 else 104 xml.append("<error>0</error>"); 105 xml.append("</response>"); 106 return xml.toString(); 107 } 108 109 } 110 | Popular Tags |