KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jmanage > webui > actions > config > AddMBeanConfigAction


1 /**
2  * Copyright 2004-2005 jManage.org
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */

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 JavaDoc;
34 import javax.servlet.http.HttpServletResponse JavaDoc;
35
36 /**
37  *
38  * date: Jul 21, 2004
39  * @author Rakesh Kalra, Shashank Bellary
40  */

41 public class AddMBeanConfigAction extends BaseAction {
42
43     public ActionForward execute(WebContext context,
44                                  ActionMapping mapping,
45                                  ActionForm actionForm,
46                                  HttpServletRequest JavaDoc request,
47                                  HttpServletResponse JavaDoc response)
48             throws Exception JavaDoc {
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             /* mbean has to be added to the cluster */
55             applicationConfig = applicationConfig.getClusterConfig();
56             assert applicationConfig != null: "application not part of cluster";
57         }
58         String JavaDoc logMsg = null;
59         //TODO: Usage of DynaForm should clean up this.
60
if(request.getParameter(RequestParams.MULTI_MBEAN_CONFIG) != null){
61             final String JavaDoc[] objectNames = mbeanConfigForm.getName();
62             for(int mbeanCtr=0; mbeanCtr < objectNames.length; mbeanCtr++ ){
63                 final String JavaDoc 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 JavaDoc 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