Author: chathura
Date: Wed Jan  9 00:24:44 2008
New Revision: 12011

Log:


Implemented support for changing AUTHORIZE permission in the UI for resource 
level.



Modified:
   
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AuthorizationAction.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/RoleAuthorizationAction.java
   
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/Permission.java
   trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
   trunk/registry/modules/webapps/src/main/webapp/admin/permisions.jsp

Modified: 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
==============================================================================
--- 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
       (original)
+++ 
trunk/registry/modules/core/src/main/java/org/wso2/registry/jdbc/mediatypes/builtin/WSDLMediaTypeHandler.java
       Wed Jan  9 00:24:44 2008
@@ -41,7 +41,7 @@
     }
 
     public Resource get(String path, Resource rawArtifact) throws 
RegistryException {
-        return null;  //To change body of implemented methods use File | 
Settings | File Templates.
+        return null;
     }
 
     public boolean put(String path, Resource resource) throws 
RegistryException {
@@ -49,15 +49,15 @@
         String wsdlURL = resource.getProperty("fetchURL");
         wsdlFileProcessor.saveWSDLFileToRegistry(wsdlURL, getParentPath(path));
 
-        return true;  //To change body of implemented methods use File | 
Settings | File Templates.
+        return true;
     }
 
     public boolean delete(String path) throws RegistryException {
-        return false;  //To change body of implemented methods use File | 
Settings | File Templates.
+        return false;
     }
 
     public boolean putChild(String childPath, Resource resource) throws 
RegistryException {
-        return false;  //To change body of implemented methods use File | 
Settings | File Templates.
+        return false;
     }
 
     private static String getParentPath(String childPath) {

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AuthorizationAction.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AuthorizationAction.java
 (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/AuthorizationAction.java
 Wed Jan  9 00:24:44 2008
@@ -21,6 +21,7 @@
 import org.wso2.registry.secure.SecureRegistry;
 import org.wso2.usermanager.Realm;
 import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserManagerConstants;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -66,6 +67,16 @@
                     
userRealm.getAccessControlAdmin().denyUser(userToAuthorize, pathToAuthorize, 
ActionConstants.DELETE);
                 }
             }
+
+            if (actionToAuthorize.equals("5")) {
+
+                if (permissionType.equals("1")) {
+                    
userRealm.getAccessControlAdmin().authorizeUser(userToAuthorize, 
pathToAuthorize, UserManagerConstants.AUTHORIZE);
+                } else {
+                    
userRealm.getAccessControlAdmin().denyUser(userToAuthorize, pathToAuthorize, 
UserManagerConstants.AUTHORIZE);
+                }
+            }
+
         } catch (UserManagerException e) {
             String msg = "Could not set authorizations. Caused by: " + 
e.getMessage();
             throw new RegistryException(msg);

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
     Wed Jan  9 00:24:44 2008
@@ -23,6 +23,7 @@
 import org.wso2.usermanager.AccessControlAdmin;
 import org.wso2.usermanager.Realm;
 import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserManagerConstants;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -64,6 +65,7 @@
                     accessControlAdmin.clearUserAuthorization(permUser, 
resourcePath, ActionConstants.GET);
                     accessControlAdmin.clearUserAuthorization(permUser, 
resourcePath, ActionConstants.PUT);
                     accessControlAdmin.clearUserAuthorization(permUser, 
resourcePath, ActionConstants.DELETE);
+                    accessControlAdmin.clearUserAuthorization(permUser, 
resourcePath, UserManagerConstants.AUTHORIZE);
                 }
 
                 for (int j = 1; j < permissions.length; j++) {
@@ -96,6 +98,14 @@
                         if (checked.equals("true")) {
                             accessControlAdmin.denyUser(permUser, 
resourcePath, ActionConstants.DELETE);
                         }
+                    } else if (action.equals("aa")) {
+                        if (checked.equals("true")) {
+                            accessControlAdmin.authorizeUser(permUser, 
resourcePath, UserManagerConstants.AUTHORIZE);
+                        }
+                    } else if (action.equals("ad")) {
+                        if (checked.equals("true")) {
+                            accessControlAdmin.denyUser(permUser, 
resourcePath, UserManagerConstants.AUTHORIZE);
+                        }
                     }
                 }
             }

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
 Wed Jan  9 00:24:44 2008
@@ -23,6 +23,7 @@
 import org.wso2.usermanager.AccessControlAdmin;
 import org.wso2.usermanager.Realm;
 import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserManagerConstants;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -62,6 +63,7 @@
                     accessControlAdmin.clearRoleAuthorization(permRole, 
resourcePath, ActionConstants.GET);
                     accessControlAdmin.clearRoleAuthorization(permRole, 
resourcePath, ActionConstants.PUT);
                     accessControlAdmin.clearRoleAuthorization(permRole, 
resourcePath, ActionConstants.DELETE);
+                    accessControlAdmin.clearRoleAuthorization(permRole, 
resourcePath, UserManagerConstants.AUTHORIZE);
                 }
 
                 for (int j = 1; j < permissions.length; j++) {
@@ -94,6 +96,14 @@
                         if (checked.equals("true")) {
                             accessControlAdmin.denyRole(permRole, 
resourcePath, ActionConstants.DELETE);
                         }
+                    } else if (action.equals("aa")) {
+                        if (checked.equals("true")) {
+                            accessControlAdmin.authorizeRole(permRole, 
resourcePath, UserManagerConstants.AUTHORIZE);
+                        }
+                    } else if (action.equals("ad")) {
+                        if (checked.equals("true")) {
+                            accessControlAdmin.denyRole(permRole, 
resourcePath, UserManagerConstants.AUTHORIZE);
+                        }
                     }
                 }
             }

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
       Wed Jan  9 00:24:44 2008
@@ -24,6 +24,7 @@
 import org.wso2.registry.web.actions.utils.VersionPath;
 import org.wso2.usermanager.Realm;
 import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserManagerConstants;
 
 import javax.servlet.http.HttpServletRequest;
 import java.util.*;
@@ -320,6 +321,32 @@
                 }
             }
 
+            String[] aaUsers = 
userRealm.getAuthorizer().getAllowedUsersForResource(path, 
UserManagerConstants.AUTHORIZE);
+            for (int i = 0; i < aaUsers.length; i++) {
+                if (userPermissionMap.containsKey(aaUsers[i])) {
+                    Permission permission = (Permission) 
userPermissionMap.get(aaUsers[i]);
+                    permission.setAuthorizeAllow(true);
+                } else {
+                    Permission permission = new Permission();
+                    permission.setUserName(aaUsers[i]);
+                    permission.setAuthorizeAllow(true);
+                    userPermissionMap.put(aaUsers[i], permission);
+                }
+            }
+
+            String[] adUsers = 
userRealm.getAuthorizer().getDeniedUsersForResource(path, 
UserManagerConstants.AUTHORIZE);
+            for (int i = 0; i < adUsers.length; i++) {
+                if (userPermissionMap.containsKey(adUsers[i])) {
+                    Permission permission = (Permission) 
userPermissionMap.get(adUsers[i]);
+                    permission.setAuthorizeDeny(true);
+                } else {
+                    Permission permission = new Permission();
+                    permission.setUserName(adUsers[i]);
+                    permission.setAuthorizeDeny(true);
+                    userPermissionMap.put(adUsers[i], permission);
+                }
+            }
+
             userPermissions = new ArrayList(userPermissionMap.values());
 
             Map rolePermissionMap = new HashMap();
@@ -402,6 +429,32 @@
                 }
             }
 
+            String[] aaRoles = 
userRealm.getAuthorizer().getAllowedRolesForResource(path, 
UserManagerConstants.AUTHORIZE);
+            for (int i = 0; i < aaRoles.length; i++) {
+                if (rolePermissionMap.containsKey(aaRoles[i])) {
+                    Permission permission = (Permission) 
rolePermissionMap.get(aaRoles[i]);
+                    permission.setAuthorizeAllow(true);
+                } else {
+                    Permission permission = new Permission();
+                    permission.setUserName(aaRoles[i]);
+                    permission.setAuthorizeAllow(true);
+                    rolePermissionMap.put(aaRoles[i], permission);
+                }
+            }
+
+            String[] adRoles = 
userRealm.getAuthorizer().getDeniedRolesForResource(path, 
UserManagerConstants.AUTHORIZE);
+            for (int i = 0; i < adRoles.length; i++) {
+                if (rolePermissionMap.containsKey(adRoles[i])) {
+                    Permission permission = (Permission) 
rolePermissionMap.get(adRoles[i]);
+                    permission.setAuthorizeDeny(true);
+                } else {
+                    Permission permission = new Permission();
+                    permission.setUserName(adRoles[i]);
+                    permission.setAuthorizeDeny(true);
+                    rolePermissionMap.put(adRoles[i], permission);
+                }
+            }
+
             rolePermissions = new ArrayList(rolePermissionMap.values());
 
         } catch (UserManagerException e) {

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RoleAuthorizationAction.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RoleAuthorizationAction.java
     (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/RoleAuthorizationAction.java
     Wed Jan  9 00:24:44 2008
@@ -21,6 +21,7 @@
 import org.wso2.registry.secure.SecureRegistry;
 import org.wso2.usermanager.Realm;
 import org.wso2.usermanager.UserManagerException;
+import org.wso2.usermanager.UserManagerConstants;
 
 import javax.servlet.http.HttpServletRequest;
 
@@ -66,6 +67,16 @@
                     
userRealm.getAccessControlAdmin().denyRole(roleToAuthorize, pathToAuthorize, 
ActionConstants.DELETE);
                 }
             }
+
+            if (actionToAuthorize.equals("5")) {
+
+                if (permissionType.equals("1")) {
+                    
userRealm.getAccessControlAdmin().authorizeRole(roleToAuthorize, 
pathToAuthorize, UserManagerConstants.AUTHORIZE);
+                } else {
+                    
userRealm.getAccessControlAdmin().denyRole(roleToAuthorize, pathToAuthorize, 
UserManagerConstants.AUTHORIZE);
+                }
+            }
+
         } catch (UserManagerException e) {
             String msg = "Could not set authorizations. Caused by: " + 
e.getMessage();
             throw new RegistryException(msg);

Modified: 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/Permission.java
==============================================================================
--- 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/Permission.java
    (original)
+++ 
trunk/registry/modules/webapps/src/main/java/org/wso2/registry/web/actions/utils/Permission.java
    Wed Jan  9 00:24:44 2008
@@ -25,6 +25,8 @@
     private boolean writeDeny;
     private boolean deleteAllow;
     private boolean deleteDeny;
+    private boolean authorizeAllow;
+    private boolean authorizeDeny;
 
     public String getUserName() {
         return userName;
@@ -81,4 +83,20 @@
     public void setDeleteDeny(boolean deleteDeny) {
         this.deleteDeny = deleteDeny;
     }
+
+    public boolean isAuthorizeAllow() {
+        return authorizeAllow;
+    }
+
+    public void setAuthorizeAllow(boolean authorizeAllow) {
+        this.authorizeAllow = authorizeAllow;
+    }
+
+    public boolean isAuthorizeDeny() {
+        return authorizeDeny;
+    }
+
+    public void setAuthorizeDeny(boolean authorizeDeny) {
+        this.authorizeDeny = authorizeDeny;
+    }
 }

Modified: trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js   
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/js/common.js   Wed Jan 
 9 00:24:44 2008
@@ -106,7 +106,7 @@
     var currentUser = "";
     for (i=0; i<len; i++) {
         if (pForm.elements[i].type=="checkbox") {
-            perm = pForm.elements[i];
+            var perm = pForm.elements[i];
             if(pForm.elements[i].name.substring(0,7)!="nonuser") {
                 if (currentUser != perm.name) {
                     msgBody=msgBody + "1" + perm.name + "2" + perm.value + "3" 
+ perm.checked;
@@ -130,7 +130,7 @@
     var currentUser = "";
     for (i=0; i<len; i++) {
         if (pForm.elements[i].type=="checkbox") {
-            perm = pForm.elements[i];
+            var perm = pForm.elements[i];
             if(pForm.elements[i].name.substring(0,7)!="nonuser") {
                 if (currentUser != perm.name) {
                     msgBody=msgBody + "1" + perm.name + "2" + perm.value + "3" 
+ perm.checked;

Modified: trunk/registry/modules/webapps/src/main/webapp/admin/permisions.jsp
==============================================================================
--- trunk/registry/modules/webapps/src/main/webapp/admin/permisions.jsp 
(original)
+++ trunk/registry/modules/webapps/src/main/webapp/admin/permisions.jsp Wed Jan 
 9 00:24:44 2008
@@ -34,6 +34,7 @@
                     <option value="2">Read</option>
                     <option value="3">Write</option>
                     <option value="4">Delete</option>
+                    <option value="5">Authorize</option>
                 </select>
             </td>
             <td>
@@ -53,6 +54,7 @@
             <th colspan="2" align="center">Read</th>
             <th colspan="2" align="center">Write</th>
             <th colspan="2" align="center">Delete</th>
+            <th colspan="2" align="center">Authorize</th>
         </tr>
         <tr>
             <th align="center">Allow</th>
@@ -61,6 +63,8 @@
             <th align="center">Deny</th>
             <th align="center">Allow</th>
             <th align="center">Deny</th>
+            <th align="center">Allow</th>
+            <th align="center">Deny</th>
         </tr>
 
         <%
@@ -77,6 +81,8 @@
             <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="wd" <% if 
(permission.isWriteDeny()) { %> checked <% } %>/></td>
             <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="da" <% if 
(permission.isDeleteAllow()) { %> checked <% } %>/></td>
             <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="dd" <% if 
(permission.isDeleteDeny()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="aa" <% if 
(permission.isAuthorizeAllow()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="ad" <% if 
(permission.isAuthorizeDeny()) { %> checked <% } %>/></td>
         </tr>
         <% } %>
         <tr>
@@ -113,6 +119,7 @@
                     <option value="2">Read</option>
                     <option value="3">Write</option>
                     <option value="4">Delete</option>
+                    <option value="5">Authorize</option>
                 </select>
             </td>
             <td>
@@ -132,6 +139,7 @@
             <th colspan="2" align="center">Read</th>
             <th colspan="2" align="center">Write</th>
             <th colspan="2" align="center">Delete</th>
+            <th colspan="2" align="center">Authorize</th>
         </tr>
         <tr>
             <th align="center">Allow</th>
@@ -140,6 +148,8 @@
             <th align="center">Deny</th>
             <th align="center">Allow</th>
             <th align="center">Deny</th>
+            <th align="center">Allow</th>
+            <th align="center">Deny</th>
         </tr>
 
         <%
@@ -156,6 +166,8 @@
             <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="wd" <% if 
(permission.isWriteDeny()) { %> checked <% } %>/></td>
             <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="da" <% if 
(permission.isDeleteAllow()) { %> checked <% } %>/></td>
             <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="dd" <% if 
(permission.isDeleteDeny()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="aa" <% if 
(permission.isAuthorizeAllow()) { %> checked <% } %>/></td>
+            <td width="100"><input type="checkbox" 
name="<%=permission.getUserName()%>" value="ad" <% if 
(permission.isAuthorizeDeny()) { %> checked <% } %>/></td>
         </tr>
         <% } %>
         <tr>

_______________________________________________
Registry-dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/registry-dev

Reply via email to