1 16 package org.jmanage.webui.actions.config; 17 18 import org.jmanage.webui.actions.BaseAction; 19 import org.jmanage.webui.util.WebContext; 20 import org.jmanage.webui.util.Forwards; 21 import org.jmanage.webui.util.RequestParams; 22 import org.jmanage.webui.forms.MBeanConfigForm; 23 import org.jmanage.core.config.ApplicationConfig; 24 import org.jmanage.core.config.ApplicationConfigManager; 25 import org.jmanage.core.config.MBeanConfig; 26 import org.jmanage.core.util.UserActivityLogger; 27 import org.jmanage.core.services.AccessController; 28 import org.apache.struts.action.ActionForward; 29 import org.apache.struts.action.ActionMapping; 30 import org.apache.struts.action.ActionForm; 31 import org.apache.commons.validator.GenericValidator; 32 33 import javax.servlet.http.HttpServletRequest ; 34 import javax.servlet.http.HttpServletResponse ; 35 36 41 public class AddMBeanConfigAction extends BaseAction { 42 43 public ActionForward execute(WebContext context, 44 ActionMapping mapping, 45 ActionForm actionForm, 46 HttpServletRequest request, 47 HttpServletResponse response) 48 throws Exception { 49 AccessController.checkAccess(context.getServiceContext(), ACL_ADD_MBEAN_CONFIG); 50 MBeanConfigForm mbeanConfigForm = (MBeanConfigForm)actionForm; 51 ApplicationConfig applicationConfig = context.getApplicationConfig(); 52 53 if(mbeanConfigForm.isApplicationCluster()){ 54 55 applicationConfig = applicationConfig.getClusterConfig(); 56 assert applicationConfig != null: "application not part of cluster"; 57 } 58 String logMsg = null; 59 if(request.getParameter(RequestParams.MULTI_MBEAN_CONFIG) != null){ 61 final String [] objectNames = mbeanConfigForm.getName(); 62 for(int mbeanCtr=0; mbeanCtr < objectNames.length; mbeanCtr++ ){ 63 final String configName = request.getParameter(objectNames[mbeanCtr]); 64 if(GenericValidator.isBlankOrNull(configName) || 65 applicationConfig.containsMBean(objectNames[mbeanCtr])) 66 continue; 67 applicationConfig.addMBean(new MBeanConfig(configName, 68 objectNames[mbeanCtr])); 69 ApplicationConfigManager.updateApplication(applicationConfig); 70 71 if(mbeanConfigForm.isApplicationCluster()){ 72 logMsg = "Added "+objectNames[mbeanCtr]+" to " + 73 "application cluster " + applicationConfig.getName(); 74 }else{ 75 logMsg = "Added "+objectNames[mbeanCtr]+" to " + 76 "application " + applicationConfig.getName(); 77 } 78 logMsg += "\n"; 79 } 80 }else{ 81 final String configName = mbeanConfigForm.getName()[0]; 82 applicationConfig.addMBean(new MBeanConfig(configName, 83 mbeanConfigForm.getObjectName())); 84 ApplicationConfigManager.updateApplication(applicationConfig); 85 86 if(mbeanConfigForm.isApplicationCluster()){ 87 logMsg = "Added "+mbeanConfigForm.getObjectName()+" to " + 88 "application cluster " + applicationConfig.getName(); 89 }else{ 90 logMsg = "Added "+mbeanConfigForm.getObjectName()+" to " + 91 "application " + applicationConfig.getName(); 92 } 93 } 94 UserActivityLogger.getInstance().logActivity( 95 context.getUser().getUsername(), 96 logMsg); 97 return mapping.findForward(Forwards.SUCCESS); 98 } 99 } 100 | Popular Tags |