Author: chathura
Date: Tue Dec 4 20:41:56 2007
New Revision: 10500
Log:
Integrated the user page with roles view, controls to add roles and user's
recent activity.
Improved the people page.
Added:
trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AddUserRoleAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveRoleAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserRoleAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.java
trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/ControllerServlet.java
Tue Dec 4 20:41:56 2007
@@ -183,6 +183,20 @@
forwardToResources(request, response, path);
+ } else if (command.equals("/addUserToRole")) {
+
+ AddUserRoleAction addUserRoleAction = new AddUserRoleAction();
+
addUserRoleAction.setUserName(request.getParameter("userName"));
+
addUserRoleAction.setRoleName(request.getParameter("roleToAdd"));
+
+ try {
+ addUserRoleAction.execute(request);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ forwardToUserPage(request, response,
request.getParameter("userName"));
+
} else if (command.equals("/addCollection")) {
AddCollectionAction addCollectionAction = new
AddCollectionAction();
@@ -336,6 +350,51 @@
forwardToNewAdvancedSearch(request, response);
+ } else if (command.startsWith("/people") && command.length() >
"/people/.".length()) {
+
+ String userName =
uri.substring("/wso2registry/system/people/".length(), uri.length());
+
+ forwardToUserPage(request, response, userName);
+
+ } else if (command.equals("/removeUserFromRole")) {
+
+ RemoveUserRoleAction removeUserRoleAction = new
RemoveUserRoleAction();
+ removeUserRoleAction.setUserName(request.getParameter("user"));
+ removeUserRoleAction.setRoleName(request.getParameter("role"));
+
+ try {
+ removeUserRoleAction.execute(request);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ forwardToUserPage(request, response,
request.getParameter("user"));
+
+ } else if (command.equals("/removeUser")) {
+
+ RemoveUserAction removeUserAction = new RemoveUserAction();
+ removeUserAction.setUserName(request.getParameter("user"));
+
+ try {
+ removeUserAction.execute(request);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ forwardToUserManagement(request, response);
+
+ } else if (command.equals("/removeRole")) {
+
+ RemoveRoleAction removeRoleAction = new RemoveRoleAction();
+ removeRoleAction.setRoleName(request.getParameter("role"));
+
+ try {
+ removeRoleAction.execute(request);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ forwardToUserManagement(request, response);
}
}
}
@@ -504,4 +563,28 @@
e.printStackTrace();
}
}
+
+ private void forwardToUserPage(HttpServletRequest request,
HttpServletResponse response, String userName) {
+
+ String uri = request.getRequestURI();
+
+ UserDetailsAction userDetailsAction = new UserDetailsAction();
+ userDetailsAction.setUserName(userName);
+
+ try {
+ userDetailsAction.execute(request);
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
+
+ request.getSession().setAttribute(UIConstants.USER_BEAN,
userDetailsAction);
+
+ try {
+
request.getRequestDispatcher(UIConstants.USER_JSP).forward(request, response);
+ } catch (ServletException e) {
+ e.printStackTrace();
+ } catch (IOException e) {
+ e.printStackTrace();
+ }
+ }
}
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/UIConstants.java
Tue Dec 4 20:41:56 2007
@@ -23,6 +23,7 @@
public static final String USER_MANAGEMENT_BEAN = "user_management";
public static final String ACTIVITY_BEAN = "activity";
public static final String ADVANCED_SEARCH_BEAN = "advanced_search";
+ public static final String USER_BEAN = "userBean";
public static final String WEB_PATH = "web";
public static final String SYSTEM_PATH = "system";
@@ -34,5 +35,6 @@
public static final String USER_MANAGEMENT_JSP = "/admin/people.jsp";
public static final String ACTIVITY_JSP = "/admin/recent-activity.jsp";
public static final String ADVANCED_SEARCH_JSP =
"/admin/advanced-search.jsp";
+ public static final String USER_JSP = "/admin/user.jsp";
public static final String RESOURCE_DETAILS_JSP =
"/admin/resources_details.jsp";
}
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AddUserRoleAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AddUserRoleAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AddUserRoleAction.java
Tue Dec 4 20:41:56 2007
@@ -19,13 +19,17 @@
import org.wso2.registry.secure.SecureRegistry;
import org.wso2.usermanager.Realm;
+import javax.servlet.http.HttpServletRequest;
+
public class AddUserRoleAction extends AbstractRegistryAction {
private String userName;
private String roleName;
- public String execute() throws Exception {
+ public String execute(HttpServletRequest request) throws Exception {
+ setRequest(request);
+
if (roleName.equals("1")) {
return SUCCESS;
}
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveRoleAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveRoleAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveRoleAction.java
Tue Dec 4 20:41:56 2007
@@ -19,12 +19,16 @@
import org.wso2.registry.secure.SecureRegistry;
import org.wso2.registry.secure.RegistryUserManager;
+import javax.servlet.http.HttpServletRequest;
+
public class RemoveRoleAction extends AbstractRegistryAction {
private String roleName;
- public String execute() throws Exception {
+ public String execute(HttpServletRequest request) throws Exception {
+ setRequest(request);
+
if (roleName == null) {
return ERROR;
}
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserAction.java
Tue Dec 4 20:41:56 2007
@@ -19,12 +19,16 @@
import org.wso2.registry.secure.SecureRegistry;
import org.wso2.registry.secure.RegistryUserManager;
+import javax.servlet.http.HttpServletRequest;
+
public class RemoveUserAction extends AbstractRegistryAction {
private String userName;
- public String execute() throws Exception {
+ public String execute(HttpServletRequest request) throws Exception {
+ setRequest(request);
+
if (userName == null) {
return ERROR;
}
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserRoleAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserRoleAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RemoveUserRoleAction.java
Tue Dec 4 20:41:56 2007
@@ -19,13 +19,17 @@
import org.wso2.registry.secure.SecureRegistry;
import org.wso2.usermanager.Realm;
+import javax.servlet.http.HttpServletRequest;
+
public class RemoveUserRoleAction extends AbstractRegistryAction {
private String userName;
private String roleName;
- public String execute() throws Exception {
+ public String execute(HttpServletRequest request) throws Exception {
+ setRequest(request);
+
SecureRegistry registry = (SecureRegistry) getRegistry();
Realm realm = registry.getUserManager().getRealm();
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/UserDetailsAction.java
Tue Dec 4 20:41:56 2007
@@ -18,19 +18,24 @@
import org.wso2.registry.secure.SecureRegistry;
import org.wso2.registry.secure.RegistryUserManager;
+import org.wso2.registry.LogEntry;
import org.wso2.usermanager.Realm;
+import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.ArrayList;
public class UserDetailsAction extends AbstractRegistryAction {
private String userName;
+ private List userActivity = new ArrayList();
private List userRoles = new ArrayList();
private List allRoles = new ArrayList();
- public String execute() throws Exception {
+ public String execute(HttpServletRequest request) throws Exception {
+ setRequest(request);
+
SecureRegistry secureRegistry = (SecureRegistry) getRegistry();
RegistryUserManager userManager = secureRegistry.getUserManager();
@@ -45,6 +50,30 @@
allRoles.add(roleNamesArray[i]);
}
+ LogEntry[] userLogs = secureRegistry.getLogs(null, -1, userName, null,
null);
+ for (int i = 0; i < userLogs.length && i < 10; i++) {
+
+ LogEntry logEntry = userLogs[i];
+
+ if (logEntry.getAction() == LogEntry.UPDATE) {
+ String entry = logEntry.getUserName() + " has updated the
resource '" + logEntry.getResourcePath() + "' on " +
logEntry.getDate().toString() + ".";
+ userActivity.add(entry);
+
+ } else if (logEntry.getAction() == LogEntry.COMMENT) {
+ String entry = logEntry.getUserName() + " has commented on
resource '" + logEntry.getResourcePath() + "' on " +
logEntry.getDate().toString() + " with the following comment.<br/>" +
logEntry.getActionData();
+ userActivity.add(entry);
+
+ } else if (logEntry.getAction() == LogEntry.TAG) {
+ String entry = logEntry.getUserName() + " has tagged the
resource '" + logEntry.getResourcePath() + "' with tag '" +
logEntry.getActionData() + "' on " + logEntry.getDate().toString() + ".";
+ userActivity.add(entry);
+
+ } else if (logEntry.getAction() == LogEntry.RATING) {
+ String entry = logEntry.getUserName() + " has rated the
resource '" + logEntry.getResourcePath() + "' with rating " +
logEntry.getActionData() + " on " + logEntry.getDate().toString() + ".";
+ userActivity.add(entry);
+
+ }
+ }
+
return SUCCESS;
}
@@ -56,6 +85,14 @@
this.userName = userName;
}
+ public List getUserActivity() {
+ return userActivity;
+ }
+
+ public void setUserActivity(List userActivity) {
+ this.userActivity = userActivity;
+ }
+
public List getUserRoles() {
return userRoles;
}
Modified: trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/people.jsp Tue Dec
4 20:41:56 2007
@@ -103,9 +103,9 @@
%>
<tr>
- <td><%=regUser%></td>
- <td>11/26/07 2:35:33 PM.046</td>
- <td>Admin</td>
+ <td><a
href="/wso2registry/system/people/<%=regUser%>"><%=regUser%></a></td>
+ <td>Friendly name should appear here</td>
+ <td><a href="/wso2registry/system/removeUser?user=<%=regUser%>">Remove
user</a></td>
<td>
<a href="#" title="Delete" style="margin-left:5px;"><img
src="images/icon-trash.gif" border="0" /></a>
</td>
@@ -158,9 +158,9 @@
%>
<tr>
<td><%=role%></td>
- <td>11/26/07 2:35:33 PM.046</td>
+ <td><a href="/wso2registry/system/removeRole?role=<%=role%>">Remove
role</a></td>
<td>
- <a href="#" title="Delete" style="margin-left:5px;"><img
src="images/icon-trash.gif" border="0" /></a>
+ <a href="/wso2registry/system/removeRole?role=<%=role%>"
title="Delete" style="margin-left:5px;"><img src="images/icon-trash.gif"
border="0" /></a>
</td>
</tr>
Added: trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp
==============================================================================
--- (empty file)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/user.jsp Tue Dec
4 20:41:56 2007
@@ -0,0 +1,55 @@
+<%@ page import="org.wso2.registry.web.actions.UserDetailsAction" %>
+<%@ page import="org.wso2.registry.web.UIConstants" %>
+<%@ page import="java.util.Iterator" %>
+<%@ page contentType="text/html;charset=UTF-8" language="java" %>
+<html>
+<head><title>WSO2 Registry</title></head>
+
+<body>
+
+ <%
+ UserDetailsAction userDetailsAction = (UserDetailsAction)
request.getSession().getAttribute(UIConstants.USER_BEAN);
+ %>
+
+ <h1><%=userDetailsAction.getUserName()%></h1>
+
+ <br/>
+
+ <ul>
+ <%
+ Iterator iUserRoles = userDetailsAction.getUserRoles().iterator();
+ while (iUserRoles.hasNext()) {
+ String userRole = (String) iUserRoles.next();
+ %>
+ <li><%=userRole%><a
href="/wso2registry/system/removeUserFromRole?user=<%=userDetailsAction.getUserName()%>&role=<%=userRole%>">Remove</a></li>
+ <% } %>
+ </ul>
+
+ <form action="/wso2registry/system/addUserToRole" method="post">
+ <input type="hidden" name="userName"
value="<%=userDetailsAction.getUserName()%>"/>
+ <select name="roleToAdd">
+ <%
+ Iterator iRoles = userDetailsAction.getAllRoles().iterator();
+ while (iRoles.hasNext()) {
+ String roleName = (String) iRoles.next();
+ %>
+ <option value="<%=roleName%>"><%=roleName%></option>
+ <% } %>
+ </select>
+ <input type="submit" value="Add"/>
+ </form>
+
+ <h2>Recent activity of the user</h2>
+ <br/>
+ <ul>
+ <%
+ Iterator iActivity =
userDetailsAction.getUserActivity().iterator();
+ while (iActivity.hasNext()) {
+ String activity = (String) iActivity.next();
+ %>
+ <li><%=activity%></li>
+ <% } %>
+ </ul>
+
+</body>
+</html>
\ No newline at end of file
_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev