1 18 19 package org.apache.roller.ui.admin.struts.actions; 20 21 import org.apache.commons.logging.Log; 22 import org.apache.commons.logging.LogFactory; 23 import org.apache.roller.RollerException; 24 import org.apache.roller.model.PingTargetManager; 25 import org.apache.roller.model.RollerFactory; 26 import org.apache.roller.pojos.PingTargetData; 27 import org.apache.roller.pojos.WebsiteData; 28 import org.apache.roller.ui.authoring.struts.actions.BasePingTargetsAction; 29 import org.apache.roller.ui.authoring.struts.forms.PingTargetForm; 30 import org.apache.roller.ui.core.RollerRequest; 31 import org.apache.roller.ui.core.RollerSession; 32 import org.apache.struts.action.ActionForm; 33 import org.apache.struts.action.ActionForward; 34 import org.apache.struts.action.ActionMapping; 35 36 import javax.servlet.ServletException ; 37 import javax.servlet.http.HttpServletRequest ; 38 import javax.servlet.http.HttpServletResponse ; 39 import java.util.List ; 40 41 50 public class CommonPingTargetsAction extends BasePingTargetsAction { 51 private static Log mLogger = LogFactory.getFactory().getInstance(CommonPingTargetsAction.class); 52 53 protected Log getLogger() { 54 return mLogger; 55 } 56 57 public String getPingTargetsTitle() { 58 return "commonPingTargets.commonPingTargets"; 59 } 60 61 public String getPingTargetEditTitle() { 62 return "pingTarget.pingTarget"; 63 } 64 65 public String getPingTargetDeleteOKTitle() { 66 return "pingTarget.confirmRemoveTitle"; 67 } 68 69 72 public ActionForward enableSelected(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception { 73 RollerRequest rreq = RollerRequest.getRollerRequest(req); 74 PingTargetData pingTarget = select(rreq); 75 try { 76 if (!hasRequiredRights(rreq, rreq.getWebsite())) { 77 return mapping.findForward("access-denied"); 78 } 79 pingTarget.setAutoEnabled(true); 80 RollerFactory.getRoller().flush(); 81 82 return view(mapping, form, req, res); 83 } catch (Exception e) { 84 mLogger.error("ERROR in action", e); 85 throw new ServletException (e); 86 } 87 } 88 89 92 public ActionForward disableSelected(ActionMapping mapping, ActionForm form, HttpServletRequest req, HttpServletResponse res) throws Exception { 93 RollerRequest rreq = RollerRequest.getRollerRequest(req); 94 PingTargetData pingTarget = select(rreq); 95 try { 96 if (!hasRequiredRights(rreq, rreq.getWebsite())) { 97 return mapping.findForward("access-denied"); 98 } 99 pingTarget.setAutoEnabled(false); 100 RollerFactory.getRoller().flush(); 101 102 return view(mapping, form, req, res); 103 } catch (Exception e) { 104 mLogger.error("ERROR in action", e); 105 throw new ServletException (e); 106 } 107 } 108 109 113 protected List getPingTargets(RollerRequest rreq) throws RollerException { 114 PingTargetManager pingTargetMgr = RollerFactory.getRoller().getPingTargetManager(); 115 return pingTargetMgr.getCommonPingTargets(); 116 } 117 118 121 protected PingTargetData createPingTarget(RollerRequest rreq, PingTargetForm pingTargetForm) throws RollerException { 122 return new PingTargetData(null, pingTargetForm.getName(), pingTargetForm.getPingUrl(), null, pingTargetForm.isAutoEnabled()); 123 } 124 125 126 129 protected boolean hasRequiredRights(RollerRequest rreq, WebsiteData website) throws RollerException { 130 RollerSession rollerSession = RollerSession.getRollerSession(rreq.getRequest()); 131 return rollerSession.isGlobalAdminUser(); 132 } 133 } 134 | Popular Tags |