1 16 17 package org.apache.webapp.admin.resources; 18 19 import java.io.IOException ; 20 import java.net.URLDecoder ; 21 import java.util.Iterator ; 22 import java.util.Locale ; 23 import javax.management.Attribute ; 24 import javax.management.MBeanServer ; 25 import javax.management.MBeanServerFactory ; 26 import javax.management.QueryExp ; 27 import javax.management.Query ; 28 import javax.management.ObjectInstance ; 29 import javax.management.ObjectName ; 30 import javax.management.JMException ; 31 import javax.management.MBeanAttributeInfo ; 32 import javax.management.MBeanOperationInfo ; 33 import javax.management.MBeanInfo ; 34 import javax.servlet.ServletException ; 35 import javax.servlet.http.HttpServletRequest ; 36 import javax.servlet.http.HttpServletResponse ; 37 import javax.servlet.http.HttpSession ; 38 import org.apache.struts.action.Action; 39 import org.apache.struts.action.ActionErrors; 40 import org.apache.struts.action.ActionForm; 41 import org.apache.struts.action.ActionForward; 42 import org.apache.struts.action.ActionMapping; 43 import org.apache.struts.util.MessageResources; 44 import org.apache.webapp.admin.ApplicationServlet; 45 46 47 57 58 public final class SetUpUserDatabaseAction extends Action { 59 60 62 63 66 private MBeanServer mserver = null; 67 68 69 71 72 87 public ActionForward execute(ActionMapping mapping, 88 ActionForm form, 89 HttpServletRequest request, 90 HttpServletResponse response) 91 throws IOException , ServletException { 92 93 if (mserver == null) { 95 mserver = ((ApplicationServlet) getServlet()).getServer(); 96 } 97 MessageResources resources = getResources(request); 98 HttpSession session = request.getSession(); 99 Locale locale = getLocale(request); 100 101 String objectName = request.getParameter("objectName"); 103 String domain = request.getParameter("domain"); 104 105 UserDatabaseForm userDatabaseForm = new UserDatabaseForm(); 106 userDatabaseForm.setFactory 107 (SaveUserDatabaseAction.USERDB_FACTORY); 108 userDatabaseForm.setType 109 (ResourceUtils.USERDB_CLASS); 110 userDatabaseForm.setDomain(domain); 111 112 if (objectName == null) { 113 userDatabaseForm.setNodeLabel 114 (resources.getMessage(locale, "resources.actions.userdb.create")); 115 userDatabaseForm.setObjectName(null); 116 } else { 117 userDatabaseForm.setNodeLabel 118 (resources.getMessage(locale, "resources.actions.userdb.edit")); 119 userDatabaseForm.setObjectName(objectName); 120 121 String attribute = null; 122 try { 123 ObjectName oname = new ObjectName (objectName); 124 attribute = "name"; 125 userDatabaseForm.setName 126 ((String ) mserver.getAttribute(oname, attribute)); 127 attribute = "pathname"; 128 userDatabaseForm.setPath 129 ((String ) mserver.getAttribute(oname, attribute)); 130 attribute = "description"; 131 userDatabaseForm.setDescription 132 ((String ) mserver.getAttribute(oname, attribute)); 133 } catch (Exception e) { 134 getServlet().log 135 (resources.getMessage(locale, 136 "users.error.attribute.get", attribute), e); 137 response.sendError 138 (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, 139 resources.getMessage 140 (locale, "users.error.attribute.get", attribute)); 141 return (null); 142 } 143 } 144 145 saveToken(request); 147 request.setAttribute("userDatabaseForm", userDatabaseForm); 148 return (mapping.findForward("UserDatabase")); 149 150 } 151 } 152 | Popular Tags |