FC-239 - Some additional methods to manage role constraints.
diff --git a/src/main/java/org/apache/directory/fortress/rest/AdminMgrImpl.java b/src/main/java/org/apache/directory/fortress/rest/AdminMgrImpl.java
index 6258795..df1110d 100644
--- a/src/main/java/org/apache/directory/fortress/rest/AdminMgrImpl.java
+++ b/src/main/java/org/apache/directory/fortress/rest/AdminMgrImpl.java
@@ -1052,6 +1052,46 @@
}
+ /* No qualifier */ FortResponse enableRoleConstraint( FortRequest request )
+ {
+ FortResponse response = createResponse();
+
+ try
+ {
+ AdminMgr adminMgr = AdminMgrFactory.createInstance( request.getContextId() );
+ adminMgr.setAdmin( request.getSession() );
+ Role inRole = (Role) request.getEntity();
+ RoleConstraint inConstraint = (RoleConstraint) request.getEntity2();
+ adminMgr.enableRoleConstraint( inRole, inConstraint );
+ }
+ catch ( SecurityException se )
+ {
+ createError( response, log, se );
+ }
+ return response;
+ }
+
+
+ /* No qualifier */ FortResponse disableRoleConstraint( FortRequest request )
+ {
+ FortResponse response = createResponse();
+
+ try
+ {
+ AdminMgr adminMgr = AdminMgrFactory.createInstance( request.getContextId() );
+ adminMgr.setAdmin( request.getSession() );
+ Role inRole = (Role) request.getEntity();
+ RoleConstraint inConstraint = (RoleConstraint) request.getEntity2();
+ adminMgr.disableRoleConstraint( inRole, inConstraint );
+ }
+ catch ( SecurityException se )
+ {
+ createError( response, log, se );
+ }
+ return response;
+ }
+
+
/* No qualifier */ FortResponse addPermissionAttributeToSet( FortRequest request )
{
FortResponse response = createResponse();
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 769d3f3..f1f3a62 100644
--- a/src/main/java/org/apache/directory/fortress/rest/FortressService.java
+++ b/src/main/java/org/apache/directory/fortress/rest/FortressService.java
@@ -2303,7 +2303,114 @@
*/
FortResponse setDsdSetCardinality( FortRequest request );
-
+
+ /**
+ * This command enables a role to be constained by attributes.
+ * <p>
+ * The command is valid if and only if:
+ * <ul>
+ * <li>The role exists.</li>
+ * </ul>
+ * <h3></h3>
+ * <h4>required parameters</h4>
+ * <ul>
+ * <li>
+ * {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.Role} object
+ * </li>
+ * </ul>
+ * <ul style="list-style-type:none">
+ * <li>
+ * <ul style="list-style-type:none">
+ * <li>
+ * <h5>Role required parameters</h5>
+ * <ul>
+ * <li>
+ * {@link org.apache.directory.fortress.core.model.Role#name} - contains the name to use for the Role to
+ * be created.
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * <ul>
+ * <li>
+ * {@link FortRequest#entity2} - contains a reference to {@link org.apache.directory.fortress.core.model.RoleConstraint} object
+ * </li>
+ * </ul>
+ * <ul style="list-style-type:none">
+ * <li>
+ * <ul style="list-style-type:none">
+ * <li>
+ * <h5>Role required parameters</h5>
+ * <ul>
+ * <li>
+ * {@link org.apache.directory.fortress.core.model.RoleConstraint#key} - contains the name of the constraint being set onto role.
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ *
+ * @param request contains a reference to {@code FortRequest}
+ * @return reference to {@code FortResponse}, {@link FortResponse#entity}
+ */
+ FortResponse enableRoleConstraint( FortRequest request );
+
+ /**
+ * This command enables a role to be removed from being constained by attributes.
+ * <p>
+ * The command is valid if and only if:
+ * <ul>
+ * <li>The role exists.</li>
+ * </ul>
+ * <h3></h3>
+ * <h4>required parameters</h4>
+ * <ul>
+ * <li>
+ * {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.Role} object
+ * </li>
+ * </ul>
+ * <ul style="list-style-type:none">
+ * <li>
+ * <ul style="list-style-type:none">
+ * <li>
+ * <h5>Role required parameters</h5>
+ * <ul>
+ * <li>
+ * {@link org.apache.directory.fortress.core.model.Role#name} - contains the name to use for the Role to removed.
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * <ul>
+ * <li>
+ * {@link FortRequest#entity2} - contains a reference to {@link org.apache.directory.fortress.core.model.RoleConstraint} object
+ * </li>
+ * </ul>
+ * <ul style="list-style-type:none">
+ * <li>
+ * <ul style="list-style-type:none">
+ * <li>
+ * <h5>Role required parameters</h5>
+ * <ul>
+ * <li>
+ * {@link org.apache.directory.fortress.core.model.RoleConstraint#key} - contains the name of the constraint being set onto role.
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ * </li>
+ * </ul>
+ *
+ * @param request contains a reference to {@code FortRequest}
+ * @return reference to {@code FortResponse}, {@link FortResponse#entity}
+ */
+ FortResponse disableRoleConstraint( FortRequest request );
+
//------------ ReviewMgr ----------------------------------------------------------------------------------------------
/**
* This method returns a matching permission entity to caller.
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 a54e172..0f802d9 100644
--- a/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
+++ b/src/main/java/org/apache/directory/fortress/rest/FortressServiceImpl.java
@@ -678,6 +678,32 @@
/**
+ * {@inheritDoc}
+ */
+ @POST
+ @Path("/" + HttpIds.ROLE_ENABLE_CONSTRAINT + "/")
+ @RolesAllowed({SUPER_USER, REVIEW_MGR_USER})
+ @Override
+ public FortResponse enableRoleConstraint( FortRequest request )
+ {
+ return adminMgrImpl.enableRoleConstraint( request );
+ }
+
+
+ /**
+ * {@inheritDoc}
+ */
+ @POST
+ @Path("/" + HttpIds.ROLE_DISABLE_CONSTRAINT + "/")
+ @RolesAllowed({SUPER_USER, REVIEW_MGR_USER})
+ @Override
+ public FortResponse disableRoleConstraint( FortRequest request )
+ {
+ return adminMgrImpl.disableRoleConstraint( request );
+ }
+
+
+ /**
* ************************************************************************************************************************************
* BEGIN REVIEWMGR
* **************************************************************************************************************************************