package jpaoletti.jpm.struts.actions; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import jpaoletti.jpm.core.PMSession; import jpaoletti.jpm.core.PresentationManager; import jpaoletti.jpm.struts.PMEntitySupport; import jpaoletti.jpm.struts.PMStrutsConstants; public class LogoutAction extends Action implements PMStrutsConstants { @Override public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { final PMEntitySupport es = PMEntitySupport.getInstance(); final PMSession pmsession = PMEntitySupport.getPMSession(request); if (pmsession != null) { PresentationManager.getPm().removeSession(pmsession.getId()); } request.getSession().invalidate(); es.setContext_path(request.getContextPath()); request.getSession().setAttribute(ENTITY_SUPPORT, es); return mapping.findForward(ActionSupport.SUCCESS); } }