1 16 package org.jmanage.webui.actions.app; 17 18 import org.apache.struts.action.ActionForm; 19 import org.apache.struts.action.ActionForward; 20 import org.apache.struts.action.ActionMapping; 21 import org.jmanage.core.data.OperationResultData; 22 import org.jmanage.core.services.MBeanService; 23 import org.jmanage.core.services.ServiceFactory; 24 import org.jmanage.core.util.Loggers; 25 import org.jmanage.core.management.ObjectOperationInfo; 26 import org.jmanage.webui.actions.BaseAction; 27 import org.jmanage.webui.util.Forwards; 28 import org.jmanage.webui.util.Utils; 29 import org.jmanage.webui.util.WebContext; 30 import org.jmanage.webui.util.RequestAttributes; 31 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.http.HttpServletResponse ; 34 import java.util.logging.Logger ; 35 36 42 public class ExecuteMBeanOperationAction extends BaseAction { 43 44 private static final Logger logger = 45 Loggers.getLogger(ExecuteMBeanOperationAction.class); 46 47 public ActionForward execute(WebContext context, 48 ActionMapping mapping, 49 ActionForm actionForm, 50 HttpServletRequest request, 51 HttpServletResponse response) 52 throws Exception { 53 54 55 final String operationName = request.getParameter("operationName"); 56 final int paramCount = 57 Integer.parseInt(request.getParameter("paramCount")); 58 String [] params = new String [paramCount]; 59 String [] signature = new String [paramCount]; 60 for(int paramIndex=0; paramIndex < paramCount; paramIndex ++){ 61 params[paramIndex] = 62 request.getParameter(operationName + paramIndex + "_value"); 63 signature[paramIndex] = 64 request.getParameter(operationName + paramIndex + "_type"); 65 } 66 67 MBeanService service = ServiceFactory.getMBeanService(); 68 ObjectOperationInfo operationInfo = service.getOperationInfo( 69 Utils.getServiceContext(context), 70 operationName, signature); 71 OperationResultData[] resultData = 72 service.invoke(Utils.getServiceContext(context), 73 operationName, 74 params, signature); 75 request.setAttribute("operationResultData", resultData); 76 request.setAttribute("operationInfo", operationInfo); 77 78 79 request.setAttribute(RequestAttributes.NAV_CURRENT_PAGE, "Execute Operation"); 80 return mapping.findForward(Forwards.SUCCESS); 81 } 82 } 83 | Popular Tags |