1 16 17 18 package org.apache.webapp.admin.users; 19 20 21 import java.io.IOException ; 22 import java.util.ArrayList ; 23 import java.util.Iterator ; 24 import java.util.Locale ; 25 import javax.servlet.ServletException ; 26 import javax.servlet.http.HttpServletRequest ; 27 import javax.servlet.http.HttpServletResponse ; 28 import javax.servlet.http.HttpSession ; 29 import org.apache.struts.action.Action; 30 import org.apache.struts.action.ActionErrors; 31 import org.apache.struts.action.ActionForm; 32 import org.apache.struts.action.ActionForward; 33 import org.apache.struts.action.ActionMapping; 34 import javax.management.Attribute ; 35 import javax.management.MBeanServer ; 36 import javax.management.MBeanServerFactory ; 37 import javax.management.QueryExp ; 38 import javax.management.Query ; 39 import javax.management.ObjectInstance ; 40 import javax.management.ObjectName ; 41 import javax.management.JMException ; 42 import javax.management.MBeanAttributeInfo ; 43 import javax.management.MBeanOperationInfo ; 44 import javax.management.MBeanInfo ; 45 import org.apache.struts.util.MessageResources; 46 import org.apache.webapp.admin.ApplicationServlet; 47 48 49 57 58 public final class DeleteGroupsAction extends Action { 59 60 61 63 64 67 private MBeanServer mserver = null; 68 69 70 72 73 88 public ActionForward execute(ActionMapping mapping, 89 ActionForm form, 90 HttpServletRequest request, 91 HttpServletResponse response) 92 throws IOException , ServletException { 93 94 if (mserver == null) { 96 mserver = ((ApplicationServlet) getServlet()).getServer(); 97 } 98 MessageResources resources = getResources(request); 99 HttpSession session = request.getSession(); 100 Locale locale = getLocale(request); 101 102 if (isCancelled(request)) { 104 return (mapping.findForward("List Groups Setup")); 105 } 106 107 if (!isTokenValid(request)) { 109 response.sendError 110 (HttpServletResponse.SC_BAD_REQUEST, 111 resources.getMessage(locale, "users.error.token")); 112 return (null); 113 } 114 115 GroupsForm groupsForm = (GroupsForm) form; 117 String databaseName = groupsForm.getDatabaseName(); 118 String groups[] = groupsForm.getGroups(); 119 if (groups == null) { 120 groups = new String [0]; 121 } 122 123 try { 125 126 ObjectName dname = new ObjectName (databaseName); 127 String signature[] = new String [1]; 128 signature[0] = "java.lang.String"; 129 Object params[] = new String [1]; 130 131 for (int i = 0; i < groups.length; i++) { 132 ObjectName oname = new ObjectName (groups[i]); 133 params[0] = ObjectName.unquote(oname.getKeyProperty("groupname")); 134 mserver.invoke(dname, "removeGroup", 135 params, signature); 136 } 137 138 } catch (Throwable t) { 139 140 getServlet().log 141 (resources.getMessage(locale, "users.error.invoke", 142 "removeGroup"), t); 143 response.sendError 144 (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 145 resources.getMessage(locale, "users.error.invoke", 146 "removeGroup")); 147 return (null); 148 149 } 150 151 try { 153 154 ObjectName dname = new ObjectName (databaseName); 155 mserver.invoke(dname, "save", 156 new Object [0], new String [0]); 157 158 } catch (Throwable t) { 159 160 getServlet().log 161 (resources.getMessage(locale, "users.error.invoke", 162 "save"), t); 163 response.sendError 164 (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 165 resources.getMessage(locale, "users.error.invoke", 166 "save")); 167 return (null); 168 169 } 170 171 return (mapping.findForward("Groups List Setup")); 173 174 } 175 176 177 } 178 | Popular Tags |