amyroh 2003/03/19 21:40:11 Modified: webapps/admin/WEB-INF/classes/org/apache/webapp/admin Lists.java TomcatTreeBuilder.java webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector DeleteConnectorsAction.java SaveConnectorAction.java webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context DeleteContextsAction.java EditContextAction.java SaveContextAction.java webapps/admin/WEB-INF/classes/org/apache/webapp/admin/defaultcontext DeleteDefaultContextsAction.java SaveDefaultContextAction.java webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host DeleteHostAction.java DeleteHostsAction.java SaveHostAction.java webapps/admin/WEB-INF/classes/org/apache/webapp/admin/logger DeleteLoggersAction.java SaveLoggerAction.java webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm DeleteRealmsAction.java SaveJDBCRealmAction.java SaveJNDIRealmAction.java SaveMemoryRealmAction.java SaveUserDatabaseRealmAction.java webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server EditServerAction.java SaveServerAction.java ServerForm.java webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service AddServiceAction.java DeleteServicesAction.java EditServiceAction.java SaveServiceAction.java ServiceForm.java webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve ValveUtil.java webapps/admin/server server.jsp Log: Admin update. Revision Changes Path 1.6 +63 -46 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/Lists.java Index: Lists.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/Lists.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- Lists.java 18 Mar 2003 10:48:14 -0000 1.5 +++ Lists.java 20 Mar 2003 05:40:09 -0000 1.6 @@ -237,8 +237,8 @@ String hostPrefix = "//"+host.getKeyProperty("host"); String hostAttr = null; while (names.hasNext()) { - name = names.next().toString(); - oname = new ObjectName(name); + name = names.next().toString(); + oname = new ObjectName(name); hostAttr = oname.getKeyProperty("name"); if (hostAttr.startsWith(hostPrefix)) { contexts.add(name); @@ -285,6 +285,7 @@ public static List getDefaultContexts(MBeanServer mbserver, ObjectName container) throws Exception { + // FIXME StringBuffer sb = new StringBuffer(container.getDomain()); sb.append(":type=DefaultContext"); String type = container.getKeyProperty("type"); @@ -381,23 +382,7 @@ public static List getLoggers(MBeanServer mbserver, ObjectName container) throws Exception { - StringBuffer sb = new StringBuffer(container.getDomain()); - sb.append(":type=Logger"); - String type = container.getKeyProperty("type"); - String path = container.getKeyProperty("path"); - if (path != null) { - sb.append(",path="); - sb.append(path); - } - String host = container.getKeyProperty("host"); - if ("Host".equals(type)) { - host = container.getKeyProperty("host"); - } - if (host != null) { - sb.append(",host="); - sb.append(host); - } - ObjectName search = new ObjectName(sb.toString()); + ObjectName search = getSearchObject(container, "Logger"); ArrayList loggers = new ArrayList(); Iterator names = mbserver.queryNames(search, null).iterator(); while (names.hasNext()) { @@ -440,23 +425,7 @@ public static List getRealms(MBeanServer mbserver, ObjectName container) throws Exception { - StringBuffer sb = new StringBuffer(container.getDomain()); - sb.append(":type=Realm"); - String type = container.getKeyProperty("type"); - String path = container.getKeyProperty("path"); - if (path != null) { - sb.append(",path="); - sb.append(path); - } - String host = container.getKeyProperty("host"); - if ("Host".equals(type)) { - host = container.getKeyProperty("host"); - } - if (host != null) { - sb.append(",host="); - sb.append(host); - } - ObjectName search = new ObjectName(sb.toString()); + ObjectName search = getSearchObject(container, "Realm"); ArrayList realms = new ArrayList(); Iterator names = mbserver.queryNames(search, null).iterator(); while (names.hasNext()) { @@ -502,9 +471,19 @@ sb.append(":type=Valve"); String type = container.getKeyProperty("type"); sb.append(TomcatTreeBuilder.WILDCARD); - - String host = container.getKeyProperty("host"); - String path = container.getKeyProperty("path"); + String host = ""; + String path = ""; + String name = container.getKeyProperty("name"); + if ((name != null) && (name.length() > 0)) { + // parent is context + name = name.substring(2); + int i = name.indexOf("/"); + host = name.substring(0,i); + path = name.substring(i); + } else if ("Host".equals(type)) { + // parent is host + host = container.getKeyProperty("host"); + } ObjectName search = new ObjectName(sb.toString()); ArrayList valves = new ArrayList(); @@ -604,8 +583,9 @@ public static List getServices(MBeanServer mbserver, ObjectName server) throws Exception { - StringBuffer sb = new StringBuffer(server.getDomain()); - sb.append(":type=Service,*"); + //StringBuffer sb = new StringBuffer(server.getDomain()); + StringBuffer sb = new StringBuffer("*:type=Service,*"); + //sb.append(":type=Service,*"); ObjectName search = new ObjectName(sb.toString()); ArrayList services = new ArrayList(); Iterator names = mbserver.queryNames(search, null).iterator(); @@ -674,7 +654,7 @@ public static String getAdminAppHost (MBeanServer mbserver, String domain, HttpServletRequest request) throws Exception { - + // FIXME TEST // Get the admin app's host name StringBuffer sb = new StringBuffer(domain); sb.append(":j2eeType=WebModule,*"); @@ -698,4 +678,41 @@ } + + /** + * Return search object name to be used to query. + * + * @param container object name to query + * @param type type of the component + * + * @exception MalformedObjectNameException if thrown while retrieving the list + */ + public static ObjectName getSearchObject(ObjectName container, String type) + throws Exception { + + StringBuffer sb = new StringBuffer(container.getDomain()); + sb.append(":type="+type); + String containerType = container.getKeyProperty("type"); + String name = container.getKeyProperty("name"); + if ((name != null) && (name.length() > 0)) { + // parent is context + name = name.substring(2); + int i = name.indexOf("/"); + String host = name.substring(0,i); + String path = name.substring(i); + sb.append(",path="); + sb.append(path); + sb.append(",host="); + sb.append(host); + } else if ("Host".equals(containerType)) { + // parent is host + String host = container.getKeyProperty("host"); + sb.append(",host="); + sb.append(host); + } + + return new ObjectName(sb.toString()); + + } + } 1.4 +15 -9 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TomcatTreeBuilder.java Index: TomcatTreeBuilder.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TomcatTreeBuilder.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- TomcatTreeBuilder.java 18 Mar 2003 10:48:14 -0000 1.3 +++ TomcatTreeBuilder.java 20 Mar 2003 05:40:09 -0000 1.4 @@ -105,8 +105,10 @@ // This SERVER_LABEL needs to be localized private final static String SERVER_LABEL = "Tomcat Server"; + public final static String DEFAULT_DOMAIN = "Catalina"; public final static String SERVER_TYPE = ":type=Server"; - public final static String FACTORY_TYPE = ":type=MBeanFactory"; + public final static String FACTORY_TYPE = + DEFAULT_DOMAIN + ":type=MBeanFactory"; public final static String SERVICE_TYPE = ":type=Service"; public final static String ENGINE_TYPE = ":type=Engine"; public final static String CONNECTOR_TYPE = ":type=Connector"; @@ -139,10 +141,10 @@ } - public static ObjectName getMBeanFactory(String domain) + public static ObjectName getMBeanFactory() throws MalformedObjectNameException { - return new ObjectName(domain+FACTORY_TYPE + WILDCARD); + return new ObjectName(FACTORY_TYPE); } @@ -202,7 +204,7 @@ String serviceName = (String) serviceNames.next(); ObjectName objectName = new ObjectName(serviceName); String nodeLabel = - "Service (" + objectName.getKeyProperty("name") + ")"; + "Service (" + objectName.getDomain() + ")"; TreeControlNode serviceNode = new TreeControlNode(serviceName, "Service.gif", @@ -320,8 +322,12 @@ while (contextNames.hasNext()) { String contextName = (String) contextNames.next(); ObjectName objectName = new ObjectName(contextName); + String name = objectName.getKeyProperty("name"); + name = name.substring(2); + int i = name.indexOf("/"); + String path = name.substring(i); String nodeLabel = - "Context (" + objectName.getKeyProperty("path") + ")"; + "Context (" + path + ")"; TreeControlNode contextNode = new TreeControlNode(contextName, "Context.gif", 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorsAction.java Index: DeleteConnectorsAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/DeleteConnectorsAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DeleteConnectorsAction.java 18 Mar 2003 10:48:14 -0000 1.2 +++ DeleteConnectorsAction.java 20 Mar 2003 05:40:09 -0000 1.3 @@ -181,7 +181,7 @@ node = control.findNode(connectors[i]); domain = node.getDomain(); // Look up our MBeanFactory MBean - fname = TomcatTreeBuilder.getMBeanFactory(domain); + fname = TomcatTreeBuilder.getMBeanFactory(); mBServer.invoke(fname, operation, values, removeConnectorTypes); if (node != null) { 1.3 +10 -12 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java Index: SaveConnectorAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/connector/SaveConnectorAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SaveConnectorAction.java 18 Mar 2003 10:48:14 -0000 1.2 +++ SaveConnectorAction.java 20 Mar 2003 05:40:09 -0000 1.3 @@ -175,12 +175,10 @@ Object values[] = null; try { - + // get service name which is same as domain String serviceName = cform.getServiceName(); - coname = new ObjectName(cObjectName); - String domain = coname.getDomain(); ObjectName oname = - new ObjectName(domain + TomcatTreeBuilder.CONNECTOR_TYPE + + new ObjectName(serviceName + TomcatTreeBuilder.CONNECTOR_TYPE + ",port=" + cform.getPortText() + ",address=" + cform.getAddress()); @@ -194,12 +192,12 @@ } // Look up our MBeanFactory MBean - ObjectName fname = TomcatTreeBuilder.getMBeanFactory(domain); + ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); // Create a new Connector object values = new Object[3]; values[0] = // parent - domain + TomcatTreeBuilder.SERVICE_TYPE + ",name=" + serviceName; + serviceName + TomcatTreeBuilder.SERVICE_TYPE + ",name=" + serviceName; values[1] = cform.getAddress(); values[2] = new Integer(cform.getPortText()); @@ -219,7 +217,7 @@ TreeControl control = (TreeControl) session.getAttribute("treeControlTest"); if (control != null) { - String parentName = domain + TomcatTreeBuilder.SERVICE_TYPE + String parentName = serviceName + TomcatTreeBuilder.SERVICE_TYPE + ",name=" + serviceName; TreeControlNode parentNode = control.findNode(parentName); if (parentNode != null) { @@ -234,7 +232,7 @@ "EditConnector.do?select=" + encodedName, "content", - true, domain); + true, serviceName); // FIXME--the node should be next to the rest of // the Connector nodes.. parentNode.addChild(childNode); 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextsAction.java Index: DeleteContextsAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/DeleteContextsAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DeleteContextsAction.java 18 Mar 2003 10:48:15 -0000 1.2 +++ DeleteContextsAction.java 20 Mar 2003 05:40:09 -0000 1.3 @@ -177,7 +177,7 @@ control.selectNode(null); TreeControlNode node = control.findNode(contexts[i]); String domain = node.getDomain(); - ObjectName fname = TomcatTreeBuilder.getMBeanFactory(domain); + ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); mBServer.invoke(fname, operation, values, removeContextTypes); if (node != null) { 1.4 +14 -14 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/EditContextAction.java Index: EditContextAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/EditContextAction.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- EditContextAction.java 18 Mar 2003 10:48:15 -0000 1.3 +++ EditContextAction.java 20 Mar 2003 05:40:09 -0000 1.4 @@ -166,15 +166,17 @@ response.sendError(HttpServletResponse.SC_BAD_REQUEST, message); return (null); } - + String name = cname.getKeyProperty("name"); + name = name.substring(2); + int i = name.indexOf("/"); + String host = name.substring(0,i); + String path = name.substring(i); // Get the corresponding loader try { sb = new StringBuffer(cname.getDomain()); sb.append(":type=Loader"); - sb.append(",path="); - sb.append(cname.getKeyProperty("path")); - sb.append(",host="); - sb.append(cname.getKeyProperty("host")); + sb.append(",path="+path); + sb.append(",host="+host); lname = new ObjectName(sb.toString()); } catch (Exception e) { String message = @@ -190,10 +192,8 @@ try { sb = new StringBuffer(cname.getDomain()); sb.append(":type=Manager"); - sb.append(",path="); - sb.append(cname.getKeyProperty("path")); - sb.append(",host="); - sb.append(cname.getKeyProperty("host")); + sb.append(",path="+path); + sb.append(",host="+host); mname = new ObjectName(sb.toString()); } catch (Exception e) { String message = @@ -212,7 +212,7 @@ contextFm.setLoaderObjectName(lname.toString()); contextFm.setManagerObjectName(mname.toString()); sb = new StringBuffer("Context ("); - sb.append(cname.getKeyProperty("path")); + sb.append(path); sb.append(")"); contextFm.setNodeLabel(sb.toString()); contextFm.setDebugLvlVals(Lists.getDebugLevels()); 1.6 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/SaveContextAction.java Index: SaveContextAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/context/SaveContextAction.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- SaveContextAction.java 18 Mar 2003 10:48:15 -0000 1.5 +++ SaveContextAction.java 20 Mar 2003 05:40:09 -0000 1.6 @@ -217,7 +217,7 @@ // Look up our MBeanFactory MBean ObjectName fname = - TomcatTreeBuilder.getMBeanFactory(oname.getDomain()); + TomcatTreeBuilder.getMBeanFactory(); // Create a new StandardContext object values = new Object[3]; 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/defaultcontext/DeleteDefaultContextsAction.java Index: DeleteDefaultContextsAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/defaultcontext/DeleteDefaultContextsAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DeleteDefaultContextsAction.java 18 Mar 2003 10:48:17 -0000 1.2 +++ DeleteDefaultContextsAction.java 20 Mar 2003 05:40:09 -0000 1.3 @@ -178,7 +178,7 @@ control.selectNode(null); TreeControlNode node = control.findNode(defaultContexts[i]); String domain = node.getDomain(); - ObjectName fname = TomcatTreeBuilder.getMBeanFactory(domain); + ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); mBServer.invoke(fname, operation, values, removeDefaultContextTypes); if (node != null) { 1.6 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/defaultcontext/SaveDefaultContextAction.java Index: SaveDefaultContextAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/defaultcontext/SaveDefaultContextAction.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- SaveDefaultContextAction.java 18 Mar 2003 10:48:17 -0000 1.5 +++ SaveDefaultContextAction.java 20 Mar 2003 05:40:09 -0000 1.6 @@ -218,7 +218,7 @@ } // Look up our MBeanFactory MBean - ObjectName fname = TomcatTreeBuilder.getMBeanFactory(domain); + ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); // Create a new DefaultContext object values = new Object[1]; 1.4 +19 -20 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostAction.java Index: DeleteHostAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostAction.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- DeleteHostAction.java 18 Mar 2003 10:48:22 -0000 1.3 +++ DeleteHostAction.java 20 Mar 2003 05:40:09 -0000 1.4 @@ -154,22 +154,6 @@ ("Cannot acquire MBeanServer reference", t); } - String adminHost = null; - // Get the host name the admin app runs on - // this host cannot be deleted from the admin tool - try { - adminHost = Lists.getAdminAppHost( - mBServer, "Catalina" ,request); - } catch (Exception e) { - String message = - resources.getMessage("error.hostName.bad", - adminHost); - getServlet().log(message); - response.sendError(HttpServletResponse.SC_BAD_REQUEST, message); - return (null); - } - request.setAttribute("adminAppHost", adminHost); - String serviceName = request.getParameter("serviceName"); // Set up a form bean containing the currently selected // objects to be deleted @@ -188,6 +172,21 @@ ("Error extracting service name from the host to be deleted", e); } } + String adminHost = null; + // Get the host name the admin app runs on + // this host cannot be deleted from the admin tool + try { + adminHost = Lists.getAdminAppHost( + mBServer, "domain" ,request); + } catch (Exception e) { + String message = + resources.getMessage("error.hostName.bad", + adminHost); + getServlet().log(message); + response.sendError(HttpServletResponse.SC_BAD_REQUEST, message); + return (null); + } + request.setAttribute("adminAppHost", adminHost); request.setAttribute("hostsForm", hostsForm); // Accumulate a list of all available hosts 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostsAction.java Index: DeleteHostsAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/DeleteHostsAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DeleteHostsAction.java 18 Mar 2003 10:48:22 -0000 1.2 +++ DeleteHostsAction.java 20 Mar 2003 05:40:09 -0000 1.3 @@ -177,7 +177,7 @@ control.selectNode(null); TreeControlNode node = control.findNode(hosts[i]); String domain = node.getDomain(); - ObjectName fname = TomcatTreeBuilder.getMBeanFactory(domain); + ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); mBServer.invoke(fname, operation, values, removeHostTypes); if (node != null) { 1.5 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveHostAction.java Index: SaveHostAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/host/SaveHostAction.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- SaveHostAction.java 18 Mar 2003 10:48:22 -0000 1.4 +++ SaveHostAction.java 20 Mar 2003 05:40:09 -0000 1.5 @@ -201,7 +201,7 @@ } // Look up our MBeanFactory MBean - ObjectName fname = TomcatTreeBuilder.getMBeanFactory(domain); + ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); // Create a new StandardHost object values = new Object[9]; 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/logger/DeleteLoggersAction.java Index: DeleteLoggersAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/logger/DeleteLoggersAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DeleteLoggersAction.java 18 Mar 2003 10:48:23 -0000 1.2 +++ DeleteLoggersAction.java 20 Mar 2003 05:40:10 -0000 1.3 @@ -176,7 +176,7 @@ control.selectNode(null); TreeControlNode node = control.findNode(loggers[i]); String domain = node.getDomain(); - ObjectName fname = TomcatTreeBuilder.getMBeanFactory(domain); + ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); mBServer.invoke(fname, operation, values, removeLoggerTypes); if (node != null) { 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/logger/SaveLoggerAction.java Index: SaveLoggerAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/logger/SaveLoggerAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SaveLoggerAction.java 18 Mar 2003 10:48:23 -0000 1.2 +++ SaveLoggerAction.java 20 Mar 2003 05:40:10 -0000 1.3 @@ -213,7 +213,7 @@ String domain = oname.getDomain(); // Look up our MBeanFactory MBean ObjectName fname = - TomcatTreeBuilder.getMBeanFactory(domain); + TomcatTreeBuilder.getMBeanFactory(); // Create a new StandardLogger object values = new String[1]; 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmsAction.java Index: DeleteRealmsAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/DeleteRealmsAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DeleteRealmsAction.java 18 Mar 2003 10:48:23 -0000 1.2 +++ DeleteRealmsAction.java 20 Mar 2003 05:40:10 -0000 1.3 @@ -177,7 +177,7 @@ TreeControlNode node = control.findNode(realms[i]); String domain = node.getDomain(); ObjectName fname = - TomcatTreeBuilder.getMBeanFactory(domain); + TomcatTreeBuilder.getMBeanFactory(); mBServer.invoke(fname, operation, values, removeRealmTypes); if (node != null) { 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJDBCRealmAction.java Index: SaveJDBCRealmAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJDBCRealmAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SaveJDBCRealmAction.java 18 Mar 2003 10:48:23 -0000 1.2 +++ SaveJDBCRealmAction.java 20 Mar 2003 05:40:10 -0000 1.3 @@ -213,7 +213,7 @@ String domain = oname.getDomain(); // Look up our MBeanFactory MBean ObjectName fname = - TomcatTreeBuilder.getMBeanFactory(domain); + TomcatTreeBuilder.getMBeanFactory(); // Create a new StandardRealm object values = new String[1]; 1.6 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java Index: SaveJNDIRealmAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveJNDIRealmAction.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- SaveJNDIRealmAction.java 18 Mar 2003 10:48:23 -0000 1.5 +++ SaveJNDIRealmAction.java 20 Mar 2003 05:40:10 -0000 1.6 @@ -214,7 +214,7 @@ String domain = oname.getDomain(); // Look up our MBeanFactory MBean ObjectName fname = - TomcatTreeBuilder.getMBeanFactory(domain); + TomcatTreeBuilder.getMBeanFactory(); // Create a new StandardRealm object values = new String[1]; 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveMemoryRealmAction.java Index: SaveMemoryRealmAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveMemoryRealmAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SaveMemoryRealmAction.java 18 Mar 2003 10:48:23 -0000 1.2 +++ SaveMemoryRealmAction.java 20 Mar 2003 05:40:10 -0000 1.3 @@ -212,7 +212,7 @@ String domain = oname.getDomain(); // Look up our MBeanFactory MBean - ObjectName fname = TomcatTreeBuilder.getMBeanFactory(domain); + ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); // Create a new StandardRealm object values = new String[1]; 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveUserDatabaseRealmAction.java Index: SaveUserDatabaseRealmAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/realm/SaveUserDatabaseRealmAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SaveUserDatabaseRealmAction.java 18 Mar 2003 10:48:23 -0000 1.2 +++ SaveUserDatabaseRealmAction.java 20 Mar 2003 05:40:10 -0000 1.3 @@ -213,7 +213,7 @@ String domain = oname.getDomain(); // Look up our MBeanFactory MBean - ObjectName fname = TomcatTreeBuilder.getMBeanFactory(domain); + ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); // Create a new StandardRealm object values = new String[2]; 1.2 +8 -6 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/EditServerAction.java Index: EditServerAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/EditServerAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- EditServerAction.java 18 Jul 2002 16:48:24 -0000 1.1 +++ EditServerAction.java 20 Mar 2003 05:40:10 -0000 1.2 @@ -154,16 +154,18 @@ } // label of the node that was clicked on. - String nodeLabel = request.getParameter("nodeLabel"); + String nodeLabel = request.getParameter("nodeLabel"); + String select = request.getParameter("select"); ServerForm serverFm = new ServerForm(); session.setAttribute("serverForm", serverFm); serverFm.setNodeLabel(nodeLabel); serverFm.setDebugLvlVals(Lists.getDebugLevels()); + serverFm.setObjectName(select); ObjectName sname = null; try { - sname = new ObjectName(TomcatTreeBuilder.SERVER_TYPE); + sname = new ObjectName(select); } catch (Exception e) { String message = resources.getMessage("error.serviceName.bad", 1.2 +9 -8 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/SaveServerAction.java Index: SaveServerAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/SaveServerAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SaveServerAction.java 18 Jul 2002 16:48:24 -0000 1.1 +++ SaveServerAction.java 20 Mar 2003 05:40:10 -0000 1.2 @@ -152,16 +152,17 @@ return (new ActionForward(mapping.getInput())); } - // Acquire a reference to the Server MBean + ServerForm sform = (ServerForm) form; + String sObjectName = sform.getObjectName(); + // Acquire a reference to the Server MBean ObjectName soname = null; try { - soname = new ObjectName(TomcatTreeBuilder.SERVER_TYPE); - } catch (Throwable t) { + soname = new ObjectName(sObjectName); + } catch (Throwable t) { throw new ServletException ("Cannot acquire Server MBean reference ", t); } - ServerForm sform = (ServerForm) form; // Perform attribute updates as requested String attribute = null; 1.2 +28 -4 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/ServerForm.java Index: ServerForm.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/server/ServerForm.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ServerForm.java 18 Jul 2002 16:48:24 -0000 1.1 +++ ServerForm.java 20 Mar 2003 05:40:10 -0000 1.2 @@ -105,6 +105,11 @@ private List debugLvlVals = null; + /** + * The object name of the Connector this bean refers to. + */ + private String objectName = null; + // ------------------------------------------------------------- Properties /** * Return the label of the node that was clicked. @@ -194,6 +199,25 @@ this.shutdownText = shutdownText; + } + + /** + * Return the object name of the Connector this bean refers to. + */ + public String getObjectName() { + + return this.objectName; + + } + + + /** + * Set the object name of the Connector this bean refers to. + */ + public void setObjectName(String objectName) { + + this.objectName = objectName; + } // --------------------------------------------------------- Public Methods 1.2 +7 -4 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java Index: AddServiceAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AddServiceAction.java 18 Jul 2002 16:48:24 -0000 1.1 +++ AddServiceAction.java 20 Mar 2003 05:40:11 -0000 1.2 @@ -122,6 +122,8 @@ resources = getServlet().getResources(); } + String serverName = request.getParameter("serverName"); + // Fill in the form values for display and editing ServiceForm serviceFm = new ServiceForm(); session.setAttribute("serviceForm", serviceFm); @@ -134,6 +136,7 @@ serviceFm.setDefaultHost("localhost"); serviceFm.setAdminServiceName(""); serviceFm.setDebugLvlVals(Lists.getDebugLevels()); + serviceFm.setServerObjectName(serverName); ArrayList hosts = new ArrayList(); hosts.add(new LabelValueBean (resources.getMessage("list.none"), "")); 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServicesAction.java Index: DeleteServicesAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServicesAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- DeleteServicesAction.java 18 Mar 2003 10:48:26 -0000 1.2 +++ DeleteServicesAction.java 20 Mar 2003 05:40:11 -0000 1.3 @@ -175,7 +175,7 @@ ObjectName oname = new ObjectName(services[i]); String domain = oname.getDomain(); ObjectName fname = - TomcatTreeBuilder.getMBeanFactory(domain); + TomcatTreeBuilder.getMBeanFactory(); mBServer.invoke(fname, operation, values, removeServiceTypes); if (control != null) { 1.3 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java Index: EditServiceAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- EditServiceAction.java 17 Mar 2003 07:50:13 -0000 1.2 +++ EditServiceAction.java 20 Mar 2003 05:40:11 -0000 1.3 @@ -197,7 +197,7 @@ serviceFm.setObjectName(sname.toString()); serviceFm.setEngineObjectName(ename.toString()); sb = new StringBuffer("Service ("); - sb.append(sname.getKeyProperty("name")); + sb.append(sname.getDomain()); sb.append(")"); serviceFm.setNodeLabel(sb.toString()); serviceFm.setAdminServiceName(adminService); 1.3 +61 -32 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java Index: SaveServiceAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- SaveServiceAction.java 18 Mar 2003 10:48:26 -0000 1.2 +++ SaveServiceAction.java 20 Mar 2003 05:40:11 -0000 1.3 @@ -65,6 +65,7 @@ import java.net.URLEncoder; import java.util.Iterator; import java.util.Locale; +import java.util.Vector; import java.io.IOException; import javax.management.Attribute; import javax.management.MBeanServer; @@ -97,6 +98,7 @@ * <em>Edit Service</em> transactions. * * @author Manveen Kaur + * @author Amy Roh * @version $Revision$ $Date$ */ @@ -122,6 +124,18 @@ private String createStandardServiceTypes[] = { "java.lang.String", // parent "java.lang.String", // name + "java.lang.String" // domain + }; + + + /** + * Signature for the <code>createStandardEngineService</code> operation. + */ + private String createStandardEngineServiceTypes[] = + { "java.lang.String", // parent + "java.lang.String", // engineName + "java.lang.String", // defaultHost + "java.lang.String" // serviceName }; @@ -181,7 +195,9 @@ String adminAction = sform.getAdminAction(); String sObjectName = sform.getObjectName(); String eObjectName = sform.getEngineObjectName(); - + String serverObjectName = sform.getServerObjectName(); + ObjectName eoname = null; + ObjectName soname = null; // Perform a "Create Service" transaction (if requested) if ("Create".equals(adminAction)) { @@ -189,12 +205,12 @@ String values[] = null; try { - - String domain = (new ObjectName(sObjectName)).getDomain(); + // engine name is domain + String engineName = sform.getEngineName(); + String domain = (new ObjectName(serverObjectName)).getDomain(); // Ensure that the requested service name is unique ObjectName oname = - new ObjectName(domain + TomcatTreeBuilder.SERVICE_TYPE + - ",name=" + sform.getServiceName()); + new ObjectName(engineName + TomcatTreeBuilder.SERVICE_TYPE); if (mBServer.isRegistered(oname)) { ActionErrors errors = new ActionErrors(); errors.add("serviceName", @@ -204,29 +220,45 @@ } // Look up our MBeanFactory MBean - ObjectName fname = TomcatTreeBuilder.getMBeanFactory(domain); + ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); - // Create a new StandardService object - values = new String[2]; - values[0] = domain + TomcatTreeBuilder.SERVER_TYPE; - values[1] = sform.getServiceName(); - operation = "createStandardService"; - sObjectName = (String) + // Create a new StandardService and StandardEngine object + values = new String[4]; + values[0] = TomcatTreeBuilder.SERVER_TYPE; + values[1] = engineName; + values[2] = sform.getDefaultHost(); + values[3] = sform.getServiceName(); + operation = "createStandardEngineService"; + Vector onames = (Vector) mBServer.invoke(fname, operation, - values, createStandardServiceTypes); + values, createStandardEngineServiceTypes); + eoname = (ObjectName)onames.get(0); + soname = (ObjectName)onames.get(1); + sObjectName = soname.toString(); + eObjectName = eoname.toString(); + + // Create a new StandardService object + //values = new String[3]; + //values[0] = TomcatTreeBuilder.SERVER_TYPE; + //values[1] = sform.getServiceName(); + //values[2] = engineName; + //operation = "createStandardService"; + //sObjectName = (String) + // mBServer.invoke(fname, operation, + // values, createStandardServiceTypes); // Create a new StandardEngine object - values = new String[3]; - values[0] = sObjectName; - values[1] = sform.getEngineName(); - values[2] = sform.getDefaultHost(); - if ("".equals(values[2])) { - values[2] = null; - } - operation = "createStandardEngine"; - eObjectName = (String) - mBServer.invoke(fname, operation, - values, createStandardEngineTypes); + //values = new String[3]; + //values[0] = sObjectName; + //values[1] = sform.getEngineName(); + //values[2] = sform.getDefaultHost(); + //if ("".equals(values[2])) { + // values[2] = null; + //} + //operation = "createStandardEngine"; + //eObjectName = (String) + // mBServer.invoke(fname, operation, + // values, createStandardEngineTypes); // Add the new Service to our tree control node TreeControl control = (TreeControl) @@ -236,7 +268,7 @@ TreeControlNode parentNode = control.findNode(parentName); if (parentNode != null) { String nodeLabel = - "Service (" + sform.getServiceName() + ")"; + "Service (" + oname.getDomain() + ")"; String encodedName = URLEncoder.encode(sObjectName); TreeControlNode childNode = @@ -276,9 +308,6 @@ // Perform attribute updates as requested String attribute = null; try { - - ObjectName soname = new ObjectName(sObjectName); - ObjectName eoname = new ObjectName(eObjectName); attribute = "debug"; int debug = 0; 1.2 +29 -4 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java Index: ServiceForm.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ServiceForm.java 18 Jul 2002 16:48:24 -0000 1.1 +++ ServiceForm.java 20 Mar 2003 05:40:11 -0000 1.2 @@ -103,6 +103,11 @@ * The text for the serviceName. */ private String serviceName = null; + + /** + * The text for the serverObjectName. + */ + private String serverObjectName = null; /** * The text for the node label. @@ -293,6 +298,24 @@ } /** + * Return the Server ObjectName. + */ + public String getServerObjectName() { + + return this.serverObjectName; + + } + + /** + * Set the Server Name. + */ + public void setServerObjectName(String serverObjectName) { + + this.serverObjectName = serverObjectName; + + } + + /** * Return the Service Name. */ public String getServiceName() { @@ -386,6 +409,8 @@ sb.append(objectName); sb.append("',serviceName="); sb.append(serviceName); + sb.append("',serverObjectName="); + sb.append(serverObjectName); sb.append("',adminServiceName="); sb.append(adminServiceName); sb.append("]"); 1.6 +5 -5 jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveUtil.java Index: ValveUtil.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/valve/ValveUtil.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ValveUtil.java 18 Mar 2003 10:48:26 -0000 1.5 +++ ValveUtil.java 20 Mar 2003 05:40:11 -0000 1.6 @@ -180,7 +180,7 @@ String domain = pname.getDomain(); // Look up our MBeanFactory MBean - ObjectName fname = TomcatTreeBuilder.getMBeanFactory(domain); + ObjectName fname = TomcatTreeBuilder.getMBeanFactory(); // Create a new StandardValve object values = new String[1]; 1.4 +9 -3 jakarta-tomcat-catalina/webapps/admin/server/server.jsp Index: server.jsp =================================================================== RCS file: /home/cvs/jakarta-tomcat-catalina/webapps/admin/server/server.jsp,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- server.jsp 23 Jan 2003 00:07:09 -0000 1.3 +++ server.jsp 20 Mar 2003 05:40:11 -0000 1.4 @@ -1,6 +1,6 @@ <!-- Standard Struts Entries --> -<%@ page language="java" contentType="text/html;charset=utf-8" %> +<%@ page language="java" import="java.net.URLEncoder" contentType="text/html;charset=utf-8" %> <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %> <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %> @@ -18,6 +18,10 @@ <html:errors/> <html:form method="POST" action="/SaveServer" focus="portNumberText"> + <bean:define id="thisObjectName" type="java.lang.String" + name="serverForm" property="objectName"/> + <html:hidden property="objectName"/> + <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr class="page-title-row"> <td align="left" nowrap> @@ -34,10 +38,12 @@ <controls:action> --------------------------------- </controls:action> - <controls:action url="/AddService.do"> + <controls:action url='<%= "/AddService.do?serverName=" + + URLEncoder.encode(thisObjectName) %>'> <bean:message key="actions.services.create"/> </controls:action> - <controls:action url="/DeleteService.do"> + <controls:action url='<%= "/DeleteService.do?serverName=" + + URLEncoder.encode(thisObjectName) %>'> <bean:message key="actions.services.deletes"/> </controls:action> </controls:actions>
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]