1 16 17 18 package org.apache.webapp.admin.service; 19 20 import java.io.IOException ; 21 import java.util.Collections ; 22 import java.util.Iterator ; 23 import java.util.List ; 24 import java.util.Locale ; 25 import java.util.TreeSet ; 26 import java.util.Set ; 27 import java.util.ArrayList ; 28 import javax.servlet.ServletException ; 29 import javax.servlet.http.HttpServletRequest ; 30 import javax.servlet.http.HttpServletResponse ; 31 import javax.servlet.http.HttpSession ; 32 import org.apache.struts.action.Action; 33 import org.apache.struts.action.ActionErrors; 34 import org.apache.struts.action.ActionForm; 35 import org.apache.struts.action.ActionForward; 36 import org.apache.struts.action.ActionMapping; 37 38 import javax.management.MBeanServer ; 39 import javax.management.MBeanServerFactory ; 40 import javax.management.QueryExp ; 41 import javax.management.Query ; 42 import javax.management.ObjectInstance ; 43 import javax.management.ObjectName ; 44 import javax.management.JMException ; 45 import org.apache.struts.util.MessageResources; 46 47 import org.apache.webapp.admin.ApplicationServlet; 48 import org.apache.webapp.admin.TomcatTreeBuilder; 49 import org.apache.webapp.admin.Lists; 50 51 57 58 public class DeleteServiceAction extends Action { 59 60 61 64 private MBeanServer mBServer = null; 65 66 67 69 84 public ActionForward execute(ActionMapping mapping, 85 ActionForm form, 86 HttpServletRequest request, 87 HttpServletResponse response) 88 throws IOException , ServletException { 89 90 91 HttpSession session = request.getSession(); 93 Locale locale = getLocale(request); 94 MessageResources resources = getResources(request); 95 96 try { 98 mBServer = ((ApplicationServlet) getServlet()).getServer(); 99 } catch (Throwable t) { 100 throw new ServletException 101 ("Cannot acquire MBeanServer reference", t); 102 } 103 104 String select = request.getParameter("select"); 105 String adminService = null; 106 ObjectName oname = null; 107 String domain = null; 108 try { 111 oname = new ObjectName (select); 112 domain = oname.getDomain(); 113 adminService = Lists.getAdminAppService( 114 mBServer, domain ,request); 115 } catch (Exception e) { 116 String message = 117 resources.getMessage(locale, "error.serviceName.bad", 118 adminService); 119 getServlet().log(message); 120 response.sendError(HttpServletResponse.SC_BAD_REQUEST, message); 121 return (null); 122 } 123 request.setAttribute("adminAppService", adminService); 124 125 ServicesForm servicesForm = new ServicesForm(); 128 if (select != null) { 129 String services[] = new String [1]; 130 services[0] = select; 131 servicesForm.setServices(services); 132 } 133 request.setAttribute("servicesForm", servicesForm); 134 135 ArrayList list = new ArrayList (); 137 try { 138 String pattern = "*" + TomcatTreeBuilder.SERVICE_TYPE + 139 TomcatTreeBuilder.WILDCARD; 140 Iterator items = 141 mBServer.queryNames(new ObjectName (pattern), null).iterator(); 142 while (items.hasNext()) { 143 list.add(items.next().toString()); 144 } 145 } catch (Exception e) { 146 getServlet().log 147 (resources.getMessage(locale, "users.error.select")); 148 response.sendError 149 (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 150 resources.getMessage(locale, "users.error.select")); 151 return (null); 152 } 153 Collections.sort(list); 154 request.setAttribute("servicesList", list); 155 156 return (mapping.findForward("Services")); 158 159 } 160 161 } 162 | Popular Tags |