craigmcc 02/03/06 18:48:55 Modified: catalina/src/share/org/apache/catalina/mbeans MBeanFactory.java mbeans-descriptors.xml webapps/admin saved.jsp server.jsp webapps/admin/WEB-INF struts-config.xml webapps/admin/WEB-INF/classes/org/apache/webapp/admin ApplicationResources_en.properties DumpServerAction.java TreeControl.java TreeControlNode.java webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service AddServiceAction.java DeleteServiceAction.java EditServiceAction.java SaveServiceAction.java ServiceForm.java webapps/admin/service service.jsp Added: webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service DeleteServicesAction.java ServicesForm.java webapps/admin/service services.jsp Removed: webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service SetUpDeleteServiceAction.java webapps/admin/service deleteService.jsp Log: Finish refactoring admin transactions for services (including deletes). Revision Changes Path 1.8 +48 -5 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java Index: MBeanFactory.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- MBeanFactory.java 6 Mar 2002 06:49:11 -0000 1.7 +++ MBeanFactory.java 7 Mar 2002 02:48:53 -0000 1.8 @@ -1,13 +1,13 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java,v 1.7 2002/03/06 06:49:11 craigmcc Exp $ - * $Revision: 1.7 $ - * $Date: 2002/03/06 06:49:11 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/MBeanFactory.java,v 1.8 2002/03/07 02:48:53 craigmcc Exp $ + * $Revision: 1.8 $ + * $Date: 2002/03/07 02:48:53 $ * * ==================================================================== * * The Apache Software License, Version 1.1 * - * Copyright (c) 1999 The Apache Software Foundation. All rights + * Copyright (c) 1999-2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -106,7 +106,7 @@ * <code>org.apache.catalina.core.StandardServer</code> component.</p> * * @author Amy Roh - * @version $Revision: 1.7 $ $Date: 2002/03/06 06:49:11 $ + * @version $Revision: 1.8 $ $Date: 2002/03/07 02:48:53 $ */ public class MBeanFactory extends BaseModelMBean { @@ -836,6 +836,49 @@ } + /** + * Remove an existing Host. + * + * @param name MBean Name of the comonent to remove + * + * @exception Exception if a component cannot be removed + */ + public void removeHost(String name) throws Exception { + + // Acquire a reference to the component to be removed + ObjectName oname = new ObjectName(name); + String serviceName = oname.getKeyProperty("service"); + String hostName = oname.getKeyProperty("host"); + Server server = ServerFactory.getServer(); + Service service = server.findService(serviceName); + Engine engine = (Engine) service.getContainer(); + Host host = (Host) engine.findChild(hostName); + + // Remove this component from its parent component + engine.removeChild(host); + + } + + + /** + * Remove an existing Service. + * + * @param name MBean Name of the component to remove + * + * @exception Exception if a component cannot be removed + */ + public void removeService(String name) throws Exception { + + // Acquire a reference to the component to be removed + ObjectName oname = new ObjectName(name); + String serviceName = oname.getKeyProperty("name"); + Server server = ServerFactory.getServer(); + Service service = server.findService(serviceName); + + // Remove this component from its parent component + server.removeService(service); + + } } 1.34 +31 -7 jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml Index: mbeans-descriptors.xml =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/catalina/src/share/org/apache/catalina/mbeans/mbeans-descriptors.xml,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- mbeans-descriptors.xml 6 Mar 2002 06:49:11 -0000 1.33 +++ mbeans-descriptors.xml 7 Mar 2002 02:48:53 -0000 1.34 @@ -6,7 +6,7 @@ <!-- Descriptions of JMX MBeans for Catalina - $Id: mbeans-descriptors.xml,v 1.33 2002/03/06 06:49:11 craigmcc Exp $ + $Id: mbeans-descriptors.xml,v 1.34 2002/03/07 02:48:53 craigmcc Exp $ --> <mbeans-descriptors> @@ -925,12 +925,9 @@ domain="Catalina"> <!-- IMPLEMENTATION NOTE - all of the createXxxxx methods create a new --> - <!-- MBean and the corresponding component, but do NOT attach them to --> - <!-- the corresponding parent component. This allows a management tool --> - <!-- to customize the attributes of the new MBean before calling an --> - <!-- appropriate addXxxxx or setXxxxxoperation on the MBean of the --> - <!-- parent component. The return value is the MBean name of the --> - <!-- MBean associated with the newly created component. --> + <!-- component and attach it to Catalina's component tree. The return --> + <!-- value is the object name of the corresponding MBean for the new --> + <!-- component. --> <operation name="createAccessLoggerValve" description="Create a new AccessLoggerValve" @@ -1148,6 +1145,29 @@ type="java.lang.String"/> </operation> + <!-- IMPLEMENTATION NOTE - all of the removeXxxxx methods cause the --> + <!-- corresponding Catalina component (and any related child --> + <!-- components to be stopped (if necessary) and removed, and the --> + <!-- corresponding MBeans to be destroyed. --> + + <operation name="removeHost" + description="Remove an existing Host" + impact="ACTION" + returnType="void"> + <parameter name="name" + description="MBean Name of the component to be removed" + type="java.lang.String"/> + </operation> + + <operation name="removeService" + description="Remove an existing Service" + impact="ACTION" + returnType="void"> + <parameter name="name" + description="MBean Name of the component to be removed" + type="java.lang.String"/> + </operation> + </mbean> @@ -1936,6 +1956,7 @@ description="Shutdown password" type="java.lang.String"/> +<!-- <operation name="addService" description="Add a new Service associated with this Server" impact="ACTION" @@ -1953,6 +1974,7 @@ description="MBean Name of the Service to be removed" type="java.lang.String"/> </operation> +--> </mbean> @@ -1976,6 +1998,7 @@ description="Unique name of this Service" type="java.lang.String"/> +<!-- <operation name="addConnector" description="Add a new Connector associated with this Service" impact="ACTION" @@ -1994,6 +2017,7 @@ description="MBean Name of the Connector to be removed" type="java.lang.String"/> </operation> +--> </mbean> 1.2 +13 -16 jakarta-tomcat-4.0/webapps/admin/saved.jsp Index: saved.jsp =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/saved.jsp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- saved.jsp 20 Nov 2001 05:54:03 -0000 1.1 +++ saved.jsp 7 Mar 2002 02:48:54 -0000 1.2 @@ -7,26 +7,23 @@ <html:html locale="true"> -<!-- Standard Content --> + <body bgcolor="white"> -<%@ include file="header.jsp" %> + <%-- Cause our tree control to refresh itself --%> + <script language="JavaScript"> + <!-- + parent.tree.location='treeControlTest.do'; + --> + </script> -<!-- Body --> + <%@ include file="header.jsp" %> -<body bgcolor="white"> + <center><h2> + <bean:message key="save.success"/> + </h2></center> -<center> + <%@ include file="footer.jsp" %> -<h2> - <bean:message key="save.success"/> -</h2> - -</center> - -</body> - -<!-- Standard Footer --> - -<%@ include file="footer.jsp" %> + </body> </html:html> 1.12 +13 -7 jakarta-tomcat-4.0/webapps/admin/server.jsp Index: server.jsp =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/server.jsp,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- server.jsp 6 Mar 2002 06:49:11 -0000 1.11 +++ server.jsp 7 Mar 2002 02:48:54 -0000 1.12 @@ -22,18 +22,24 @@ <tr class="page-title-row"> <td align="left" nowrap> <div class="page-title-text"> - <bean:write name="serverForm" property="nodeLabel" scope="session"/> + <bean:write name="serverForm" property="nodeLabel"/> </div> </td> <td align="right" nowrap> <div class="page-title-text"> <controls:actions> - <controls:action selected="true"> ----<bean:message key="actions.available.actions"/>---- </controls:action> - <controls:action> --------------------------------- </controls:action> - <controls:action url="AddService.do"> <bean:message key="actions.services.create"/> </controls:action> - <%-- - <controls:action url="setUpDeleteService.do"> <bean:message key="actions.services.delete"/> </controls:action> - --%> + <controls:action selected="true"> + ----<bean:message key="actions.available.actions"/>---- + </controls:action> + <controls:action> + --------------------------------- + </controls:action> + <controls:action url="AddService.do"> + <bean:message key="actions.services.create"/> + </controls:action> + <controls:action url="DeleteService.do"> + <bean:message key="actions.services.deletes"/> + </controls:action> </controls:actions> </div> </td> 1.34 +36 -53 jakarta-tomcat-4.0/webapps/admin/WEB-INF/struts-config.xml Index: struts-config.xml =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/struts-config.xml,v retrieving revision 1.33 retrieving revision 1.34 diff -u -r1.33 -r1.34 --- struts-config.xml 6 Mar 2002 06:49:11 -0000 1.33 +++ struts-config.xml 7 Mar 2002 02:48:54 -0000 1.34 @@ -19,14 +19,6 @@ <form-bean name="serverForm" type="org.apache.webapp.admin.ServerForm"/> - <!-- Service form bean --> - <form-bean name="serviceForm" - type="org.apache.webapp.admin.service.ServiceForm"/> - - <!-- Delete Service form bean --> - <form-bean name="deleteServiceForm" - type="org.apache.webapp.admin.service.DeleteServiceForm"/> - <!-- Connector form bean --> <form-bean name="connectorForm" type="org.apache.webapp.admin.connector.ConnectorForm"/> @@ -72,6 +64,15 @@ type="org.apache.webapp.admin.realm.UserDBRealmForm"/> + <!-- ============= Service Module ============= --> + + <form-bean name="serviceForm" + type="org.apache.webapp.admin.service.ServiceForm"/> + + <form-bean name="servicesForm" + type="org.apache.webapp.admin.service.ServicesForm"/> + + <!-- ========== User Database Module ========== --> <form-bean name="databaseForm" @@ -125,14 +126,6 @@ path="/server.jsp" redirect="false"/> - <forward name="Service" - path="/service/service.jsp" - redirect="false"/> - - <forward name="Delete Service" - path="/service/deleteService.jsp" - redirect="false"/> - <forward name="Connector" path="/connector.jsp" redirect="false"/> @@ -186,6 +179,17 @@ redirect="false"/> + <!-- ============ Service Module ============== --> + + <forward name="Service" + path="/service/service.jsp" + redirect="false"/> + + <forward name="Services" + path="/service/services.jsp" + redirect="false"/> + + <!-- ========== User Database Module ========== --> <forward name="Group" @@ -355,14 +359,6 @@ input="/server.jsp"> </action> - <!-- Process a user server change --> - <action path="/service" - type="org.apache.webapp.admin.service.ServiceAction" - name="serviceForm" - scope="session" - input="/service/service.jsp"> - </action> - <!-- Process a connector change --> <action path="/connector" type="org.apache.webapp.admin.connector.ConnectorAction" @@ -422,20 +418,6 @@ <action path="/treeControlTest" type="org.apache.webapp.admin.TreeControlTestAction"/> - <!-- Delete service action --> - <action path="/deleteService" - input="/service/deleteService.jsp" - name="deleteServiceForm" - scope="request" - type="org.apache.webapp.admin.service.DeleteServiceAction"/> - - <!-- Add service action --> - <action path="/addService" - input="/service/addService.jsp" - name="serviceForm" - scope="request" - type="org.apache.webapp.admin.service.AddServiceAction"/> - <!-- JDBC realm action --> <action path="/JDBCRealm" type="org.apache.webapp.admin.realm.JDBCRealmAction" @@ -468,32 +450,33 @@ <!-- Set up Add Service transaction --> <action path="/AddService" - type="org.apache.webapp.admin.service.AddServiceAction" - name="serviceForm" - scope="request"> + type="org.apache.webapp.admin.service.AddServiceAction"> </action> + <!-- Set up Delete Services transaction --> + <action path="/DeleteService" + type="org.apache.webapp.admin.service.DeleteServiceAction" + name="servicesForm" + scope="request"/> + + <!-- Perform Delete Services transaction --> + <action path="/DeleteServices" + type="org.apache.webapp.admin.service.DeleteServicesAction" + name="servicesForm" + scope="request"/> + <!-- Set up Edit Service transaction --> <action path="/EditService" - type="org.apache.webapp.admin.service.EditServiceAction" - name="serviceForm" - scope="request"> + type="org.apache.webapp.admin.service.EditServiceAction"> </action> <!-- Perform Save Service transaction --> <action path="/SaveService" type="org.apache.webapp.admin.service.SaveServiceAction" name="serviceForm" - scope="request"/> - + input="/service/service.jsp" + scope="session"/> - <!-- FIXME - Set up Delete Service transaction --> - <action path="/setUpDeleteService" - type="org.apache.webapp.admin.service.SetUpDeleteServiceAction" - name="deleteServiceForm" - scope="request"> - </action> - <!-- ========== User Database Module ========== --> <action path="/users/deleteGroups" 1.31 +2 -6 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources_en.properties Index: ApplicationResources_en.properties =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/ApplicationResources_en.properties,v retrieving revision 1.30 retrieving revision 1.31 diff -u -r1.30 -r1.31 --- ApplicationResources_en.properties 6 Mar 2002 06:49:11 -0000 1.30 +++ ApplicationResources_en.properties 7 Mar 2002 02:48:54 -0000 1.31 @@ -67,6 +67,7 @@ actions.available.actions=Available Actions actions.services.create=Create New Service actions.services.delete=Delete This Service +actions.services.deletes=Delete Existing Services actions.services.edit=Edit Existing Service actions.accesslogger.create=Create New Access Logger actions.accesslogger.delete=Delete Access Logger @@ -205,12 +206,6 @@ error.connURL.required=<li>Connection URL is required.</li> error.connName.required=<li>Connection name is required.</li> -# ------------- Service Module ------------- -services.actions.create=Create New Service -services.actions.delete=Delete Existing Services -services.actions.edit=Edit Existing Service -# ------------- ------- ------ ------------- - # ---------- User Database Module ---------- users.actions.group.create=Create New Group users.actions.group.delete=Delete Existing Groups @@ -231,6 +226,7 @@ users.error.password.required=Password is required users.error.quotes=Double quote characters are not allowed in field values users.error.rolename.required=Role Name is required +users.error.select=Error selecting managed objects users.error.token=Transaction submitted out of order users.error.username.required=User Name is required users.group.newGroup=Create New Group Properties 1.2 +13 -8 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpServerAction.java Index: DumpServerAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpServerAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- DumpServerAction.java 28 Oct 2001 03:39:18 -0000 1.1 +++ DumpServerAction.java 7 Mar 2002 02:48:54 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpServerAction.java,v 1.1 2001/10/28 03:39:18 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2001/10/28 03:39:18 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/DumpServerAction.java,v 1.2 2002/03/07 02:48:54 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/03/07 02:48:54 $ * * ==================================================================== * @@ -65,7 +65,9 @@ import java.io.IOException; import java.io.PrintWriter; -import java.util.Arrays; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Iterator; import javax.management.MBeanServer; import javax.management.ObjectName; import javax.servlet.ServletException; @@ -84,7 +86,7 @@ * visible in our MBeanServer. * * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2001/10/28 03:39:18 $ + * @version $Revision: 1.2 $ $Date: 2002/03/07 02:48:54 $ */ public final class DumpServerAction extends Action { @@ -116,10 +118,13 @@ // Create a request attribute with our collection of MBeans MBeanServer server = ((ApplicationServlet) getServlet()).getServer(); - ObjectName names[] = (ObjectName[]) - server.queryNames(null, null).toArray(new ObjectName[0]); - // Arrays.sort(names); - request.setAttribute("names", names); + Iterator names = server.queryNames(null, null).iterator(); + ArrayList list = new ArrayList(); + while (names.hasNext()) { + list.add(names.next().toString()); + } + Collections.sort(list); + request.setAttribute("names", list); // Forward to the corresponding display page return (mapping.findForward("Dump Server Results")); 1.2 +9 -4 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControl.java Index: TreeControl.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControl.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TreeControl.java 6 Nov 2001 20:40:13 -0000 1.1 +++ TreeControl.java 7 Mar 2002 02:48:54 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControl.java,v 1.1 2001/11/06 20:40:13 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2001/11/06 20:40:13 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControl.java,v 1.2 2002/03/07 02:48:54 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/03/07 02:48:54 $ * * ==================================================================== * @@ -75,7 +75,7 @@ * * @author Jazmin Jonson * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2001/11/06 20:40:13 $ + * @version $Revision: 1.2 $ $Date: 2002/03/07 02:48:54 $ */ public class TreeControl implements Serializable { @@ -256,10 +256,15 @@ TreeControlNode children[] = node.findChildren(); for (int i = 0; i < children.length; i++) removeNode(children[i]); + TreeControlNode parent = node.getParent(); + if (parent != null) { + parent.removeChild(node); + } node.setParent(null); node.setTree(null); - if (node == this.root) + if (node == this.root) { this.root = null; + } } } 1.2 +42 -3 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlNode.java Index: TreeControlNode.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlNode.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- TreeControlNode.java 6 Nov 2001 20:40:13 -0000 1.1 +++ TreeControlNode.java 7 Mar 2002 02:48:54 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlNode.java,v 1.1 2001/11/06 20:40:13 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2001/11/06 20:40:13 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/TreeControlNode.java,v 1.2 2002/03/07 02:48:54 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/03/07 02:48:54 $ * * ==================================================================== * @@ -74,7 +74,7 @@ * * @author Jazmin Jonson * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2001/11/06 20:40:13 $ + * @version $Revision: 1.2 $ $Date: 2002/03/07 02:48:54 $ */ public class TreeControlNode implements Serializable { @@ -347,6 +347,18 @@ /** + * Remove this node from the tree. + */ + public void remove() { + + if (tree != null) { + tree.removeNode(this); + } + + } + + + /** * Remove the child node (and all children of that child) at the * specified position in the child list. * @@ -361,6 +373,33 @@ tree.removeNode(child); child.setParent(null); children.remove(offset); + } + + } + + + // -------------------------------------------------------- Package Methods + + + /** + * Remove the specified child node. It is assumed that all of the + * children of this child node have already been removed. + * + * @param child Child node to be removed + */ + void removeChild(TreeControlNode child) { + + if (child == null) { + return; + } + synchronized (children) { + int n = children.size(); + for (int i = 0; i < n; i++) { + if (child == (TreeControlNode) children.get(i)) { + children.remove(i); + return; + } + } } } 1.6 +6 -5 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java Index: AddServiceAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- AddServiceAction.java 6 Mar 2002 06:50:25 -0000 1.5 +++ AddServiceAction.java 7 Mar 2002 02:48:54 -0000 1.6 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java,v 1.5 2002/03/06 06:50:25 craigmcc Exp $ - * $Revision: 1.5 $ - * $Date: 2002/03/06 06:50:25 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/AddServiceAction.java,v 1.6 2002/03/07 02:48:54 craigmcc Exp $ + * $Revision: 1.6 $ + * $Date: 2002/03/07 02:48:54 $ * * ==================================================================== * @@ -79,7 +79,7 @@ * The <code>Action</code> that sets up <em>Add Service</em> transactions. * * @author Manveen Kaur - * @version $Revision: 1.5 $ $Date: 2002/03/06 06:50:25 $ + * @version $Revision: 1.6 $ $Date: 2002/03/07 02:48:54 $ */ public class AddServiceAction extends Action { @@ -126,7 +126,8 @@ // Fill in the form values for display and editing ServiceForm serviceFm = new ServiceForm(); - request.setAttribute(mapping.getAttribute(), serviceFm); + HttpSession session = request.getSession(); + session.setAttribute("serviceForm", serviceFm); serviceFm.setAdminAction("Create"); serviceFm.setObjectName(""); serviceFm.setEngineObjectName(""); 1.5 +70 -81 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServiceAction.java Index: DeleteServiceAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServiceAction.java,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- DeleteServiceAction.java 14 Feb 2002 20:37:21 -0000 1.4 +++ DeleteServiceAction.java 7 Mar 2002 02:48:54 -0000 1.5 @@ -1,13 +1,13 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServiceAction.java,v 1.4 2002/02/14 20:37:21 manveen Exp $ - * $Revision: 1.4 $ - * $Date: 2002/02/14 20:37:21 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServiceAction.java,v 1.5 2002/03/07 02:48:54 craigmcc Exp $ + * $Revision: 1.5 $ + * $Date: 2002/03/07 02:48:54 $ * * ==================================================================== * * The Apache Software License, Version 1.1 * - * Copyright (c) 2002 The Apache Software Foundation. All rights + * Copyright (c) 2001-2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without @@ -63,50 +63,58 @@ package org.apache.webapp.admin.service; import java.io.IOException; -import java.util.ArrayList; +import java.util.Collections; import java.util.Iterator; +import java.util.List; import java.util.Locale; -import java.util.Set; import java.util.TreeSet; -import javax.management.MBeanServer; -import javax.management.ObjectName; -import javax.management.ObjectInstance; -import javax.management.modelmbean.ModelMBean; +import java.util.Set; +import java.util.ArrayList; import javax.servlet.ServletException; -import javax.servlet.http.HttpSession; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import javax.servlet.http.HttpSession; import org.apache.struts.action.Action; +import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; + +import javax.management.MBeanServer; +import javax.management.MBeanServerFactory; import javax.management.QueryExp; +import javax.management.Query; +import javax.management.ObjectInstance; +import javax.management.ObjectName; +import javax.management.JMException; import org.apache.struts.util.MessageResources; import org.apache.webapp.admin.ApplicationServlet; import org.apache.webapp.admin.TomcatTreeBuilder; /** - * Delete services that are selected to be deleted. - * Also, deregister their mBeans from the mBeanServer. + * The <code>Action</code> that sets up <em>Delete Services</em> transactions. * * @author Manveen Kaur - * @version $Revision: 1.4 $ $Date: 2002/02/14 20:37:21 $ + * @version $Revision: 1.5 $ $Date: 2002/03/07 02:48:54 $ */ public class DeleteServiceAction extends Action { - /** - * The MessageResources we will be retrieving messages from. - */ - private MessageResources resources = null; + /** * The MBeanServer we will be interacting with. */ private MBeanServer mBServer = null; - // --------------------------------------------------------- Public Methods + + /** + * The MessageResources we will be retrieving messages from. + */ + private MessageResources resources = null; + + // --------------------------------------------------------- Public Methods /** * Process the specified HTTP request, and create the corresponding HTTP @@ -124,22 +132,20 @@ * @exception ServletException if a servlet exception occurs */ public ActionForward perform(ActionMapping mapping, - ActionForm form, - HttpServletRequest request, - HttpServletResponse response) - throws IOException, ServletException { - + ActionForm form, + HttpServletRequest request, + HttpServletResponse response) + throws IOException, ServletException { - // Look up the components we will be using as needed - if (mBServer == null) { - mBServer = ((ApplicationServlet) getServlet()).getServer(); - } + + // Acquire the resources that we need + HttpSession session = request.getSession(); + Locale locale = (Locale) session.getAttribute(Action.LOCALE_KEY); if (resources == null) { resources = getServlet().getResources(); } - HttpSession session = request.getSession(); - Locale locale = (Locale) session.getAttribute(Action.LOCALE_KEY); + // Acquire a reference to the MBeanServer containing our MBeans try { mBServer = ((ApplicationServlet) getServlet()).getServer(); } catch (Throwable t) { @@ -147,58 +153,41 @@ ("Cannot acquire MBeanServer reference", t); } - // selected services to be deleted - String[] selected = request.getParameterValues("checkbox"); - - // process delete action - if (selected != null) { - for (int index=0; index <selected.length; index++) { - String pattern = selected[index]; - - Iterator names = null; - - try { - names = mBServer.queryNames(new ObjectName(pattern), null).iterator(); - } catch (Throwable t) { - throw new ServletException("queryNames(" + pattern + ")", t); - } - - while (names.hasNext()) { - try { - ObjectName oName = (ObjectName) names.next(); - - // remove this mBean - Iterator serverItr = - mBServer.queryMBeans(new ObjectName(TomcatTreeBuilder.SERVER_TYPE + - TomcatTreeBuilder.WILDCARD), null).iterator(); - - ObjectInstance objInstance = (ObjectInstance)serverItr.next(); - ObjectName server = (objInstance).getObjectName(); - - // remove this service - Object[] serviceParam = new Object[1]; - serviceParam[0] = new String(oName.toString()); - - String[] type = new String[1]; - type[0]= "java.lang.String"; - - mBServer.invoke(server, "removeService", serviceParam, type); - - } catch (Exception e) { - getServlet().log - (resources.getMessage(locale, "users.error.invoke", - "removeService"), e); - response.sendError - (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, - resources.getMessage(locale, "users.error.invoke", - "removeService")); - return (null); - } - } + // Set up a form bean containing the currently selected + // objects to be deleted + ServicesForm servicesForm = new ServicesForm(); + String select = request.getParameter("select"); + if (select != null) { + String services[] = new String[1]; + services[0] = select; + servicesForm.setServices(services); + } + request.setAttribute("servicesForm", servicesForm); + + // Accumulate a list of all available services + ArrayList list = new ArrayList(); + try { + String pattern = TomcatTreeBuilder.SERVICE_TYPE + + TomcatTreeBuilder.WILDCARD; + Iterator items = + mBServer.queryNames(new ObjectName(pattern), null).iterator(); + while (items.hasNext()) { + list.add(items.next().toString()); } + } catch (Exception e) { + getServlet().log + (resources.getMessage(locale, "users.error.select")); + response.sendError + (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, + resources.getMessage(locale, "users.error.select")); + return (null); } - //Fix me -- need to refresh the tree? - return (mapping.findForward("Save Successful")); + Collections.sort(list); + request.setAttribute("servicesList", list); + + // Forward to the list display page + return (mapping.findForward("Services")); + } - + } 1.2 +6 -5 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java Index: EditServiceAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- EditServiceAction.java 6 Mar 2002 06:49:11 -0000 1.1 +++ EditServiceAction.java 7 Mar 2002 02:48:54 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java,v 1.1 2002/03/06 06:49:11 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2002/03/06 06:49:11 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/EditServiceAction.java,v 1.2 2002/03/07 02:48:54 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/03/07 02:48:54 $ * * ==================================================================== * @@ -91,7 +91,7 @@ * The <code>Action</code> that sets up <em>Edit Service</em> transactions. * * @author Manveen Kaur - * @version $Revision: 1.1 $ $Date: 2002/03/06 06:49:11 $ + * @version $Revision: 1.2 $ $Date: 2002/03/07 02:48:54 $ */ public class EditServiceAction extends Action { @@ -108,6 +108,7 @@ */ private MessageResources resources = null; + private ArrayList debugLvlList = null; private ArrayList hostNameList = null; @@ -192,7 +193,7 @@ // Fill in the form values for display and editing ServiceForm serviceFm = new ServiceForm(); - request.setAttribute(mapping.getAttribute(), serviceFm); + session.setAttribute("serviceForm", serviceFm); serviceFm.setAdminAction("Edit"); serviceFm.setObjectName(sname.toString()); serviceFm.setEngineObjectName(ename.toString()); 1.2 +19 -7 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java Index: SaveServiceAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SaveServiceAction.java 6 Mar 2002 06:49:11 -0000 1.1 +++ SaveServiceAction.java 7 Mar 2002 02:48:54 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java,v 1.1 2002/03/06 06:49:11 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2002/03/06 06:49:11 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/SaveServiceAction.java,v 1.2 2002/03/07 02:48:54 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/03/07 02:48:54 $ * * ==================================================================== * @@ -79,6 +79,7 @@ import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpSession; import org.apache.struts.action.Action; +import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; @@ -96,7 +97,7 @@ * <em>Edit Service</em> transactions. * * @author Manveen Kaur - * @version $Revision: 1.1 $ $Date: 2002/03/06 06:49:11 $ + * @version $Revision: 1.2 $ $Date: 2002/03/07 02:48:54 $ */ public final class SaveServiceAction extends Action { @@ -189,6 +190,18 @@ try { + // Ensure that the requested service name is unique + ObjectName oname = + new ObjectName(TomcatTreeBuilder.SERVICE_TYPE + + ",name=" + sform.getServiceName()); + if (mBServer.isRegistered(oname)) { + ActionErrors errors = new ActionErrors(); + errors.add("serviceName", + new ActionError("error.serviceName.exists")); + saveErrors(request, errors); + return (new ActionForward(mapping.getInput())); + } + // Look up our MBeanFactory MBean ObjectName fname = new ObjectName(TomcatTreeBuilder.FACTORY_TYPE); @@ -288,9 +301,8 @@ return (null); } - if (servlet.getDebug() >= 1) - servlet.log(" Forwarding to success page"); - // Forward back to the test page + // Forward to the success reporting page + session.removeAttribute(mapping.getAttribute()); return (mapping.findForward("Save Successful")); } 1.4 +13 -6 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java Index: ServiceForm.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- ServiceForm.java 6 Mar 2002 06:49:11 -0000 1.3 +++ ServiceForm.java 7 Mar 2002 02:48:54 -0000 1.4 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java,v 1.3 2002/03/06 06:49:11 craigmcc Exp $ - * $Revision: 1.3 $ - * $Date: 2002/03/06 06:49:11 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServiceForm.java,v 1.4 2002/03/07 02:48:54 craigmcc Exp $ + * $Revision: 1.4 $ + * $Date: 2002/03/07 02:48:54 $ * * ==================================================================== * @@ -73,7 +73,7 @@ * Form bean for the service page. * * @author Manveen Kaur - * @version $Revision: 1.3 $ $Date: 2002/03/06 06:49:11 $ + * @version $Revision: 1.4 $ $Date: 2002/03/07 02:48:54 $ */ public final class ServiceForm extends ActionForm { @@ -388,10 +388,17 @@ String submit = request.getParameter("submit"); if (submit != null) { + + if ((serviceName == null) || (serviceName.length() < 1)) { + errors.add("serviceName", + new ActionError("error.serviceName.required")); + } - if ((engineName == null) || (engineName.length() < 1)) + if ((engineName == null) || (engineName.length() < 1)) { errors.add("engineName", - new ActionError("error.engineName.required")); + new ActionError("error.engineName.required")); + } + } return errors; 1.1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServicesAction.java Index: DeleteServicesAction.java =================================================================== /* * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/DeleteServicesAction.java,v 1.1 2002/03/07 02:48:54 craigmcc Exp $ * $Revision: 1.1 $ * $Date: 2002/03/07 02:48:54 $ * * ==================================================================== * * The Apache Software License, Version 1.1 * * Copyright (c) 2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, if * any, must include the following acknowlegement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowlegement may appear in the software itself, * if and wherever such third-party acknowlegements normally appear. * * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software * Foundation" must not be used to endorse or promote products derived * from this software without prior written permission. For written * permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache" * nor may "Apache" appear in their names without prior written * permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. * */ package org.apache.webapp.admin.service; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.Locale; import java.util.Set; import java.util.TreeSet; import javax.management.MBeanServer; import javax.management.ObjectName; import javax.management.ObjectInstance; import javax.management.modelmbean.ModelMBean; import javax.servlet.ServletException; import javax.servlet.http.HttpSession; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.Action; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.apache.struts.util.MessageResources; import org.apache.webapp.admin.ApplicationServlet; import org.apache.webapp.admin.TomcatTreeBuilder; import org.apache.webapp.admin.TreeControl; import org.apache.webapp.admin.TreeControlNode; /** * The <code>Action</code> that completes <em>Delete Services</em> * transactions. * * @author Manveen Kaur * @version $Revision: 1.1 $ $Date: 2002/03/07 02:48:54 $ */ public class DeleteServicesAction extends Action { /** * Signature for the <code>removeService</code> operation. */ private String removeServiceTypes[] = { "java.lang.String", // Object name }; /** * The MBeanServer we will be interacting with. */ private MBeanServer mBServer = null; /** * The MessageResources we will be retrieving messages from. */ private MessageResources resources = null; // --------------------------------------------------------- Public Methods /** * Process the specified HTTP request, and create the corresponding HTTP * response (or forward to another web component that will create it). * Return an <code>ActionForward</code> instance describing where and how * control should be forwarded, or <code>null</code> if the response has * already been completed. * * @param mapping The ActionMapping used to select this instance * @param actionForm The optional ActionForm bean for this request (if any) * @param request The HTTP request we are processing * @param response The HTTP response we are creating * * @exception IOException if an input/output error occurs * @exception ServletException if a servlet exception occurs */ public ActionForward perform(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { // Look up the components we will be using as needed HttpSession session = request.getSession(); Locale locale = (Locale) session.getAttribute(Action.LOCALE_KEY); if (resources == null) { resources = getServlet().getResources(); } // Acquire a reference to the MBeanServer containing our MBeans try { mBServer = ((ApplicationServlet) getServlet()).getServer(); } catch (Throwable t) { throw new ServletException ("Cannot acquire MBeanServer reference", t); } // Delete the specified Services String services[] = ((ServicesForm) form).getServices(); String values[] = new String[1]; String operation = "removeService"; try { // Look up our MBeanFactory MBean ObjectName fname = new ObjectName(TomcatTreeBuilder.FACTORY_TYPE); // Look up our tree control data structure TreeControl control = (TreeControl) session.getAttribute("treeControlTest"); // Remove the specified services for (int i = 0; i < services.length; i++) { values[0] = services[i]; mBServer.invoke(fname, operation, values, removeServiceTypes); if (control != null) { control.selectNode(null); TreeControlNode node = control.findNode(services[i]); if (node != null) { node.remove(); } else { getServlet().log("Missing TreeControlNode for " + services[i]); } } else { getServlet().log("Missing TreeControl attribute"); } } } catch (Exception e) { getServlet().log (resources.getMessage(locale, "users.error.invoke", operation), e); response.sendError (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, resources.getMessage(locale, "users.error.invoke", operation)); return (null); } // Report successful completion of this transaction return (mapping.findForward("Save Successful")); } } 1.1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServicesForm.java Index: ServicesForm.java =================================================================== /* * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/service/ServicesForm.java,v 1.1 2002/03/07 02:48:54 craigmcc Exp $ * $Revision: 1.1 $ * $Date: 2002/03/07 02:48:54 $ * * ==================================================================== * * The Apache Software License, Version 1.1 * * Copyright (c) 2002 The Apache Software Foundation. All rights * reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: * * 1. Redistributions of source code must retain the above copyright * notice, this list of conditions and the following disclaimer. * * 2. Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in * the documentation and/or other materials provided with the * distribution. * * 3. The end-user documentation included with the redistribution, if * any, must include the following acknowlegement: * "This product includes software developed by the * Apache Software Foundation (http://www.apache.org/)." * Alternately, this acknowlegement may appear in the software itself, * if and wherever such third-party acknowlegements normally appear. * * 4. The names "The Jakarta Project", "Tomcat", and "Apache Software * Foundation" must not be used to endorse or promote products derived * from this software without prior written permission. For written * permission, please contact [EMAIL PROTECTED] * * 5. Products derived from this software may not be called "Apache" * nor may "Apache" appear in their names without prior written * permission of the Apache Group. * * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE * DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF * USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, * OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT * OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF * SUCH DAMAGE. * ==================================================================== * * This software consists of voluntary contributions made by many * individuals on behalf of the Apache Software Foundation. For more * information on the Apache Software Foundation, please see * <http://www.apache.org/>. * */ package org.apache.webapp.admin.service; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * Form bean for deleting services. * * @author Manveen Kaur * @version $Revision: 1.1 $ $Date: 2002/03/07 02:48:54 $ */ public class ServicesForm extends ActionForm { // ------------------------------------------------------------- Properties /** * The object names of the services to be deleted. */ private String services[] = new String[0]; public String[] getServices() { return (this.services); } public void setServices(String services[]) { this.services = services; } // --------------------------------------------------------- Public Methods /** * Reset all properties to their default values. * * @param mapping The mapping used to select this instance * @param request The servlet request we are processing */ public void reset(ActionMapping mapping, HttpServletRequest request) { this.services = new String[0]; } } 1.5 +4 -4 jakarta-tomcat-4.0/webapps/admin/service/service.jsp Index: service.jsp =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/service/service.jsp,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- service.jsp 6 Mar 2002 06:49:11 -0000 1.4 +++ service.jsp 7 Mar 2002 02:48:54 -0000 1.5 @@ -20,6 +20,8 @@ <html:form method="POST" action="/SaveService"> <bean:define id="serviceName" name="serviceForm" property="serviceName"/> + <bean:define id="thisObjectName" type="java.lang.String" + name="serviceForm" property="objectName"/> <html:hidden property="adminAction"/> <html:hidden property="objectName"/> <html:hidden property="engineObjectName"/> @@ -117,12 +119,10 @@ ------------------------------------- </controls:action> --%> - <%-- - <controls:action url='<%= "/setUpDeleteService.do?this=" + - serviceName %>'> + <controls:action url='<%= "/DeleteService.do?select=" + + URLEncoder.encode(thisObjectName) %>'> <bean:message key="actions.service.delete"/> </controls:action> - --%> </logic:notEqual> </controls:actions> </div> 1.1 jakarta-tomcat-4.0/webapps/admin/service/services.jsp Index: services.jsp =================================================================== <!-- Standard Struts Entries --> <%@ page language="java" %> <%@ 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" %> <%@ taglib uri="/WEB-INF/controls.tld" prefix="controls" %> <html:html locale="true"> <%@ include file="../users/header.jsp" %> <!-- Body --> <body bgcolor="white"> <!--Form --> <html:errors/> <html:form method="post" action="/DeleteServices"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr bgcolor="7171A5"> <td width="81%"> <div class="page-title-text" align="left"> <bean:message key="actions.services.delete"/> </div> </td> <td width="19%"> <div align="right"> <controls:actions> <controls:action selected="true"> ----<bean:message key="actions.available.actions"/>---- </controls:action> <controls:action> --------------------------------- </controls:action> </controls:actions> </div> </td> </tr> </table> <%@ include file="../buttons.jsp" %> <br> <%-- Services List --%> <table class="back-table" border="0" cellspacing="0" cellpadding="1" width="100%"> <tr><td> <table class="front-table" border="1" cellspacing="0" cellpadding="0" width="100%"> <tr class="header-row"> <td><div align="left" class="table-header-text"> <bean:message key="actions.delete"/> </div></td> <td><div align="left" class="table-header-text"> <bean:message key="host.name"/> </div></td> </tr> <logic:iterate name="servicesList" id="service"> <tr class="line-row"> <td><div align="left" class="table-normal-text"> <html:multibox property="services" value="<%= service.toString() %>"/> </div></td> <td><div align="left" class="table-normal-text"> <html:link page='<%= "/EditService.do?select=" + java.net.URLEncoder.encode(service.toString()) %>'> <controls:attribute name="service" attribute="name"/> </html:link> </div></td> </tr> </logic:iterate> </table> </td></tr> </table> <%@ include file="../buttons.jsp" %> <br> </html:form> <p> </p> </body> </html:html>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>