1 19 20 package com.sslexplorer.setup.actions; 21 22 import javax.servlet.http.HttpServletRequest ; 23 import javax.servlet.http.HttpServletResponse ; 24 25 import org.apache.struts.Globals; 26 import org.apache.struts.action.ActionForm; 27 import org.apache.struts.action.ActionForward; 28 import org.apache.struts.action.ActionMapping; 29 import org.apache.struts.action.ActionMessage; 30 import org.apache.struts.action.ActionMessages; 31 32 import com.sslexplorer.core.CoreServlet; 33 import com.sslexplorer.core.CoreUtil; 34 import com.sslexplorer.core.actions.AuthenticatedDispatchAction; 35 import com.sslexplorer.policyframework.Permission; 36 import com.sslexplorer.policyframework.PolicyConstants; 37 import com.sslexplorer.policyframework.PolicyUtil; 38 import com.sslexplorer.security.Constants; 39 import com.sslexplorer.security.SessionInfo; 40 import com.sslexplorer.setup.forms.MessageQueueForm; 41 42 44 public class MessageQueueDispatchAction extends AuthenticatedDispatchAction { 45 47 public MessageQueueDispatchAction() { 48 super(PolicyConstants.MESSAGE_QUEUE_RESOURCE_TYPE, 49 new Permission[] { PolicyConstants.PERM_VIEW, 50 PolicyConstants.PERM_SEND, 51 PolicyConstants.PERM_CONTROL, 52 PolicyConstants.PERM_CLEAR }); 53 } 54 55 63 public ActionForward confirmClearQueue(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { 64 PolicyUtil.checkPermission(PolicyConstants.MESSAGE_QUEUE_RESOURCE_TYPE, PolicyConstants.PERM_CLEAR, request); 65 return mapping.findForward("confirmClearQueue"); 66 } 67 68 76 public ActionForward clearQueue(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { 77 PolicyUtil.checkPermission(PolicyConstants.MESSAGE_QUEUE_RESOURCE_TYPE, PolicyConstants.PERM_CLEAR, request); 78 CoreServlet.getServlet().getNotifier().clearAllMessages(); 79 return mapping.findForward("refresh"); 80 } 81 82 90 public ActionForward sendMessage(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { 91 PolicyUtil.checkPermission(PolicyConstants.MESSAGE_QUEUE_RESOURCE_TYPE, PolicyConstants.PERM_SEND, request); 92 return mapping.findForward("sendMessage"); 93 } 94 95 103 public ActionForward enable(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { 104 PolicyUtil.checkPermission(PolicyConstants.MESSAGE_QUEUE_RESOURCE_TYPE, PolicyConstants.PERM_CONTROL, request); 105 String sel = ((MessageQueueForm)form).getSelectedSink(); 106 CoreServlet.getServlet().getNotifier().setEnabled(sel, true); 107 ActionMessages msgs = new ActionMessages(); 108 msgs.add(Globals.MESSAGE_KEY, new ActionMessage("messageQueue.info.sinkEnabled", sel)); 109 saveMessages(request, msgs); 110 return list(mapping, form, request, response); 111 } 112 113 121 public ActionForward disable(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { 122 PolicyUtil.checkPermission(PolicyConstants.MESSAGE_QUEUE_RESOURCE_TYPE, PolicyConstants.PERM_CONTROL, request); 123 String sel = ((MessageQueueForm)form).getSelectedSink(); 124 CoreServlet.getServlet().getNotifier().setEnabled(sel, false); 125 ActionMessages msgs = new ActionMessages(); 126 msgs.add(Globals.MESSAGE_KEY, new ActionMessage("messageQueue.info.sinkDisabled", sel)); 127 saveMessages(request, msgs); 128 return list(mapping, form, request, response); 129 } 130 131 public ActionForward unspecified(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { 132 return list(mapping, form, request, response); 133 } 134 135 143 public ActionForward list(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) 144 throws Exception { 145 CoreUtil.clearFlow(request); 146 147 MessageQueueForm messageQueueForm = (MessageQueueForm) form; 148 messageQueueForm.initialize(request.getSession()); 149 return mapping.findForward("display"); 150 } 151 152 public int getNavigationContext(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { 153 return SessionInfo.MANAGEMENT_CONSOLE_CONTEXT | SessionInfo.USER_CONSOLE_CONTEXT; 154 } 155 } | Popular Tags |