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 2018/08/28 20:27:27 UTC

directory-fortress-enmasse git commit: FC-239 - implement ReviewMgl.assignedUsers roleConstraints

Repository: directory-fortress-enmasse
Updated Branches:
  refs/heads/master 0117a48c8 -> 8b3c27f76


FC-239 - implement ReviewMgl.assignedUsers roleConstraints


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/8b3c27f7
Tree: http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/tree/8b3c27f7
Diff: http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/diff/8b3c27f7

Branch: refs/heads/master
Commit: 8b3c27f76f60640cb11f34d65ac6a0604c5214c2
Parents: 0117a48
Author: Shawn McKinney <sm...@apache.org>
Authored: Tue Aug 28 15:27:22 2018 -0500
Committer: Shawn McKinney <sm...@apache.org>
Committed: Tue Aug 28 15:27:22 2018 -0500

----------------------------------------------------------------------
 .../fortress/rest/FortressService.java          | 34 ++++++++++++++++++++
 .../fortress/rest/FortressServiceImpl.java      | 13 ++++++++
 .../directory/fortress/rest/ReviewMgrImpl.java  | 23 ++++++++++++-
 3 files changed, 69 insertions(+), 1 deletion(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/blob/8b3c27f7/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 4e825bb..cbfc710 100644
--- a/src/main/java/org/apache/directory/fortress/rest/FortressService.java
+++ b/src/main/java/org/apache/directory/fortress/rest/FortressService.java
@@ -2749,6 +2749,40 @@ public interface FortressService
 
 
     /**
+     * This method returns the data set of all users who are assigned the given role constraint.  This searches the User data set for
+     * RoleConstraint relationship.  This method does NOT search for hierarchical RBAC Roles relationships.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *  <li>
+     *    {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.RoleConstraint} entity
+     *  </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>{@link org.apache.directory.fortress.core.model.RoleConstraint} required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.RoleConstraint#key} - contains the name to use for the Role
+     *             {@link org.apache.directory.fortress.core.model.RoleConstraint#value} - contains the name to use for the Role
+     *             targeted for search.
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </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.User}
+     */
+    FortResponse assignedUsersConstraints( FortRequest request );
+
+
+    /**
      * This function returns the set of roles assigned to a given user. The function is valid if and
      * only if the user is a member of the USERS data set.
      * <h3></h3>

http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/blob/8b3c27f7/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 5a8b696..04d7694 100644
--- a/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
+++ b/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
@@ -816,6 +816,19 @@ public class FortressServiceImpl implements FortressService
      * {@inheritDoc}
      */
     @POST
+    @Path("/" + HttpIds.USER_ASGNED_CONSTRAINTS + "/")
+    @RolesAllowed({SUPER_USER, REVIEW_MGR_USER})
+    @Override
+    public FortResponse assignedUsersConstraints( FortRequest request )
+    {
+        return reviewMgrImpl.assignedUsersConstraints( request );
+    }
+
+
+    /**
+     * {@inheritDoc}
+     */
+    @POST
     @Path("/" + HttpIds.ROLE_ASGNED + "/")
     @RolesAllowed({SUPER_USER, REVIEW_MGR_USER})
     @Override

http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/blob/8b3c27f7/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 d1e6051..a80e174 100644
--- a/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/rest/ReviewMgrImpl.java
@@ -316,7 +316,6 @@ class ReviewMgrImpl extends AbstractMgrImpl
             {
                 List<User> users = reviewMgr.assignedUsers( inRole );
                 response.setEntities( users );
-                response.setEntities( users );
             }
         }
         catch ( SecurityException se )
@@ -328,6 +327,28 @@ class ReviewMgrImpl extends AbstractMgrImpl
     }
 
     
+    /* No qualifier */  FortResponse assignedUsersConstraints( FortRequest request )
+    {
+        FortResponse response = createResponse();
+
+        try
+        {
+            ReviewMgr reviewMgr = ReviewMgrFactory.createInstance( request.getContextId() );
+            reviewMgr.setAdmin( request.getSession() );
+            Role inRole = (Role) request.getEntity();
+            RoleConstraint inConstraint = (RoleConstraint) request.getEntity2();
+            List<User> users = reviewMgr.assignedUsers( inRole, inConstraint );
+            response.setEntities( users );
+        }
+        catch ( SecurityException se )
+        {
+            createError( response, LOG, se );
+        }
+
+        return response;
+    }
+
+
     /* No qualifier */  FortResponse assignedRolesM( FortRequest request )
     {
         FortResponse response = createResponse();