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 59 60 public final class SetUpUserAction extends Action { 61 62 63 65 66 69 private MBeanServer mserver = null; 70 71 72 74 75 90 public ActionForward execute(ActionMapping mapping, 91 ActionForm form, 92 HttpServletRequest request, 93 HttpServletResponse response) 94 throws IOException , ServletException { 95 96 if (mserver == null) { 98 mserver = ((ApplicationServlet) getServlet()).getServer(); 99 } 100 MessageResources resources = getResources(request); 101 HttpSession session = request.getSession(); 102 Locale locale = getLocale(request); 103 104 String databaseName = 106 URLDecoder.decode(request.getParameter("databaseName"),TomcatTreeBuilder.URL_ENCODING); 107 try { 108 request.setAttribute("groupsForm", 109 UserUtils.getGroupsForm(mserver, 110 databaseName)); 111 } catch (Exception e) { 112 getServlet().log 113 (resources.getMessage(locale, 114 "users.error.attribute.get", 115 "groups"), e); 116 response.sendError 117 (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 118 resources.getMessage 119 (locale, "users.error.attribute.get", "groups")); 120 return (null); 121 } 122 try { 123 request.setAttribute("rolesForm", 124 UserUtils.getRolesForm(mserver, 125 databaseName)); 126 } catch (Exception e) { 127 getServlet().log 128 (resources.getMessage(locale, 129 "users.error.attribute.get", 130 "roles"), e); 131 response.sendError 132 (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 133 resources.getMessage 134 (locale, "users.error.attribute.get", "roles")); 135 return (null); 136 } 137 138 String objectName = request.getParameter("objectName"); 140 UserForm userForm = new UserForm(); 141 if (objectName == null) { 142 userForm.setNodeLabel 143 (resources.getMessage(locale, "users.user.newUser")); 144 userForm.setObjectName(null); 145 } else { 146 userForm.setNodeLabel 147 (resources.getMessage(locale, "users.user.oldUser")); 148 userForm.setObjectName(objectName); 149 String attribute = null; 150 try { 151 ObjectName oname = new ObjectName (objectName); 152 attribute = "username"; 153 userForm.setUsername 154 ((String ) mserver.getAttribute(oname, attribute)); 155 attribute = "password"; 156 userForm.setPassword 157 ((String ) mserver.getAttribute(oname, attribute)); 158 attribute = "fullName"; 159 userForm.setFullName 160 ((String ) mserver.getAttribute(oname, attribute)); 161 attribute = "groups"; 162 userForm.setGroups 163 ((String []) mserver.getAttribute(oname, attribute)); 164 attribute = "roles"; 165 userForm.setRoles 166 ((String []) mserver.getAttribute(oname, attribute)); 167 } catch (Exception e) { 168 getServlet().log 169 (resources.getMessage(locale, 170 "users.error.attribute.get", attribute), e); 171 response.sendError 172 (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 173 resources.getMessage 174 (locale, "users.error.attribute.get", attribute)); 175 return (null); 176 } 177 } 178 userForm.setDatabaseName(databaseName); 179 180 saveToken(request); 182 request.setAttribute("userForm", userForm); 183 return (mapping.findForward("User")); 184 185 } 186 187 } 188 | Popular Tags |