Author: chathura
Date: Mon Jan 7 01:27:31 2008
New Revision: 11926
Log:
Implemented the support for changing delete permissions from the UI.
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/CollectionViewAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassAuthorizationAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassRoleAuthorizationAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/ResourceDetailsAction.java
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/ResourceData.java
trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/CollectionViewAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/CollectionViewAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/CollectionViewAction.java
Mon Jan 7 01:27:31 2008
@@ -20,6 +20,7 @@
import org.wso2.registry.RegistryConstants;
import org.wso2.registry.RegistryException;
import org.wso2.registry.Resource;
+import org.wso2.registry.servlet.utils.UserUtil;
import org.wso2.registry.secure.AuthorizationFailedException;
import org.wso2.registry.web.MediaTypesReader;
import org.wso2.registry.web.actions.utils.ResourceData;
@@ -150,6 +151,8 @@
resourceData.setDescription(child.getDescription());
resourceData.setAverageRating(registry.getAverageRating(child.getPath()));
resourceData.setCreatedOn(child.getCreatedTime());
+ resourceData.setDeleteAllowed(
+ UserUtil.isDeleteAllowed(getUserName(), childPaths[i],
request));
calculateAverageStars(resourceData);
resourceDataList.add(resourceData);
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassAuthorizationAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassAuthorizationAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassAuthorizationAction.java
Mon Jan 7 01:27:31 2008
@@ -63,6 +63,7 @@
accessControlAdmin.clearUserAuthorization(permUser,
resourcePath, ActionConstants.GET);
accessControlAdmin.clearUserAuthorization(permUser,
resourcePath, ActionConstants.PUT);
+ accessControlAdmin.clearUserAuthorization(permUser,
resourcePath, ActionConstants.DELETE);
}
for (int j = 1; j < permissions.length; j++) {
@@ -87,6 +88,14 @@
if (checked.equals("true")) {
accessControlAdmin.denyUser(permUser,
resourcePath, ActionConstants.PUT);
}
+ } else if (action.equals("da")) {
+ if (checked.equals("true")) {
+ accessControlAdmin.authorizeUser(permUser,
resourcePath, ActionConstants.DELETE);
+ }
+ } else if (action.equals("dd")) {
+ if (checked.equals("true")) {
+ accessControlAdmin.denyUser(permUser,
resourcePath, ActionConstants.DELETE);
+ }
}
}
}
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassRoleAuthorizationAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassRoleAuthorizationAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/MassRoleAuthorizationAction.java
Mon Jan 7 01:27:31 2008
@@ -61,6 +61,7 @@
if (!permRole.equals(RegistryConstants.ADMIN_ROLE)) {
accessControlAdmin.clearRoleAuthorization(permRole,
resourcePath, ActionConstants.GET);
accessControlAdmin.clearRoleAuthorization(permRole,
resourcePath, ActionConstants.PUT);
+ accessControlAdmin.clearRoleAuthorization(permRole,
resourcePath, ActionConstants.DELETE);
}
for (int j = 1; j < permissions.length; j++) {
@@ -85,6 +86,14 @@
if (checked.equals("true")) {
accessControlAdmin.denyRole(permRole,
resourcePath, ActionConstants.PUT);
}
+ } else if (action.equals("da")) {
+ if (checked.equals("true")) {
+ accessControlAdmin.authorizeRole(permRole,
resourcePath, ActionConstants.DELETE);
+ }
+ } else if (action.equals("dd")) {
+ if (checked.equals("true")) {
+ accessControlAdmin.denyRole(permRole,
resourcePath, ActionConstants.DELETE);
+ }
}
}
}
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/ResourceDetailsAction.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/ResourceDetailsAction.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/ResourceDetailsAction.java
Mon Jan 7 01:27:31 2008
@@ -294,6 +294,32 @@
}
}
+ String[] daUsers =
userRealm.getAuthorizer().getAllowedUsersForResource(path,
ActionConstants.DELETE);
+ for (int i = 0; i < daUsers.length; i++) {
+ if (userPermissionMap.containsKey(daUsers[i])) {
+ Permission permission = (Permission)
userPermissionMap.get(daUsers[i]);
+ permission.setDeleteAllow(true);
+ } else {
+ Permission permission = new Permission();
+ permission.setUserName(daUsers[i]);
+ permission.setDeleteAllow(true);
+ userPermissionMap.put(daUsers[i], permission);
+ }
+ }
+
+ String[] ddUsers =
userRealm.getAuthorizer().getDeniedUsersForResource(path,
ActionConstants.DELETE);
+ for (int i = 0; i < ddUsers.length; i++) {
+ if (userPermissionMap.containsKey(ddUsers[i])) {
+ Permission permission = (Permission)
userPermissionMap.get(ddUsers[i]);
+ permission.setDeleteDeny(true);
+ } else {
+ Permission permission = new Permission();
+ permission.setUserName(ddUsers[i]);
+ permission.setDeleteDeny(true);
+ userPermissionMap.put(ddUsers[i], permission);
+ }
+ }
+
userPermissions = new ArrayList(userPermissionMap.values());
Map rolePermissionMap = new HashMap();
@@ -350,10 +376,37 @@
}
}
+ String[] daRoles =
userRealm.getAuthorizer().getAllowedRolesForResource(path,
ActionConstants.DELETE);
+ for (int i = 0; i < daRoles.length; i++) {
+ if (rolePermissionMap.containsKey(daRoles[i])) {
+ Permission permission = (Permission)
rolePermissionMap.get(daRoles[i]);
+ permission.setDeleteAllow(true);
+ } else {
+ Permission permission = new Permission();
+ permission.setUserName(daRoles[i]);
+ permission.setDeleteAllow(true);
+ rolePermissionMap.put(daRoles[i], permission);
+ }
+ }
+
+ String[] ddRoles =
userRealm.getAuthorizer().getDeniedRolesForResource(path,
ActionConstants.DELETE);
+ for (int i = 0; i < ddRoles.length; i++) {
+ if (rolePermissionMap.containsKey(ddRoles[i])) {
+ Permission permission = (Permission)
rolePermissionMap.get(ddRoles[i]);
+ permission.setDeleteDeny(true);
+ } else {
+ Permission permission = new Permission();
+ permission.setUserName(ddRoles[i]);
+ permission.setDeleteDeny(true);
+ rolePermissionMap.put(ddRoles[i], permission);
+ }
+ }
+
rolePermissions = new ArrayList(rolePermissionMap.values());
} catch (UserManagerException e) {
String msg = "Could not get user manager details. Caused by: " +
e.getMessage();
+ throw new RegistryException(msg);
}
return SUCCESS;
Modified:
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/ResourceData.java
==============================================================================
---
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/ResourceData.java
(original)
+++
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/ResourceData.java
Mon Jan 7 01:27:31 2008
@@ -43,6 +43,7 @@
private float averageRating;
private String[] averageStars = new String[5];
private Date createdOn;
+ private boolean deleteAllowed;
private Map tagCounts = new HashMap();
public String getName() {
@@ -134,6 +135,14 @@
this.createdOn = createdOn;
}
+ public boolean isDeleteAllowed() {
+ return deleteAllowed;
+ }
+
+ public void setDeleteAllowed(boolean deleteAllowed) {
+ this.deleteAllowed = deleteAllowed;
+ }
+
public Map getTagCounts() {
return tagCounts;
}
Modified:
trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/registry-resources.jsp
Mon Jan 7 01:27:31 2008
@@ -340,7 +340,7 @@
(<%=resourceData.getAverageRating()%>)
</td>
<td>
- <% if (details.isDeleteAllowed()) { %><a
href="/wso2registry/system/deleteResource?resourcePath=<%=resourceData.getResourcePath()%>"
title="Delete" style="margin-left:5px;"><img
src="/wso2registry/admin/images/icon-trash.gif" border="0" /></a> <% } %>
+ <% if (resourceData.isDeleteAllowed()) { %><a
href="/wso2registry/system/deleteResource?resourcePath=<%=resourceData.getResourcePath()%>"
title="Delete" style="margin-left:5px;"><img
src="/wso2registry/admin/images/icon-trash.gif" border="0" /></a> <% } %>
</td>
</tr>
_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev