You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by sm...@apache.org on 2015/12/18 00:43:08 UTC

directory-fortress-enmasse git commit: FC-131 - new findPermissions returns all operations by perm object

Repository: directory-fortress-enmasse
Updated Branches:
  refs/heads/master ec6321915 -> a937fab9d


 FC-131 -  new findPermissions returns all operations by perm object


Project: http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/repo
Commit: http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/commit/a937fab9
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/tree/a937fab9
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/diff/a937fab9

Branch: refs/heads/master
Commit: a937fab9dfe1c661cb5303faea28ef1e70c91a13
Parents: ec63219
Author: Shawn McKinney <sm...@apache.org>
Authored: Thu Dec 17 04:37:54 2015 -0600
Committer: Shawn McKinney <sm...@apache.org>
Committed: Thu Dec 17 04:37:54 2015 -0600

----------------------------------------------------------------------
 .../fortress/rest/FortressService.java          | 21 ++++++++++++++
 .../fortress/rest/FortressServiceImpl.java      | 30 +++++++++++++++++++-
 .../directory/fortress/rest/ReviewMgrImpl.java  | 21 ++++++++++++++
 3 files changed, 71 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/blob/a937fab9/src/main/java/org/apache/directory/fortress/rest/FortressService.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/rest/FortressService.java b/src/main/java/org/apache/directory/fortress/rest/FortressService.java
index 1b9da5a..7634116 100644
--- a/src/main/java/org/apache/directory/fortress/rest/FortressService.java
+++ b/src/main/java/org/apache/directory/fortress/rest/FortressService.java
@@ -1321,6 +1321,27 @@ public interface FortressService
 
 
     /**
+     * Method returns Permision operations for the provided permission object.
+     * <h4>required parameters</h4>
+     * <ul>
+     * <li>{@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.PermObj} entity</li>
+     * <h5>{@link org.apache.directory.fortress.core.model.Permission} required parameters</h5>
+     * <ul>
+     * <li>{@link org.apache.directory.fortress.core.model.Permission#objName} - contains one or more leading characters of existing object being targeted</li>
+     * </ul>
+     * </ul>
+     * <h4>optional parameters</h4>
+     * <ul>
+     * <li>{@link FortRequest#session} - contains a reference to administrative session and if included service will enforce ARBAC constraints</li>
+     * </ul>
+     *
+     * @param request contains a reference to {@code FortRequest}
+     * @return reference to {@code FortResponse}, {@link FortResponse#entities} contains a reference to a List of type {@link org.apache.directory.fortress.core.model.Permission}
+     */
+    FortResponse findObjPermissions( FortRequest request );
+
+
+    /**
      * Method returns a list of type Permission that match any part of either {@link org.apache.directory.fortress.core.model.Permission#objName} or {@link org.apache.directory.fortress.core.model.Permission#opName} search strings.
      * This method differs from findPermissions in that any permission that matches any part of the perm obj or any part of the perm op will be returned in result set (uses substring string matching).
      * <h4>required parameters</h4>

http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/blob/a937fab9/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java b/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
index 1494fa9..31b3cfd 100644
--- a/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
+++ b/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
@@ -1651,7 +1651,35 @@ public class FortressServiceImpl implements FortressService
         return reviewMgrImpl.findPermissions( request );
     }
 
-    
+
+    /**
+     * Method returns Permision operations for the provided permission object.
+     * <h4>required parameters</h4>
+     * <ul>
+     * <li>{@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.PermObj} entity</li>
+     * <h5>{@link org.apache.directory.fortress.core.model.Permission} required parameters</h5>
+     * <ul>
+     * <li>{@link org.apache.directory.fortress.core.model.Permission#objName} - contains one or more leading characters of existing object being targeted</li>
+     * </ul>
+     * </ul>
+     * <h4>optional parameters</h4>
+     * <ul>
+     * <li>{@link FortRequest#session} - contains a reference to administrative session and if included service will enforce ARBAC constraints</li>
+     * </ul>
+     *
+     * @param request contains a reference to {@code FortRequest}
+     * @return reference to {@code FortResponse}, {@link FortResponse#entities} contains a reference to a List of type {@link org.apache.directory.fortress.core.model.Permission}
+     */
+    @POST
+    @Path("/" + HttpIds.PERM_OBJ_SEARCH + "/")
+    @RolesAllowed({SUPER_USER, REVIEW_MGR_USER})
+    @Override
+    public FortResponse findObjPermissions( FortRequest request )
+    {
+        return reviewMgrImpl.findObjPermissions( request );
+    }
+
+
     /**
      * Method returns a list of type Permission that match any part of either {@link org.apache.directory.fortress.core.model.Permission#objName} or {@link org.apache.directory.fortress.core.model.Permission#opName} search strings.
      * This method differs from findPermissions in that any permission that matches any part of the perm obj or any part of the perm op will be returned in result set (uses substring string matching).

http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/blob/a937fab9/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java
----------------------------------------------------------------------
diff --git a/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java b/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java
index e65a015..59b16f6 100644
--- a/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java
@@ -110,6 +110,27 @@ class ReviewMgrImpl extends AbstractMgrImpl
     }
 
 
+    /* No qualifier */  FortResponse findObjPermissions( FortRequest request )
+    {
+        FortResponse response = createResponse();
+
+        try
+        {
+            ReviewMgr reviewMgr = ReviewMgrFactory.createInstance( request.getContextId() );
+            reviewMgr.setAdmin( request.getSession() );
+            PermObj inObj = (PermObj) request.getEntity();
+            List<Permission> perms = reviewMgr.findPermissions( inObj );
+            response.setEntities( perms );
+        }
+        catch ( SecurityException se )
+        {
+            createError( response, LOG, se );
+        }
+
+        return response;
+    }
+
+
     /* No qualifier */  FortResponse findAnyPermissions( FortRequest request )
     {
         FortResponse response = createResponse();