1 16 17 18 package org.apache.webapp.admin.service; 19 20 import java.io.IOException ; 21 import java.util.ArrayList ; 22 import java.util.Iterator ; 23 import java.util.Locale ; 24 import java.util.Set ; 25 import java.util.TreeSet ; 26 import javax.management.MBeanServer ; 27 import javax.management.ObjectName ; 28 import javax.management.ObjectInstance ; 29 import javax.management.modelmbean.ModelMBean ; 30 import javax.servlet.ServletException ; 31 import javax.servlet.http.HttpSession ; 32 import javax.servlet.http.HttpServletRequest ; 33 import javax.servlet.http.HttpServletResponse ; 34 import org.apache.struts.action.Action; 35 import org.apache.struts.action.ActionForm; 36 import org.apache.struts.action.ActionForward; 37 import org.apache.struts.action.ActionMapping; 38 import org.apache.struts.util.MessageResources; 39 40 import org.apache.webapp.admin.ApplicationServlet; 41 import org.apache.webapp.admin.TomcatTreeBuilder; 42 import org.apache.webapp.admin.TreeControl; 43 import org.apache.webapp.admin.TreeControlNode; 44 45 46 53 54 public class DeleteServicesAction extends Action { 55 56 57 60 private String removeServiceTypes[] = 61 { "java.lang.String", }; 63 64 65 68 private MBeanServer mBServer = null; 69 70 71 73 74 89 public ActionForward execute(ActionMapping mapping, 90 ActionForm form, 91 HttpServletRequest request, 92 HttpServletResponse response) 93 throws IOException , ServletException { 94 95 96 HttpSession session = request.getSession(); 98 Locale locale = getLocale(request); 99 MessageResources resources = getResources(request); 100 101 try { 103 mBServer = ((ApplicationServlet) getServlet()).getServer(); 104 } catch (Throwable t) { 105 throw new ServletException 106 ("Cannot acquire MBeanServer reference", t); 107 } 108 109 String services[] = ((ServicesForm) form).getServices(); 111 String values[] = new String [1]; 112 String operation = "removeService"; 113 try { 114 115 TreeControl control = (TreeControl) 117 session.getAttribute("treeControlTest"); 118 119 for (int i = 0; i < services.length; i++) { 121 values[0] = services[i]; 122 ObjectName oname = new ObjectName (services[i]); 123 String domain = oname.getDomain(); 124 ObjectName fname = 125 TomcatTreeBuilder.getMBeanFactory(); 126 mBServer.invoke(fname, operation, 127 values, removeServiceTypes); 128 if (control != null) { 129 control.selectNode(null); 130 TreeControlNode node = control.findNode(services[i]); 131 if (node != null) { 132 node.remove(); 133 } else { 134 getServlet().log("Missing TreeControlNode for " + 135 services[i]); 136 } 137 } else { 138 getServlet().log("Missing TreeControl attribute"); 139 } 140 } 141 142 } catch (Exception e) { 143 144 getServlet().log 145 (resources.getMessage(locale, "users.error.invoke", 146 operation), e); 147 response.sendError 148 (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 149 resources.getMessage(locale, "users.error.invoke", 150 operation)); 151 return (null); 152 153 } 154 155 return (mapping.findForward("Save Successful")); 157 158 } 159 160 } 161 | Popular Tags |