1 16 17 18 package org.apache.webapp.admin.valve; 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 DeleteValvesAction extends Action { 55 56 57 60 private String removeValveTypes[] = 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 valves[] = ((ValvesForm) form).getValves(); 111 String values[] = new String [1]; 112 String operation = "removeValve"; 113 try { 114 115 TreeControl control = (TreeControl) 117 session.getAttribute("treeControlTest"); 118 119 for (int i = 0; i < valves.length; i++) { 121 values[0] = valves[i]; 122 String domain = (new ObjectName (valves[i])).getDomain(); 123 ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); 124 mBServer.invoke(fname, operation, 125 values, removeValveTypes); 126 if (control != null) { 127 control.selectNode(null); 128 TreeControlNode node = control.findNode(valves[i]); 129 if (node != null) { 130 node.remove(); 131 } else { 132 getServlet().log("Missing TreeControlNode for " + 133 valves[i]); 134 } 135 } else { 136 getServlet().log("Missing TreeControl attribute"); 137 } 138 } 139 140 } catch (Exception e) { 141 142 getServlet().log 143 (resources.getMessage(locale, "users.error.invoke", 144 operation), e); 145 response.sendError 146 (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 147 resources.getMessage(locale, "users.error.invoke", 148 operation)); 149 return (null); 150 151 } 152 153 return (mapping.findForward("Save Successful")); 155 156 } 157 158 } 159 | Popular Tags |