1 16 17 18 package org.apache.webapp.admin.users; 19 20 21 import java.io.IOException ; 22 import java.net.URLDecoder ; 23 import java.util.Iterator ; 24 import java.util.Locale ; 25 import javax.management.Attribute ; 26 import javax.management.MBeanServer ; 27 import javax.management.MBeanServerFactory ; 28 import javax.management.QueryExp ; 29 import javax.management.Query ; 30 import javax.management.ObjectInstance ; 31 import javax.management.ObjectName ; 32 import javax.management.JMException ; 33 import javax.management.MBeanAttributeInfo ; 34 import javax.management.MBeanOperationInfo ; 35 import javax.management.MBeanInfo ; 36 import javax.servlet.ServletException ; 37 import javax.servlet.http.HttpServletRequest ; 38 import javax.servlet.http.HttpServletResponse ; 39 import javax.servlet.http.HttpSession ; 40 import org.apache.struts.action.Action; 41 import org.apache.struts.action.ActionErrors; 42 import org.apache.struts.action.ActionForm; 43 import org.apache.struts.action.ActionForward; 44 import org.apache.struts.action.ActionMapping; 45 import org.apache.struts.util.MessageResources; 46 import org.apache.webapp.admin.ApplicationServlet; 47 import org.apache.webapp.admin.TomcatTreeBuilder; 48 49 50 60 61 public final class SetUpGroupAction extends Action { 62 63 64 66 67 70 private MBeanServer mserver = null; 71 72 73 75 76 91 public ActionForward execute(ActionMapping mapping, 92 ActionForm form, 93 HttpServletRequest request, 94 HttpServletResponse response) 95 throws IOException , ServletException { 96 97 if (mserver == null) { 99 mserver = ((ApplicationServlet) getServlet()).getServer(); 100 } 101 MessageResources resources = getResources(request); 102 HttpSession session = request.getSession(); 103 Locale locale = getLocale(request); 104 105 String databaseName = 107 URLDecoder.decode(request.getParameter("databaseName"),TomcatTreeBuilder.URL_ENCODING); 108 try { 109 request.setAttribute("rolesForm", 110 UserUtils.getRolesForm(mserver, 111 databaseName)); 112 } catch (Exception e) { 113 getServlet().log 114 (resources.getMessage(locale, 115 "users.error.attribute.get", 116 "roles"), e); 117 response.sendError 118 (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 119 resources.getMessage 120 (locale, "users.error.attribute.get", "roles")); 121 return (null); 122 } 123 124 String objectName = request.getParameter("objectName"); 126 GroupForm groupForm = new GroupForm(); 127 if (objectName == null) { 128 groupForm.setNodeLabel 129 (resources.getMessage(locale, "users.group.newGroup")); 130 groupForm.setObjectName(null); 131 } else { 132 groupForm.setNodeLabel 133 (resources.getMessage(locale, "users.group.oldGroup")); 134 groupForm.setObjectName(objectName); 135 String attribute = null; 136 try { 137 ObjectName oname = new ObjectName (objectName); 138 attribute = "groupname"; 139 groupForm.setGroupname 140 ((String ) mserver.getAttribute(oname, attribute)); 141 attribute = "description"; 142 groupForm.setDescription 143 ((String ) mserver.getAttribute(oname, attribute)); 144 attribute = "roles"; 145 groupForm.setRoles 146 ((String []) mserver.getAttribute(oname, attribute)); 147 } catch (Exception e) { 148 getServlet().log 149 (resources.getMessage(locale, 150 "users.error.attribute.get", attribute), e); 151 response.sendError 152 (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 153 resources.getMessage 154 (locale, "users.error.attribute.get", attribute)); 155 return (null); 156 } 157 } 158 groupForm.setDatabaseName(databaseName); 159 160 saveToken(request); 162 request.setAttribute("groupForm", groupForm); 163 return (mapping.findForward("Group")); 164 165 } 166 167 } 168 | Popular Tags |