You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by cr...@apache.org on 2002/03/07 03:48:55 UTC
cvs commit: jakarta-tomcat-4.0/webapps/admin/service services.jsp service.jsp deleteService.jsp
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 apache@apache.org.
*
* 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 apache@apache.org.
*
* 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: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>