craigmcc 02/02/09 21:48:58 Modified: webapps/admin/WEB-INF struts-config.xml webapps/admin/WEB-INF/classes/org/apache/webapp/admin ApplicationResources_en.properties webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users ListGroupsAction.java ListRolesAction.java ListUsersAction.java SaveGroupAction.java SaveRoleAction.java SaveUserAction.java UsersTreeBuilder.java webapps/admin/users listGroups.jsp listRoles.jsp listUsers.jsp roles.jspf Added: webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users DeleteGroupsAction.java DeleteRolesAction.java DeleteUsersAction.java GroupsForm.java RolesForm.java UsersForm.java webapps/admin/users deleteGroups.jsp deleteRoles.jsp deleteUsers.jsp groups.jspf listGroups.jspf listRoles.jspf listUsers.jspf users.jspf Log: Implement delete functionality for groups, roles, and users. Revision Changes Path 1.26 +44 -6 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.25 retrieving revision 1.26 diff -u -r1.25 -r1.26 --- struts-config.xml 10 Feb 2002 03:14:11 -0000 1.25 +++ struts-config.xml 10 Feb 2002 05:48:57 -0000 1.26 @@ -63,6 +63,7 @@ <form-bean name="userdbRealmForm" type="org.apache.webapp.admin.realm.UserDBRealmForm"/> + <!-- ========== User Database Module ========== --> <form-bean name="databaseForm" @@ -71,12 +72,20 @@ <form-bean name="groupForm" type="org.apache.webapp.admin.users.GroupForm"/> + <form-bean name="groupsForm" + type="org.apache.webapp.admin.users.GroupsForm"/> + <form-bean name="roleForm" type="org.apache.webapp.admin.users.RoleForm"/> + <form-bean name="rolesForm" + type="org.apache.webapp.admin.users.RolesForm"/> + <form-bean name="userForm" type="org.apache.webapp.admin.users.UserForm"/> + <form-bean name="usersForm" + type="org.apache.webapp.admin.users.UsersForm"/> <!-- ========== ==================== ========== --> @@ -160,46 +169,60 @@ path="/userDBRealm.jsp" redirect="false"/> + <!-- ========== User Database Module ========== --> <forward name="Group" path="/users/group.jsp" redirect="false"/> + <forward name="Groups Delete List" + path="/users/deleteGroups.jsp" + redirect="false"/> + <forward name="Groups List" path="/users/listGroups.jsp" redirect="false"/> <forward name="Groups List Setup" - path="/users/listGroups.do" + path="/users/listGroups.do?forward=Groups+List" redirect="false"/> <forward name="Role" path="/users/role.jsp" redirect="false"/> + <forward name="Roles Delete List" + path="/users/deleteRoles.jsp" + redirect="false"/> + <forward name="Roles List" path="/users/listRoles.jsp" redirect="false"/> <forward name="Roles List Setup" - path="/users/listRoles.do" + path="/users/listRoles.do?forward=Roles+List" redirect="false"/> <forward name="User" path="/users/user.jsp" redirect="false"/> + <forward name="Users Delete List" + path="/users/deleteUsers.jsp" + redirect="false"/> + <forward name="Users List" path="/users/listUsers.jsp" redirect="false"/> <forward name="Users List Setup" - path="/users/listUsers.do" + path="/users/listUsers.do?forward=Users+List" redirect="false"/> <!-- ========== ==================== ========== --> + </global-forwards> @@ -427,18 +450,33 @@ <!-- ========== User Database Module ========== --> + <action path="/users/deleteGroups" + name="groupsForm" + scope="request" + type="org.apache.webapp.admin.users.DeleteGroupsAction"/> + + <action path="/users/deleteRoles" + name="rolesForm" + scope="request" + type="org.apache.webapp.admin.users.DeleteRolesAction"/> + + <action path="/users/deleteUsers" + name="usersForm" + scope="request" + type="org.apache.webapp.admin.users.DeleteUsersAction"/> + <action path="/users/listGroups" - name="databaseForm" + name="groupsForm" scope="request" type="org.apache.webapp.admin.users.ListGroupsAction"/> <action path="/users/listRoles" - name="databaseForm" + name="rolesForm" scope="request" type="org.apache.webapp.admin.users.ListRolesAction"/> <action path="/users/listUsers" - name="databaseForm" + name="usersForm" scope="request" type="org.apache.webapp.admin.users.ListUsersAction"/> 1.25 +6 -0 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.24 retrieving revision 1.25 diff -u -r1.24 -r1.25 --- ApplicationResources_en.properties 10 Feb 2002 03:14:11 -0000 1.24 +++ ApplicationResources_en.properties 10 Feb 2002 05:48:57 -0000 1.25 @@ -177,10 +177,16 @@ # ---------- User Database Module ---------- users.actions.group.create=Create New Group users.actions.group.delete=Delete Existing Groups +users.actions.group.list=List Existing Groups users.actions.role.create=Create New Role users.actions.role.delete=Delete Existing Roles +users.actions.role.list=List Existing Roles users.actions.user.create=Create New User users.actions.user.delete=Delete Existing Users +users.actions.user.list=List Existing Users +users.deleteGroups.title=Delete Existing Groups +users.deleteRoles.title=Delete Existing Roles +users.deleteUsers.title=Delete Existing Users users.error.attribute.get=Error retrieving attribute {0} users.error.attribute.set=Error modifying attribute {0} users.error.invoke=Error invoking operation {0} 1.2 +67 -30 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListGroupsAction.java Index: ListGroupsAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListGroupsAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ListGroupsAction.java 10 Feb 2002 03:18:37 -0000 1.1 +++ ListGroupsAction.java 10 Feb 2002 05:48:57 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListGroupsAction.java,v 1.1 2002/02/10 03:18:37 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2002/02/10 03:18:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListGroupsAction.java,v 1.2 2002/02/10 05:48:57 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * @@ -64,35 +64,58 @@ import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Set; -import java.util.TreeSet; +import java.net.URLDecoder; +import java.util.Arrays; +import java.util.Locale; import javax.management.MBeanServer; import javax.management.ObjectName; import javax.management.modelmbean.ModelMBean; import javax.servlet.ServletException; 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.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; /** - * Retrieve the Set of MBean namess for all currently defined groups, - * and expose them as a request attribute named "groups". + * <p>Retrieve the set of MBean names for all currently defined groups, + * and expose them in a request attribute named "groupsForm". This action + * requires the following request parameters to be set:</p> + * <ul> + * <li><strong>databaseName</strong> - Object name of the UserDatabase + * MBean from which we should retrieve the groups list.</li> + * <li><strong>forward</strong> - Global forward to which we should + * go after stashing the groups list.</li> + * </ul> * * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2002/02/10 03:18:37 $ + * @version $Revision: 1.2 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ public class ListGroupsAction extends Action { + // ----------------------------------------------------- Instance Variables + + + /** + * The MBeanServer we will be interacting with. + */ + private MBeanServer mserver = null; + + + /** + * The MessageResources we will be retrieving messages from. + */ + private MessageResources resources = null; + + // --------------------------------------------------------- Public Methods @@ -118,34 +141,48 @@ throws IOException, ServletException { - // Acquire a reference to the MBeanServer containing our MBeans - MBeanServer mserver = null; - try { + // Look up the components we will be using as needed + if (mserver == null) { mserver = ((ApplicationServlet) getServlet()).getServer(); - } catch (Throwable t) { - throw new ServletException - ("Cannot acquire MBeanServer reference", t); } + if (resources == null) { + resources = getServlet().getResources(); + } + HttpSession session = request.getSession(); + Locale locale = (Locale) session.getAttribute(Action.LOCALE_KEY); + - // Acquire the set of group MBean names to be listed - // FIXME - limit to global user database? - String pattern = "Users:type=Group,*"; - Set results = null; + // Acquire the set of group object names to be listed + String databaseName = + URLDecoder.decode(request.getParameter("databaseName")); + String results[] = null; try { - results = mserver.queryNames(new ObjectName(pattern), null); + ObjectName dname = new ObjectName(databaseName); + results = + (String[]) mserver.getAttribute(dname, "groups"); + if (results == null) { + results = new String[0]; + } + Arrays.sort(results); } catch (Throwable t) { - throw new ServletException("queryNames(" + pattern + ")", t); - } - TreeSet groups = new TreeSet(); - Iterator names = results.iterator(); - while (names.hasNext()) { - ObjectName name = (ObjectName) names.next(); - groups.add(name.toString()); + getServlet().log(resources.getMessage + (locale, + "users.error.attribute.get", "groups"), t); + response.sendError + (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, + resources.getMessage + (locale, "users.error.attribute.get", "groups")); } - // Forward the Set as a request attribute - request.setAttribute("groups", groups); - return (mapping.findForward("Groups List")); + // Stash the results in a form bean + GroupsForm groupsForm = new GroupsForm(); + groupsForm.setDatabaseName(databaseName); + groupsForm.setGroups(results); + request.setAttribute("groupsForm", groupsForm); + saveToken(request); + String forward = + URLDecoder.decode(request.getParameter("forward")); + return (mapping.findForward(forward)); } 1.2 +67 -34 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListRolesAction.java Index: ListRolesAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListRolesAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ListRolesAction.java 10 Feb 2002 03:18:37 -0000 1.1 +++ ListRolesAction.java 10 Feb 2002 05:48:57 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListRolesAction.java,v 1.1 2002/02/10 03:18:37 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2002/02/10 03:18:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListRolesAction.java,v 1.2 2002/02/10 05:48:57 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * @@ -64,37 +64,58 @@ import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Set; -import java.util.TreeSet; +import java.net.URLDecoder; +import java.util.Arrays; +import java.util.Locale; import javax.management.MBeanServer; import javax.management.ObjectName; import javax.management.modelmbean.ModelMBean; import javax.servlet.ServletException; 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.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; /** - * Retrieve the Set of MBean namess for all currently defined roles, - * and expose them as a request attribute named "roles". Requires a - * request parameter <code>databaseName</code> containing the MBean - * Name of our associated UserDatabase instance. + * <p>Retrieve the set of MBean names for all currently defined roles, + * and expose them in a request attribute named "rolesForm". This action + * requires the following request parameters to be set:</p> + * <ul> + * <li><strong>databaseName</strong> - Object name of the UserDatabase + * MBean from which we should retrieve the roles list.</li> + * <li><strong>forward</strong> - Global forward to which we should + * go after stashing the roles list.</li> + * </ul> * * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2002/02/10 03:18:37 $ + * @version $Revision: 1.2 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ public class ListRolesAction extends Action { + // ----------------------------------------------------- Instance Variables + + + /** + * The MBeanServer we will be interacting with. + */ + private MBeanServer mserver = null; + + + /** + * The MessageResources we will be retrieving messages from. + */ + private MessageResources resources = null; + + // --------------------------------------------------------- Public Methods @@ -120,36 +141,48 @@ throws IOException, ServletException { - // Acquire a reference to the MBeanServer containing our MBeans - MBeanServer mserver = null; - try { + // Look up the components we will be using as needed + if (mserver == null) { mserver = ((ApplicationServlet) getServlet()).getServer(); - } catch (Throwable t) { - throw new ServletException - ("Cannot acquire MBeanServer reference", t); } + if (resources == null) { + resources = getServlet().getResources(); + } + HttpSession session = request.getSession(); + Locale locale = (Locale) session.getAttribute(Action.LOCALE_KEY); + - // Acquire the set of user MBean names to be listed - // FIXME - limit to global user database - // FIXME - pass databaseName reference on - // FIXME - set transaction control token - String pattern = "Users:type=Role,*"; - Set results = null; + // Acquire the set of role object names to be listed + String databaseName = + URLDecoder.decode(request.getParameter("databaseName")); + String results[] = null; try { - results = mserver.queryNames(new ObjectName(pattern), null); + ObjectName dname = new ObjectName(databaseName); + results = + (String[]) mserver.getAttribute(dname, "roles"); + if (results == null) { + results = new String[0]; + } + Arrays.sort(results); } catch (Throwable t) { - throw new ServletException("queryNames(" + pattern + ")", t); - } - TreeSet roles = new TreeSet(); - Iterator names = results.iterator(); - while (names.hasNext()) { - ObjectName name = (ObjectName) names.next(); - roles.add(name.toString()); + getServlet().log(resources.getMessage + (locale, + "users.error.attribute.get", "roles"), t); + response.sendError + (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, + resources.getMessage + (locale, "users.error.attribute.get", "roles")); } - // Forward the Set as a request attribute - request.setAttribute("roles", roles); - return (mapping.findForward("Roles List")); + // Stash the results in a form bean + RolesForm rolesForm = new RolesForm(); + rolesForm.setDatabaseName(databaseName); + rolesForm.setRoles(results); + request.setAttribute("rolesForm", rolesForm); + saveToken(request); + String forward = + URLDecoder.decode(request.getParameter("forward")); + return (mapping.findForward(forward)); } 1.2 +67 -30 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListUsersAction.java Index: ListUsersAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListUsersAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ListUsersAction.java 10 Feb 2002 03:18:37 -0000 1.1 +++ ListUsersAction.java 10 Feb 2002 05:48:57 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListUsersAction.java,v 1.1 2002/02/10 03:18:37 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2002/02/10 03:18:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/ListUsersAction.java,v 1.2 2002/02/10 05:48:57 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * @@ -64,35 +64,58 @@ import java.io.IOException; -import java.util.ArrayList; -import java.util.Iterator; -import java.util.Set; -import java.util.TreeSet; +import java.net.URLDecoder; +import java.util.Arrays; +import java.util.Locale; import javax.management.MBeanServer; import javax.management.ObjectName; import javax.management.modelmbean.ModelMBean; import javax.servlet.ServletException; 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.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; /** - * Retrieve the Set of MBean namess for all currently defined users, - * and expose them as a request attribute named "users". + * <p>Retrieve the set of MBean names for all currently defined users, + * and expose them in a request attribute named "usersForm". This action + * requires the following request parameters to be set:</p> + * <ul> + * <li><strong>databaseName</strong> - Object name of the UserDatabase + * MBean from which we should retrieve the users list.</li> + * <li><strong>forward</strong> - Global forward to which we should + * go after stashing the users list.</li> + * </ul> * * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2002/02/10 03:18:37 $ + * @version $Revision: 1.2 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ public class ListUsersAction extends Action { + // ----------------------------------------------------- Instance Variables + + + /** + * The MBeanServer we will be interacting with. + */ + private MBeanServer mserver = null; + + + /** + * The MessageResources we will be retrieving messages from. + */ + private MessageResources resources = null; + + // --------------------------------------------------------- Public Methods @@ -118,34 +141,48 @@ throws IOException, ServletException { - // Acquire a reference to the MBeanServer containing our MBeans - MBeanServer mserver = null; - try { + // Look up the components we will be using as needed + if (mserver == null) { mserver = ((ApplicationServlet) getServlet()).getServer(); - } catch (Throwable t) { - throw new ServletException - ("Cannot acquire MBeanServer reference", t); } + if (resources == null) { + resources = getServlet().getResources(); + } + HttpSession session = request.getSession(); + Locale locale = (Locale) session.getAttribute(Action.LOCALE_KEY); + - // Acquire the set of user MBean names to be listed - // FIXME - limit to global user database? - String pattern = "Users:type=User,*"; - Set results = null; + // Acquire the set of user object names to be listed + String databaseName = + URLDecoder.decode(request.getParameter("databaseName")); + String results[] = null; try { - results = mserver.queryNames(new ObjectName(pattern), null); + ObjectName dname = new ObjectName(databaseName); + results = + (String[]) mserver.getAttribute(dname, "users"); + if (results == null) { + results = new String[0]; + } + Arrays.sort(results); } catch (Throwable t) { - throw new ServletException("queryNames(" + pattern + ")", t); - } - TreeSet users = new TreeSet(); - Iterator names = results.iterator(); - while (names.hasNext()) { - ObjectName name = (ObjectName) names.next(); - users.add(name.toString()); + getServlet().log(resources.getMessage + (locale, + "users.error.attribute.get", "users"), t); + response.sendError + (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, + resources.getMessage + (locale, "users.error.attribute.get", "users")); } - // Forward the Set as a request attribute - request.setAttribute("users", users); - return (mapping.findForward("Users List")); + // Stash the results in a form bean + UsersForm usersForm = new UsersForm(); + usersForm.setDatabaseName(databaseName); + usersForm.setUsers(results); + request.setAttribute("usersForm", usersForm); + saveToken(request); + String forward = + URLDecoder.decode(request.getParameter("forward")); + return (mapping.findForward(forward)); } 1.2 +6 -4 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveGroupAction.java Index: SaveGroupAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveGroupAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SaveGroupAction.java 10 Feb 2002 03:18:37 -0000 1.1 +++ SaveGroupAction.java 10 Feb 2002 05:48:57 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveGroupAction.java,v 1.1 2002/02/10 03:18:37 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2002/02/10 03:18:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveGroupAction.java,v 1.2 2002/02/10 05:48:57 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * @@ -64,6 +64,7 @@ import java.io.IOException; +import java.net.URLDecoder; import java.util.ArrayList; import java.util.Iterator; import java.util.Locale; @@ -96,7 +97,7 @@ * updated Group back to the underlying database.</p> * * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2002/02/10 03:18:37 $ + * @version $Revision: 1.2 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ @@ -167,7 +168,8 @@ // Perform any extra validation that is required GroupForm groupForm = (GroupForm) form; - String databaseName = groupForm.getDatabaseName(); + String databaseName = + URLDecoder.decode(groupForm.getDatabaseName()); String objectName = groupForm.getObjectName(); // Perform an "Add Group" transaction 1.2 +6 -4 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveRoleAction.java Index: SaveRoleAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveRoleAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SaveRoleAction.java 10 Feb 2002 03:18:37 -0000 1.1 +++ SaveRoleAction.java 10 Feb 2002 05:48:57 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveRoleAction.java,v 1.1 2002/02/10 03:18:37 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2002/02/10 03:18:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveRoleAction.java,v 1.2 2002/02/10 05:48:57 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * @@ -64,6 +64,7 @@ import java.io.IOException; +import java.net.URLDecoder; import java.util.ArrayList; import java.util.Iterator; import java.util.Locale; @@ -96,7 +97,7 @@ * updated Role back to the underlying database.</p> * * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2002/02/10 03:18:37 $ + * @version $Revision: 1.2 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ @@ -167,7 +168,8 @@ // Perform any extra validation that is required RoleForm roleForm = (RoleForm) form; - String databaseName = roleForm.getDatabaseName(); + String databaseName = + URLDecoder.decode(roleForm.getDatabaseName()); String objectName = roleForm.getObjectName(); // Perform an "Add Role" transaction 1.2 +6 -4 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveUserAction.java Index: SaveUserAction.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveUserAction.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- SaveUserAction.java 10 Feb 2002 03:18:37 -0000 1.1 +++ SaveUserAction.java 10 Feb 2002 05:48:57 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveUserAction.java,v 1.1 2002/02/10 03:18:37 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2002/02/10 03:18:37 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/SaveUserAction.java,v 1.2 2002/02/10 05:48:57 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * @@ -64,6 +64,7 @@ import java.io.IOException; +import java.net.URLDecoder; import java.util.ArrayList; import java.util.Iterator; import java.util.Locale; @@ -96,7 +97,7 @@ * updated User back to the underlying database.</p> * * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2002/02/10 03:18:37 $ + * @version $Revision: 1.2 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ @@ -167,7 +168,8 @@ // Perform any extra validation that is required UserForm userForm = (UserForm) form; - String databaseName = userForm.getDatabaseName(); + String databaseName = + URLDecoder.decode(userForm.getDatabaseName()); String objectName = userForm.getObjectName(); // Perform an "Add User" transaction 1.2 +15 -6 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersTreeBuilder.java Index: UsersTreeBuilder.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersTreeBuilder.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- UsersTreeBuilder.java 10 Feb 2002 03:18:38 -0000 1.1 +++ UsersTreeBuilder.java 10 Feb 2002 05:48:57 -0000 1.2 @@ -1,7 +1,7 @@ /* - * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersTreeBuilder.java,v 1.1 2002/02/10 03:18:38 craigmcc Exp $ - * $Revision: 1.1 $ - * $Date: 2002/02/10 03:18:38 $ + * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersTreeBuilder.java,v 1.2 2002/02/10 05:48:57 craigmcc Exp $ + * $Revision: 1.2 $ + * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * @@ -77,7 +77,7 @@ * for administering the user database. * * @author Craig R. McClanahan - * @version $Revision: 1.1 $ $Date: 2002/02/10 03:18:38 $ + * @version $Revision: 1.2 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ @@ -137,21 +137,30 @@ ("Global Administer Groups", "folder_16_pad.gif", resources.getMessage("users.treeBuilder.groupsNode"), - "users/listGroups.do?databaseName=" + databaseName, + "users/listGroups.do?databaseName=" + + URLEncoder.encode(databaseName) + + "&forward=" + + URLEncoder.encode("Groups List Setup"), "content", false); TreeControlNode roles = new TreeControlNode ("Global Administer Roles", "folder_16_pad.gif", resources.getMessage("users.treeBuilder.rolesNode"), - "users/listRoles.do?databaseName=" + databaseName, + "users/listRoles.do?databaseName=" + + URLEncoder.encode(databaseName) + + "&forward=" + + URLEncoder.encode("Roles List Setup"), "content", false); TreeControlNode users = new TreeControlNode ("Global Administer Users", "folder_16_pad.gif", resources.getMessage("users.treeBuilder.usersNode"), - "users/listUsers.do?databaseName=" + databaseName, + "users/listUsers.do?databaseName=" + + URLEncoder.encode(databaseName) + + "&forward=" + + URLEncoder.encode("Users List Setup"), "content", false); 1.1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteGroupsAction.java Index: DeleteGroupsAction.java =================================================================== /* * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteGroupsAction.java,v 1.1 2002/02/10 05:48:57 craigmcc Exp $ * $Revision: 1.1 $ * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * * 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", "Struts", 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.users; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.Locale; import javax.servlet.ServletException; 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.Attribute; 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 javax.management.MBeanAttributeInfo; import javax.management.MBeanOperationInfo; import javax.management.MBeanInfo; import org.apache.struts.util.MessageResources; import org.apache.webapp.admin.ApplicationServlet; /** * <p>Implementation of <strong>Action</strong> that deletes the * specified set of groups.</p> * * @author Craig R. McClanahan * @version $Revision: 1.1 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ public final class DeleteGroupsAction extends Action { // ----------------------------------------------------- Instance Variables /** * The MBeanServer we will be interacting with. */ private MBeanServer mserver = 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 if (mserver == null) { mserver = ((ApplicationServlet) getServlet()).getServer(); } if (resources == null) { resources = getServlet().getResources(); } HttpSession session = request.getSession(); Locale locale = (Locale) session.getAttribute(Action.LOCALE_KEY); // Has this transaction been cancelled? if (isCancelled(request)) { return (mapping.findForward("List Groups Setup")); } // Check the transaction token if (!isTokenValid(request)) { response.sendError (HttpServletResponse.SC_BAD_REQUEST, resources.getMessage(locale, "users.error.token")); return (null); } // Perform any extra validation that is required GroupsForm groupsForm = (GroupsForm) form; String databaseName = groupsForm.getDatabaseName(); String groups[] = groupsForm.getGroups(); if (groups == null) { groups = new String[0]; } // Perform "Delete Group" transactions as required try { ObjectName dname = new ObjectName(databaseName); String signature[] = new String[1]; signature[0] = "java.lang.String"; Object params[] = new String[1]; for (int i = 0; i < groups.length; i++) { ObjectName oname = new ObjectName(groups[i]); params[0] = oname.getKeyProperty("groupname"); mserver.invoke(dname, "removeGroup", params, signature); } } catch (Throwable t) { getServlet().log (resources.getMessage(locale, "users.error.invoke", "removeGroup"), t); response.sendError (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, resources.getMessage(locale, "users.error.invoke", "removeGroup")); return (null); } // Save the updated database information try { ObjectName dname = new ObjectName(databaseName); mserver.invoke(dname, "save", new Object[0], new String[0]); } catch (Throwable t) { getServlet().log (resources.getMessage(locale, "users.error.invoke", "save"), t); response.sendError (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, resources.getMessage(locale, "users.error.invoke", "save")); return (null); } // Proceed to the list groups screen return (mapping.findForward("Groups List Setup")); } } 1.1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteRolesAction.java Index: DeleteRolesAction.java =================================================================== /* * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteRolesAction.java,v 1.1 2002/02/10 05:48:57 craigmcc Exp $ * $Revision: 1.1 $ * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * * 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", "Struts", 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.users; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.Locale; import javax.servlet.ServletException; 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.Attribute; 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 javax.management.MBeanAttributeInfo; import javax.management.MBeanOperationInfo; import javax.management.MBeanInfo; import org.apache.struts.util.MessageResources; import org.apache.webapp.admin.ApplicationServlet; /** * <p>Implementation of <strong>Action</strong> that deletes the * specified set of roles.</p> * * @author Craig R. McClanahan * @version $Revision: 1.1 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ public final class DeleteRolesAction extends Action { // ----------------------------------------------------- Instance Variables /** * The MBeanServer we will be interacting with. */ private MBeanServer mserver = 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 if (mserver == null) { mserver = ((ApplicationServlet) getServlet()).getServer(); } if (resources == null) { resources = getServlet().getResources(); } HttpSession session = request.getSession(); Locale locale = (Locale) session.getAttribute(Action.LOCALE_KEY); // Has this transaction been cancelled? if (isCancelled(request)) { return (mapping.findForward("List Roles Setup")); } // Check the transaction token if (!isTokenValid(request)) { response.sendError (HttpServletResponse.SC_BAD_REQUEST, resources.getMessage(locale, "users.error.token")); return (null); } // Perform any extra validation that is required RolesForm rolesForm = (RolesForm) form; String databaseName = rolesForm.getDatabaseName(); String roles[] = rolesForm.getRoles(); if (roles == null) { roles = new String[0]; } // Perform "Delete Role" transactions as required try { ObjectName dname = new ObjectName(databaseName); String signature[] = new String[1]; signature[0] = "java.lang.String"; Object params[] = new String[1]; for (int i = 0; i < roles.length; i++) { ObjectName oname = new ObjectName(roles[i]); params[0] = oname.getKeyProperty("rolename"); mserver.invoke(dname, "removeRole", params, signature); } } catch (Throwable t) { getServlet().log (resources.getMessage(locale, "users.error.invoke", "removeRole"), t); response.sendError (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, resources.getMessage(locale, "users.error.invoke", "removeRole")); return (null); } // Save the updated database information try { ObjectName dname = new ObjectName(databaseName); mserver.invoke(dname, "save", new Object[0], new String[0]); } catch (Throwable t) { getServlet().log (resources.getMessage(locale, "users.error.invoke", "save"), t); response.sendError (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, resources.getMessage(locale, "users.error.invoke", "save")); return (null); } // Proceed to the list roles screen return (mapping.findForward("Roles List Setup")); } } 1.1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteUsersAction.java Index: DeleteUsersAction.java =================================================================== /* * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/DeleteUsersAction.java,v 1.1 2002/02/10 05:48:57 craigmcc Exp $ * $Revision: 1.1 $ * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * * 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", "Struts", 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.users; import java.io.IOException; import java.util.ArrayList; import java.util.Iterator; import java.util.Locale; import javax.servlet.ServletException; 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.Attribute; 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 javax.management.MBeanAttributeInfo; import javax.management.MBeanOperationInfo; import javax.management.MBeanInfo; import org.apache.struts.util.MessageResources; import org.apache.webapp.admin.ApplicationServlet; /** * <p>Implementation of <strong>Action</strong> that deletes the * specified set of users.</p> * * @author Craig R. McClanahan * @version $Revision: 1.1 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ public final class DeleteUsersAction extends Action { // ----------------------------------------------------- Instance Variables /** * The MBeanServer we will be interacting with. */ private MBeanServer mserver = 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 if (mserver == null) { mserver = ((ApplicationServlet) getServlet()).getServer(); } if (resources == null) { resources = getServlet().getResources(); } HttpSession session = request.getSession(); Locale locale = (Locale) session.getAttribute(Action.LOCALE_KEY); // Has this transaction been cancelled? if (isCancelled(request)) { return (mapping.findForward("List Users Setup")); } // Check the transaction token if (!isTokenValid(request)) { response.sendError (HttpServletResponse.SC_BAD_REQUEST, resources.getMessage(locale, "users.error.token")); return (null); } // Perform any extra validation that is required UsersForm usersForm = (UsersForm) form; String databaseName = usersForm.getDatabaseName(); String users[] = usersForm.getUsers(); if (users == null) { users = new String[0]; } // Perform "Delete User" transactions as required try { ObjectName dname = new ObjectName(databaseName); String signature[] = new String[1]; signature[0] = "java.lang.String"; Object params[] = new String[1]; for (int i = 0; i < users.length; i++) { ObjectName oname = new ObjectName(users[i]); params[0] = oname.getKeyProperty("username"); mserver.invoke(dname, "removeUser", params, signature); } } catch (Throwable t) { getServlet().log (resources.getMessage(locale, "users.error.invoke", "removeUser"), t); response.sendError (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, resources.getMessage(locale, "users.error.invoke", "removeUser")); return (null); } // Save the updated database information try { ObjectName dname = new ObjectName(databaseName); mserver.invoke(dname, "save", new Object[0], new String[0]); } catch (Throwable t) { getServlet().log (resources.getMessage(locale, "users.error.invoke", "save"), t); response.sendError (HttpServletResponse.SC_INTERNAL_SERVER_ERROR, resources.getMessage(locale, "users.error.invoke", "save")); return (null); } // Proceed to the list users screen return (mapping.findForward("Users List Setup")); } } 1.1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupsForm.java Index: GroupsForm.java =================================================================== /* * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/GroupsForm.java,v 1.1 2002/02/10 05:48:57 craigmcc Exp $ * $Revision: 1.1 $ * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * * 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", "Struts", 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.users; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * Form bean for the delete groups page. * * @author Craig R. McClanahan * @version $Revision: 1.1 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ public final class GroupsForm extends BaseForm { // ----------------------------------------------------- Instance Variables // ------------------------------------------------------------- Properties /** * The object names of the specified groups. */ private String groups[] = null; public String[] getGroups() { return (this.groups); } public void setGroups(String groups[]) { this.groups = groups; } // --------------------------------------------------------- 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) { super.reset(mapping, request); this.groups = null; } } 1.1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RolesForm.java Index: RolesForm.java =================================================================== /* * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/RolesForm.java,v 1.1 2002/02/10 05:48:57 craigmcc Exp $ * $Revision: 1.1 $ * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * * 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", "Struts", 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.users; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * Form bean for the delete roles page. * * @author Craig R. McClanahan * @version $Revision: 1.1 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ public final class RolesForm extends BaseForm { // ----------------------------------------------------- Instance Variables // ------------------------------------------------------------- Properties /** * The object names of the specified roles. */ private String roles[] = null; public String[] getRoles() { return (this.roles); } public void setRoles(String roles[]) { this.roles = roles; } // --------------------------------------------------------- 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) { super.reset(mapping, request); this.roles = null; } } 1.1 jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersForm.java Index: UsersForm.java =================================================================== /* * $Header: /home/cvs/jakarta-tomcat-4.0/webapps/admin/WEB-INF/classes/org/apache/webapp/admin/users/UsersForm.java,v 1.1 2002/02/10 05:48:57 craigmcc Exp $ * $Revision: 1.1 $ * $Date: 2002/02/10 05:48:57 $ * * ==================================================================== * * 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", "Struts", 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.users; import javax.servlet.http.HttpServletRequest; import org.apache.struts.action.ActionError; import org.apache.struts.action.ActionErrors; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionMapping; /** * Form bean for the delete users page. * * @author Craig R. McClanahan * @version $Revision: 1.1 $ $Date: 2002/02/10 05:48:57 $ * @since 4.1 */ public final class UsersForm extends BaseForm { // ----------------------------------------------------- Instance Variables // ------------------------------------------------------------- Properties /** * The object names of the specified users. */ private String users[] = null; public String[] getUsers() { return (this.users); } public void setUsers(String users[]) { this.users = users; } // --------------------------------------------------------- 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) { super.reset(mapping, request); this.users = null; } } 1.2 +4 -58 jakarta-tomcat-4.0/webapps/admin/users/listGroups.jsp Index: listGroups.jsp =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/users/listGroups.jsp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- listGroups.jsp 10 Feb 2002 03:15:04 -0000 1.1 +++ listGroups.jsp 10 Feb 2002 05:48:58 -0000 1.2 @@ -27,24 +27,7 @@ </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:action url='<%= "/users/setUpGroup.do?databaseName=" + - URLEncoder.encode(request.getParameter("databaseName")) %>'> - <bean:message key="users.actions.group.create"/> - </controls:action> -<%-- - <controls:action url=""> - <bean:message key="users.actions.group.delete"/> - </controls:action> ---%> - <!-- add the urls later once those screens get implemented --> - </controls:actions> + <%@ include file="listGroups.jspf" %> </div> </td> </tr> @@ -52,46 +35,9 @@ </html:form> -<%-- <%@ include file="../buttons.jsp" %> --%> - <br> +<br> +<%@ include file="groups.jspf" %> +<br> - <%-- Groups 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="users.list.groupname"/> - </div></td> - <td><div align="left" class="table-header-text"> - <bean:message key="users.list.description"/> - </div></td> - </tr> - <logic:iterate name="groups" id="group" type="java.lang.String"> - <tr class="line-row"> - <td><div align="left" class="table-normal-text"> - <html:link page='<%= "/users/setUpGroup.do?objectName=" + - URLEncoder.encode(group) %>'> - <controls:attribute name="group" attribute="groupname"/> - </html:link> - </div></td> - <td><div align="left" class="table-normal-text"> - <controls:attribute name="group" attribute="description"/> - </div></td> - </tr> - </logic:iterate> - </table> - </td> - </tr> - </table> - -<%-- <%@ include file="../buttons.jsp" %> --%> - - <br> - -<p> </p> </body> </html:html> 1.2 +1 -18 jakarta-tomcat-4.0/webapps/admin/users/listRoles.jsp Index: listRoles.jsp =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/users/listRoles.jsp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- listRoles.jsp 10 Feb 2002 03:15:04 -0000 1.1 +++ listRoles.jsp 10 Feb 2002 05:48:58 -0000 1.2 @@ -27,24 +27,7 @@ </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:action url='<%= "/users/setUpRole.do?databaseName=" + - URLEncoder.encode(request.getParameter("databaseName")) %>'> - <bean:message key="users.actions.role.create"/> - </controls:action> -<%-- - <controls:action url=""> - <bean:message key="users.actions.role.delete"/> - </controls:action> ---%> - <!-- add the urls later once those screens get implemented --> - </controls:actions> + <%@ include file="listRoles.jspf" %> </div> </td> </tr> 1.2 +4 -58 jakarta-tomcat-4.0/webapps/admin/users/listUsers.jsp Index: listUsers.jsp =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/users/listUsers.jsp,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- listUsers.jsp 10 Feb 2002 03:15:04 -0000 1.1 +++ listUsers.jsp 10 Feb 2002 05:48:58 -0000 1.2 @@ -27,24 +27,7 @@ </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:action url='<%= "/users/setUpUser.do?databaseName=" + - URLEncoder.encode(request.getParameter("databaseName")) %>'> - <bean:message key="users.actions.user.create"/> - </controls:action> -<%-- - <controls:action url=""> - <bean:message key="users.actions.user.delete"/> - </controls:action> ---%> - <!-- add the urls later once those screens get implemented --> - </controls:actions> + <%@ include file="listUsers.jspf" %> </div> </td> </tr> @@ -52,46 +35,9 @@ </html:form> -<%-- <%@ include file="../buttons.jsp" %> --%> - <br> +<br> +<%@ include file="users.jspf" %> +<br> - <%-- Users 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="users.list.username"/> - </div></td> - <td><div align="left" class="table-header-text"> - <bean:message key="users.list.fullName"/> - </div></td> - </tr> - <logic:iterate name="users" id="user" type="java.lang.String"> - <tr class="line-row"> - <td><div align="left" class="table-normal-text"> - <html:link page='<%= "/users/setUpUser.do?objectName=" + - URLEncoder.encode(user) %>'> - <controls:attribute name="user" attribute="username"/> - </html:link> - </div></td> - <td><div align="left" class="table-normal-text"> - <controls:attribute name="user" attribute="fullName"/> - </div></td> - </tr> - </logic:iterate> - </table> - </td> - </tr> - </table> - -<%-- <%@ include file="../buttons.jsp" %> --%> - - <br> - -<p> </p> </body> </html:html> 1.2 +8 -6 jakarta-tomcat-4.0/webapps/admin/users/roles.jspf Index: roles.jspf =================================================================== RCS file: /home/cvs/jakarta-tomcat-4.0/webapps/admin/users/roles.jspf,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- roles.jspf 10 Feb 2002 03:15:04 -0000 1.1 +++ roles.jspf 10 Feb 2002 05:48:58 -0000 1.2 @@ -6,8 +6,8 @@ <table class="front-table" border="1" cellspacing="0" cellpadding="0" width="100%"> <tr class="header-row"> - <logic:present name="roleChecks"> - <td><div align="left" class="table-header-text"> + <logic:present name="checkboxes"> + <td width="5%"><div align="left" class="table-header-text"> </td> </logic:present> @@ -18,11 +18,13 @@ <bean:message key="users.list.description"/> </div></td> </tr> - <logic:iterate name="roles" id="role" type="java.lang.String"> + <logic:iterate name="rolesForm" property="roles" + id="role" type="java.lang.String"> <tr class="line-row"> - <logic:present name="roleChecks"> - <td><div align="left" class="table-normal-text"> - <input type="checkbox" name="roles"> <%-- FIXME: checks --%> + <logic:present name="checkboxes"> + <td><div align="center" class="table-normal-text"> + <input type="checkbox" name="roles" + value="<%= role %>"> </td> </logic:present> <td><div align="left" class="table-normal-text"> 1.1 jakarta-tomcat-4.0/webapps/admin/users/deleteGroups.jsp Index: deleteGroups.jsp =================================================================== <!-- Standard Struts Entries --> <%@ page language="java" import="java.net.URLEncoder" %> <%@ 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="header.jsp" %> <!-- Body --> <body bgcolor="white"> <!--Form --> <html:errors/> <html:form action="/users/listGroups"> <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="users.deleteGroups.title"/> </div> </td> <td width="19%"> <div align="right"> <%@ include file="listGroups.jspf" %> </div> </td> </tr> </table> </html:form> <br> <bean:define id="checkboxes" scope="page" value="true"/> <html:form action="/users/deleteGroups"> <%@ include file="../buttons.jsp" %> <br> <html:hidden property="databaseName"/> <%@ include file="groups.jspf" %> <%@ include file="../buttons.jsp" %> </html:form> <br> <%@ include file="footer.jsp" %> </body> </html:html> 1.1 jakarta-tomcat-4.0/webapps/admin/users/deleteRoles.jsp Index: deleteRoles.jsp =================================================================== <!-- Standard Struts Entries --> <%@ page language="java" import="java.net.URLEncoder" %> <%@ 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="header.jsp" %> <!-- Body --> <body bgcolor="white"> <!--Form --> <html:errors/> <html:form action="/users/listRoles"> <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="users.deleteRoles.title"/> </div> </td> <td width="19%"> <div align="right"> <%@ include file="listRoles.jspf" %> </div> </td> </tr> </table> </html:form> <br> <bean:define id="checkboxes" scope="page" value="true"/> <html:form action="/users/deleteRoles"> <%@ include file="../buttons.jsp" %> <br> <html:hidden property="databaseName"/> <%@ include file="roles.jspf" %> <%@ include file="../buttons.jsp" %> </html:form> <br> <%@ include file="footer.jsp" %> </body> </html:html> 1.1 jakarta-tomcat-4.0/webapps/admin/users/deleteUsers.jsp Index: deleteUsers.jsp =================================================================== <!-- Standard Struts Entries --> <%@ page language="java" import="java.net.URLEncoder" %> <%@ 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="header.jsp" %> <!-- Body --> <body bgcolor="white"> <!--Form --> <html:errors/> <html:form action="/users/listUsers"> <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="users.deleteUsers.title"/> </div> </td> <td width="19%"> <div align="right"> <%@ include file="listUsers.jspf" %> </div> </td> </tr> </table> </html:form> <br> <bean:define id="checkboxes" scope="page" value="true"/> <html:form action="/users/deleteUsers"> <%@ include file="../buttons.jsp" %> <br> <html:hidden property="databaseName"/> <%@ include file="users.jspf" %> <%@ include file="../buttons.jsp" %> </html:form> <br> <%@ include file="footer.jsp" %> </body> </html:html> 1.1 jakarta-tomcat-4.0/webapps/admin/users/groups.jspf Index: groups.jspf =================================================================== <%-- Groups 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"> <logic:present name="checkboxes"> <td width="5%"><div align="left" class="table-header-text"> </td> </logic:present> <td><div align="left" class="table-header-text"> <bean:message key="users.list.groupname"/> </div></td> <td><div align="left" class="table-header-text"> <bean:message key="users.list.description"/> </div></td> </tr> <logic:iterate name="groupsForm" property="groups" id="group" type="java.lang.String"> <tr class="line-row"> <logic:present name="checkboxes"> <td><div align="center" class="table-normal-text"> <input type="checkbox" name="groups" value="<%= group %>"> </td> </logic:present> <td><div align="left" class="table-normal-text"> <html:link page='<%= "/users/setUpGroup.do?objectName=" + URLEncoder.encode(group) %>'> <controls:attribute name="group" attribute="groupname"/> </html:link> </div></td> <td><div align="left" class="table-normal-text"> <controls:attribute name="group" attribute="description"/> </div></td> </tr> </logic:iterate> </table> </td></tr></table> 1.1 jakarta-tomcat-4.0/webapps/admin/users/listGroups.jspf Index: listGroups.jspf =================================================================== <controls:actions> <controls:action selected="true"> ----<bean:message key="actions.available.actions"/>---- </controls:action> <controls:action> --------------------------------- </controls:action> <controls:action url='<%= "/users/setUpGroup.do?databaseName=" + URLEncoder.encode(request.getParameter("databaseName")) %>'> <bean:message key="users.actions.group.create"/> </controls:action> <controls:action url='<%= "/users/listGroups.do?databaseName=" + URLEncoder.encode(request.getParameter("databaseName")) + "&forward=" + URLEncoder.encode("Groups Delete List") %>'> <bean:message key="users.actions.group.delete"/> </controls:action> <controls:action url='<%= "/users/listGroups.do?databaseName=" + URLEncoder.encode(request.getParameter("databaseName")) + "&forward=" + URLEncoder.encode("Groups List") %>'> <bean:message key="users.actions.group.list"/> </controls:action> </controls:actions> 1.1 jakarta-tomcat-4.0/webapps/admin/users/listRoles.jspf Index: listRoles.jspf =================================================================== <controls:actions> <controls:action selected="true"> ----<bean:message key="actions.available.actions"/>---- </controls:action> <controls:action> --------------------------------- </controls:action> <controls:action url='<%= "/users/setUpRole.do?databaseName=" + URLEncoder.encode(request.getParameter("databaseName")) %>'> <bean:message key="users.actions.role.create"/> </controls:action> <controls:action url='<%= "/users/listRoles.do?databaseName=" + URLEncoder.encode(request.getParameter("databaseName")) + "&forward=" + URLEncoder.encode("Roles Delete List") %>'> <bean:message key="users.actions.role.delete"/> </controls:action> <controls:action url='<%= "/users/listRoles.do?databaseName=" + URLEncoder.encode(request.getParameter("databaseName")) + "&forward=" + URLEncoder.encode("Roles List") %>'> <bean:message key="users.actions.role.list"/> </controls:action> </controls:actions> 1.1 jakarta-tomcat-4.0/webapps/admin/users/listUsers.jspf Index: listUsers.jspf =================================================================== <controls:actions> <controls:action selected="true"> ----<bean:message key="actions.available.actions"/>---- </controls:action> <controls:action> --------------------------------- </controls:action> <controls:action url='<%= "/users/setUpUser.do?databaseName=" + URLEncoder.encode(request.getParameter("databaseName")) %>'> <bean:message key="users.actions.user.create"/> </controls:action> <controls:action url='<%= "/users/listUsers.do?databaseName=" + URLEncoder.encode(request.getParameter("databaseName")) + "&forward=" + URLEncoder.encode("Users Delete List") %>'> <bean:message key="users.actions.user.delete"/> </controls:action> <controls:action url='<%= "/users/listUsers.do?databaseName=" + URLEncoder.encode(request.getParameter("databaseName")) + "&forward=" + URLEncoder.encode("Users List") %>'> <bean:message key="users.actions.user.list"/> </controls:action> </controls:actions> 1.1 jakarta-tomcat-4.0/webapps/admin/users/users.jspf Index: users.jspf =================================================================== <%-- Users 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"> <logic:present name="checkboxes"> <td width="5%"><div align="left" class="table-header-text"> </td> </logic:present> <td><div align="left" class="table-header-text"> <bean:message key="users.list.username"/> </div></td> <td><div align="left" class="table-header-text"> <bean:message key="users.list.fullName"/> </div></td> </tr> <logic:iterate name="usersForm" property="users" id="user" type="java.lang.String"> <tr class="line-row"> <logic:present name="checkboxes"> <td><div align="center" class="table-normal-text"> <input type="checkbox" name="users" value="<%= user %>"> </td> </logic:present> <td><div align="left" class="table-normal-text"> <html:link page='<%= "/users/setUpUser.do?objectName=" + URLEncoder.encode(user) %>'> <controls:attribute name="user" attribute="username"/> </html:link> </div></td> <td><div align="left" class="table-normal-text"> <controls:attribute name="user" attribute="fullName"/> </div></td> </tr> </logic:iterate> </table> </td></tr></table>
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>