1 19 20 package com.sslexplorer.agent.actions; 21 22 import javax.servlet.http.HttpServletRequest ; 23 import javax.servlet.http.HttpServletResponse ; 24 25 import org.apache.commons.logging.Log; 26 import org.apache.commons.logging.LogFactory; 27 import org.apache.struts.action.ActionForm; 28 import org.apache.struts.action.ActionForward; 29 import org.apache.struts.action.ActionMapping; 30 import org.apache.struts.action.ActionMessage; 31 import org.apache.struts.action.ActionMessages; 32 33 import com.sslexplorer.agent.DefaultAgentManager; 34 import com.sslexplorer.core.CoreUtil; 35 import com.sslexplorer.core.actions.AuthenticatedAction; 36 import com.sslexplorer.security.LogonControllerFactory; 37 import com.sslexplorer.security.SessionInfo; 38 39 44 public class ShutdownAgentAction extends AuthenticatedAction { 45 46 static Log log = LogFactory.getLog(ShutdownAgentAction.class); 47 48 51 public ShutdownAgentAction() { 52 super(); 53 } 54 55 63 public ActionForward onExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 64 throws Exception { 65 66 67 SessionInfo session = LogonControllerFactory.getInstance().getSessionInfo(request); 68 69 ActionMessages errs = new ActionMessages(); 70 71 if(session==null) { 72 errs.add(ActionMessages.GLOBAL_MESSAGE, new ActionMessage("agent.notStarted")); 73 saveMessages(request, errs); 74 } else { 75 DefaultAgentManager.getInstance().unregisterAgent(session); 76 } 77 78 String path = request.getParameter("path"); 79 ActionForward fwd = new ActionForward(path==null ? CoreUtil.getReferer(request) : path, true); 80 return fwd; 81 } 82 83 91 public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { 92 return SessionInfo.MANAGEMENT_CONSOLE_CONTEXT | SessionInfo.USER_CONSOLE_CONTEXT; 93 } 94 95 100 protected boolean requiresProfile() { 101 return false; 102 } 103 104 110 protected boolean isIgnoreSessionLock() { 111 return true; 112 } 113 114 } | Popular Tags |