You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2016/01/11 10:09:58 UTC

[1/2] directory-fortress-enmasse git commit: Recovered the file deleted by mistake during a merge

Repository: directory-fortress-enmasse
Updated Branches:
  refs/heads/master 8c0029656 -> 93add8f6b


http://git-wip-us.apache.org/repos/asf/directory-fortress-enmasse/blob/93add8f6/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
new file mode 100644
index 0000000..6e4d8ce
--- /dev/null
+++ b/src/main/java/org/apache/directory/fortress/rest/FortressService.java
@@ -0,0 +1,6473 @@
+/*
+ *   Licensed to the Apache Software Foundation (ASF) under one
+ *   or more contributor license agreements.  See the NOTICE file
+ *   distributed with this work for additional information
+ *   regarding copyright ownership.  The ASF licenses this file
+ *   to you under the Apache License, Version 2.0 (the
+ *   "License"); you may not use this file except in compliance
+ *   with the License.  You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ *   Unless required by applicable law or agreed to in writing,
+ *   software distributed under the License is distributed on an
+ *   "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ *   KIND, either express or implied.  See the License for the
+ *   specific language governing permissions and limitations
+ *   under the License.
+ *
+ */
+package org.apache.directory.fortress.rest;
+
+import org.apache.directory.fortress.core.model.FortRequest;
+import org.apache.directory.fortress.core.model.FortResponse;
+
+/**
+ * Interface for EnMasse Service methods.
+ *
+ * @author <a href="mailto:dev@directory.apache.org">Apache Directory Project</a>
+ */
+public interface FortressService
+{
+    //------------ AdminMgr -----------------------------------------------------------------------------------------------
+    /**
+     * This command creates a new RBAC user. The command is valid only if the new user is
+     * not already a member of the USERS data set. The USER data set is updated. The new user
+     * does not own any session at the time of its creation.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.User} 
+     *     object
+     *   </li>
+     * </ul>
+     * 
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *        <h5>User required parameters</h5>
+     *       </li>
+     *       <li>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#userId} - maps to INetOrgPerson uid</li>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#password} - used to authenticate the User</li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#ou} - contains the name of an already existing 
+     *             User OU node
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>User optional parameters</h5>
+     *       </li>
+     *       <li>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#pwPolicy} - contains the name of an already existing 
+     *             OpenLDAP password policy node
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#cn} - maps to INetOrgPerson common name 
+     *             attribute
+     *           </li>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#sn} - maps to INetOrgPerson surname attribute</li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#description} - maps to INetOrgPerson description 
+     *             attribute
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#phones} * - multi-occurring attribute maps to 
+     *             organizationalPerson telephoneNumber  attribute
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#mobiles} * - multi-occurring attribute maps to 
+     *             INetOrgPerson mobile attribute
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#emails} * - multi-occurring attribute maps to 
+     *             INetOrgPerson mail attribute
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#address} * - multi-occurring attribute maps to 
+     *             organizationalPerson postalAddress, st, l, postalCode, postOfficeBox attributes
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#beginTime} - HHMM - determines begin hour user 
+     *             may activate session
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#endTime} - HHMM - determines end hour user may 
+     *             activate session.
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#beginDate} - YYYYMMDD - determines date when user 
+     *             may sign on
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#endDate} - YYYYMMDD - indicates latest date user 
+     *             may sign on
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#beginLockDate} - YYYYMMDD - determines beginning 
+     *             of enforced inactive status
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#endLockDate} - YYYYMMDD - determines end of enforced 
+     *             inactive status
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#dayMask} - 1234567, 1 = Sunday, 2 = Monday, etc - 
+     *             specifies which day of user may sign on
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#timeout} - number in seconds of session inactivity 
+     *             time allowed
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#props} * - multi-occurring attribute contains
+     *             property key and values are separated with a ':'.  e.g. mykey1:myvalue1
+     *            </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#roles} * - multi-occurring attribute contains the 
+     *             name of already existing role to assign to user
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#adminRoles} * - multi-occurring attribute contains 
+     *             the name of already existing adminRole to assign to user
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </ul>
+     * <h3>optional parameters</h3>
+     * <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}
+     */
+    FortResponse addUser( FortRequest request );
+
+    
+    /**
+     * This command deletes an existing user from the RBAC database. The command is valid
+     * if and only if the user to be deleted is a member of the USERS data set. The USERS and
+     * UA data sets and the assigned_users function are updated.
+     * This method performs a "hard" delete.  It completely removes all data associated with this user from the directory.
+     * User entity must exist in directory prior to making this call else exception will be thrown.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.User} 
+     *     object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>User required parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#userId} - maps to INetOrgPerson uid</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse deleteUser( FortRequest request );
+
+    
+    /**
+     * This command deletes an existing user from the RBAC database. The command is valid
+     * if and only if the user to be deleted is a member of the USERS data set. The USERS and
+     * UA data sets and the assigned_users function are updated.
+     * Method performs a "soft" delete.  It performs the following:
+     * <ul>
+     *   <li>sets the user status to "deleted"</li>
+     *   <li>deassigns all roles from the user</li>
+     *   <li>locks the user's password in LDAP</li>
+     *   <li>revokes all perms that have been granted to user entity.</li>
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.User} 
+     *     object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>User required parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#userId} - maps to INetOrgPerson uid</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>  
+     * </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}
+     */
+    FortResponse disableUser( FortRequest request );
+
+    
+    /**
+     * This method performs an update on User entity in directory.  Prior to making this call the entity must exist in
+     * directory.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.User} 
+     *     object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>User required parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#userId} - maps to INetOrgPerson uid</li>
+     *         </ul>
+     *       </li>
+     *       <li>
+     *         <h5>User optional parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#password} - used to authenticate the User</li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#ou} - contains the name of an already existing User 
+     *             OU node
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#pwPolicy} - contains the name of an already existing 
+     *             OpenLDAP password policy node
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#cn} - maps to INetOrgPerson common name attribute
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#sn} - maps to INetOrgPerson surname attribute
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#description} - maps to INetOrgPerson description 
+     *             attribute
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#phones} * - multi-occurring attribute maps to 
+     *             organizationalPerson telephoneNumber  attribute
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#mobiles} * - multi-occurring attribute maps to 
+     *             INetOrgPerson mobile attribute
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#emails} * - multi-occurring attribute maps to 
+     *             INetOrgPerson mail attribute
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#address} * - multi-occurring attribute maps to 
+     *             organizationalPerson postalAddress, st, l, postalCode, postOfficeBox attributes
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#beginTime} - HHMM - determines begin hour user may 
+     *             activate session
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#endTime} - HHMM - determines end hour user may 
+     *             activate session.
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#beginDate} - YYYYMMDD - determines date when user 
+     *             may sign on
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#endDate} - YYYYMMDD - indicates latest date user 
+     *             may sign on
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#beginLockDate} - YYYYMMDD - determines beginning 
+     *             of enforced inactive status
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#endLockDate} - YYYYMMDD - determines end of enforced 
+     *             inactive status
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#dayMask} - 1234567, 1 = Sunday, 2 = Monday, etc - 
+     *             specifies which day of user may sign on
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#timeout} - number in seconds of session inactivity 
+     *             time allowed
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#props} * - multi-occurring attribute contains property 
+     *             key and values are separated with a ':'.  e.g. mykey1:myvalue1
+     *           
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#roles} * - multi-occurring attribute contains the name 
+     *             of already existing role to assign to user
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.User#adminRoles} * - multi-occurring attribute contains the 
+     *             name of already existing adminRole to assign to user
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse updateUser( FortRequest request );
+
+    
+    /**
+     * Method will change user's password.  This method will evaluate user's password policies.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to 
+     *     {@link org.apache.directory.fortress.core.model.User} object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>User required parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#userId} - maps to INetOrgPerson uid</li>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#password} - contains the User's old password</li>
+     *           <li>newPassword - contains the User's new password</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse changePassword( FortRequest request );
+
+    
+    /**
+     * Method will lock user's password which will prevent the user from authenticating with directory.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.User} 
+     *     object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>User required parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#userId} - maps to INetOrgPerson uid</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse lockUserAccount( FortRequest request );
+
+    
+    /**
+     * Method will unlock user's password which will enable user to authenticate with directory.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.User} 
+     *     object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>User required parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#userId} - maps to INetOrgPerson uid</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse unlockUserAccount( FortRequest request );
+
+    
+    /**
+     * Method will reset user's password which will require user to change password before successful authentication 
+     * with directory.
+     * This method will not evaluate password policies on the new user password as it must be changed before use.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.User} object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>User required parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.User#userId} - maps to INetOrgPerson uid</li>
+     *           <li>newPassword - contains the User's new password</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse resetPassword( FortRequest request );
+
+    
+    /**
+     * This command creates a new role. The command is valid if and only if the new role is not
+     * already a member of the ROLES data set. The ROLES data set is updated.
+     * Initially, no user or permission is assigned to the new role.
+     * <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 style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>Role optional parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#description} - maps to description attribute on 
+     *             organizationalRole object class
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#beginTime} - HHMM - determines begin hour role may 
+     *             be activated into user's RBAC session
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#endTime} - HHMM - determines end hour role may be 
+     *             activated into user's RBAC session.
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#beginDate} - YYYYMMDD - determines date when role 
+     *             may be activated into user's RBAC session
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#endDate} - YYYYMMDD - indicates latest date role 
+     *             may be activated into user's RBAC session
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#beginLockDate} - YYYYMMDD - determines beginning 
+     *             of enforced inactive status
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#endLockDate} - YYYYMMDD - determines end of enforced 
+     *             inactive status
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#dayMask} - 1234567, 1 = Sunday, 2 = Monday, etc - 
+     *             specifies which day role may be activated into user's RBAC session
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse addRole( FortRequest request );
+    
+    
+    /**
+     * This command deletes an existing role from the RBAC database. The command is valid
+     * if and only if the role to be deleted is a member of the ROLES data set.  This command will
+     * also deassign role from all users.
+     * <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 removed.
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </ul>
+     * <h4>Role 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}
+     */
+    FortResponse deleteRole( FortRequest request );
+
+    
+    /**
+     * Method will update a Role entity in the directory.  The role must exist in role container prior to this call.     *
+     * <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 
+     *             updated.
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>Role optional parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#description} - maps to description attribute 
+     *             on organizationalRole object class
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#beginTime} - HHMM - determines begin hour role 
+     *             may be activated into user's RBAC session
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#endTime} - HHMM - determines end hour role may 
+     *             be activated into user's RBAC session.
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#beginDate} - YYYYMMDD - determines date when role 
+     *             may be activated into user's RBAC session
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#endDate} - YYYYMMDD - indicates latest date role 
+     *             may be activated into user's RBAC session
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#beginLockDate} - YYYYMMDD - determines beginning 
+     *             of enforced inactive status
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#endLockDate} - YYYYMMDD - determines end of 
+     *             enforced inactive status
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Role#dayMask} - 1234567, 1 = Sunday, 2 = Monday, etc - 
+     *             specifies which day role may be activated into user's RBAC session
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse updateRole( FortRequest request );
+
+    
+    /**
+     * This command assigns a user to a role.
+     * <ul>
+     *   <li> The command is valid if and only if:
+     *   <li> The user is a member of the USERS data set
+     *   <li> The role is a member of the ROLES data set
+     *   <li> The user is not already assigned to the role
+     *   <li> The SSD constraints are satisfied after assignment.
+     * </ul>
+     * Successful completion of this op, the following occurs:
+     * <ul>
+     *   <li>
+     *     User entity (resides in people container) has role assignment added to aux object class attached to actual user 
+     *     record.
+     *   </li>
+     *   <li> Role entity (resides in role container) has userId added as role occupant.</li>
+     *   <li> (optional) Temporal constraints may be associated with <code>ftUserAttrs</code> aux object class based on:</li>
+     *   <li>
+     *     <ul>
+     *       <li> timeout - number in seconds of session inactivity time allowed.</li>
+     *       <li> beginDate - YYYYMMDD - determines date when role may be activated.</li>
+     *       <li> endDate - YYMMDD - indicates latest date role may be activated.</li>
+     *       <li> beginLockDate - YYYYMMDD - determines beginning of enforced inactive status</li>
+     *       <li> endLockDate - YYMMDD - determines end of enforced inactive status.</li>
+     *       <li> beginTime - HHMM - determines begin hour role may be activated in user's session.</li>
+     *       <li> endTime - HHMM - determines end hour role may be activated in user's session.*</li>
+     *       <li> dayMask - 1234567, 1 = Sunday, 2 = Monday, etc - specifies which day of week role may be activated.</li>
+     *     </ul>
+     *   </li>
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.UserRole} 
+     *     object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>UserRole required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.UserRole#name} - contains the name for already existing 
+     *             Role to be assigned
+     *           </li>
+     *           <li>{@link org.apache.directory.fortress.core.model.UserRole#userId} - contains the userId for existing User</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>UserRole optional parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.UserRole#beginTime} - HHMM - determines begin hour role 
+     *             may be activated into user's RBAC session.
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.UserRole#endTime} - HHMM - determines end hour role may 
+     *             be activated into user's RBAC session.
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.UserRole#beginDate} - YYYYMMDD - determines date when 
+     *             role may be activated into user's RBAC session
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.UserRole#endDate} - YYYYMMDD - indicates latest date role 
+     *             may be activated into user's RBAC session
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.UserRole#beginLockDate} - YYYYMMDD - determines beginning 
+     *             of enforced inactive status
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.UserRole#endLockDate} - YYYYMMDD - determines end of 
+     *             enforced 
+     *             inactive status
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.UserRole#dayMask} - 1234567, 1 = Sunday, 2 = Monday, etc - 
+     *             specifies which day role may be activated into user's RBAC session
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse assignUser( FortRequest request );
+
+    
+    /**
+     * This command deletes the assignment of the User from the Role entities. The command is
+     * valid if and only if the user is a member of the USERS data set, the role is a member of
+     * the ROLES data set, and the user is assigned to the role.
+     * Any sessions that currently have this role activated will not be effected.
+     * Successful completion includes:
+     * User entity in USER data set has role assignment removed.
+     * Role entity in ROLE data set has userId removed as role occupant.
+     * (optional) Temporal constraints will be removed from user aux object if set prior to call.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.UserRole} 
+     *     object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>UserRole required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.UserRole#name} - contains the name for already existing
+     *             Role to be deassigned
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.UserRole#userId} - contains the userId for existing 
+     *             User
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse deassignUser( FortRequest request );
+
+    
+    /**
+     * This method will add permission operation to an existing permission object which resides under 
+     * {@code ou=Permissions,ou=RBAC,dc=yourHostName,dc=com} container in directory information tree.
+     * The perm operation entity may have {@link org.apache.directory.fortress.core.model.Role} or 
+     * {@link org.apache.directory.fortress.core.model.User} associations.  The target 
+     * {@link org.apache.directory.fortress.core.model.Permission} must not exist prior to calling.
+     * A Fortress Permission instance exists in a hierarchical, one-many relationship between its parent and itself 
+     * as stored in ldap tree: ({@link org.apache.directory.fortress.core.model.PermObj}*-&gt;
+     * {@link org.apache.directory.fortress.core.model.Permission}).
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.Permission} 
+     *     object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>Permission required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#objName} - contains the name of existing object 
+     *             being targeted for the permission add
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#opName} - contains the name of new permission 
+     *             operation being added
+     *           </li>
+     *         </ul>
+     *         <h5>Permission optional parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#roles} * - multi occurring attribute contains 
+     *             RBAC Roles that permission operation is being granted to
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#users} * - multi occurring attribute contains 
+     *             Users that permission operation is being granted to
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#props} * - multi-occurring property key and 
+     *             values are separated with a ':'.  e.g. mykey1:myvalue1
+     *           </li>
+     *           <li>{@link org.apache.directory.fortress.core.model.Permission#type} - any safe text</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse addPermission( FortRequest request );
+
+    
+    /**
+     * This method will update permission operation pre-existing in target directory under 
+     * {@code ou=Permissions,ou=RBAC,dc=yourHostName,dc=com} container in directory information tree.
+     * The perm operation entity may also contain {@link org.apache.directory.fortress.core.model.Role} 
+     * or {@link org.apache.directory.fortress.core.model.User} associations to add or remove using this function.
+     * The perm operation must exist before making this call.  Only non-null attributes will be updated.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.Permission} 
+     *     object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>Permission required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#objName} - contains the name of existing object 
+     *             being targeted for the permission update
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#opName} - contains the name of new permission
+     *             operation being updated
+     *           </li>
+     *         </ul>
+     *         <h5>Permission optional parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#roles} * - multi occurring attribute contains 
+     *             RBAC Roles that permission operation is being granted to
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#users} * - multi occurring attribute contains 
+     *             Users that permission operation is being granted to
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#props} * - multi-occurring property key and 
+     *             values are separated with a ':'.  e.g. mykey1:myvalue1
+     *           </li>
+     *           <li>{@link org.apache.directory.fortress.core.model.Permission#type} - any safe text</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse updatePermission( FortRequest request );
+
+    
+    /**
+     * This method will remove permission operation entity from permission object. A Fortress permission is 
+     * (object-&gt;operation).
+     * The perm operation must exist before making this call.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.Permission} 
+     *     object
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>Permission required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#objName} - contains the name of existing 
+     *             object being targeted for the permission removal
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.Permission#opName} - contains the name of new permission 
+     *             operation being deleted
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse deletePermission( FortRequest request );
+
+    
+    /**
+     * This method will add permission object to perms container in directory. The perm object must not exist before 
+     * making this call. A {@link org.apache.directory.fortress.core.model.PermObj} instance exists in a hierarchical, 
+     * one-many relationship between itself and children as stored in ldap tree: 
+     * ({@link org.apache.directory.fortress.core.model.PermObj}*-&gt;
+     * {@link org.apache.directory.fortress.core.model.Permission}).
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.PermObj} 
+     *     entity
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>PermObj required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.PermObj#objName} - contains the name of new object being 
+     *             added
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.PermObj#ou} - contains the name of an existing PERMS 
+     *             OrgUnit this object is associated with
+     *           </li>
+     *         </ul>
+     *         <h5>PermObj optional parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermObj#description} - any safe text</li>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermObj#type} - contains any safe text</li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.PermObj#props} * - multi-occurring property key and 
+     *             values are separated with a ':'.  e.g. mykey1:myvalue1
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse addPermObj( FortRequest request );
+
+    
+    /**
+     * This method will update permission object in perms container in directory.  The perm object must exist before making 
+     * this call.
+     * A {@link org.apache.directory.fortress.core.model.PermObj} instance exists in a hierarchical, one-many relationship 
+     * between itself and children as stored in ldap tree: ({@link org.apache.directory.fortress.core.model.PermObj}*-&gt;
+     * {@link org.apache.directory.fortress.core.model.Permission}).
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.PermObj} 
+     *     entity
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>PermObj required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.PermObj#objName} - contains the name of new object 
+     *             being updated
+     *           </li>
+     *         </ul>
+     *         <h5>PermObj optional parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.PermObj#ou} - contains the name of an existing PERMS 
+     *             OrgUnit this object is associated with
+     *           </li>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermObj#description} - any safe text</li>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermObj#type} - contains any safe text</li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.PermObj#props} * - 
+     *             multi-occurring property key and values are separated with a ':'.  e.g. mykey1:myvalue1
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse updatePermObj( FortRequest request );
+
+    
+    /**
+     * This method will remove permission object to perms container in directory.  This method will also remove
+     * in associated permission objects that are attached to this object.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.PermObj} 
+     *     entity
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>PermObj required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.PermObj#objName} - contains the name of new object
+     *             being removed
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </ul>
+     * <h5>optional parameters</h5>
+     * <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}
+     */
+    FortResponse deletePermObj( FortRequest request );
+
+    
+    /**
+     * This command grants a role the permission to perform an operation on an object to a role.
+     * The command is implemented by granting permission by setting the access control list of
+     * the object involved.
+     * The command is valid if and only if the pair (operation, object) represents a permission,
+     * and the role is a member of the ROLES data set.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.PermGrant} 
+     *     entity
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>PermGrant required parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#objName} - contains the object name</li>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#opName} - contains the operation name</li>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#roleNm} - contains the role name</li>
+     *         </ul>
+     *         <h5>PermGrant optional parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#objId} - contains the object id</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse grant( FortRequest request );
+
+    
+    /**
+     * This command revokes the permission to perform an operation on an object from the set
+     * of permissions assigned to a role. The command is implemented by setting the access control
+     * list of the object involved.
+     * The command is valid if and only if the pair (operation, object) represents a permission,
+     * the role is a member of the ROLES data set, and the permission is assigned to that role.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.PermGrant} 
+     *     entity
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>PermGrant required parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#objName} - contains the object name</li>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#opName} - contains the operation name</li>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#roleNm} - contains the role name</li>
+     *         </ul>
+     *         <h5>PermGrant optional parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#objId} - contains the object id</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse revoke( FortRequest request );
+
+    
+    /**
+     * This command grants a user the permission to perform an operation on an object to a role.
+     * The command is implemented by granting permission by setting the access control list of
+     * the object involved.
+     * The command is valid if and only if the pair (operation, object) represents a permission,
+     * and the user is a member of the USERS data set.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.PermGrant} 
+     *     entity
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>PermGrant required parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#objName} - contains the object name</li>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#opName} - contains the operation name</li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.PermGrant#userId} - contains the userId for existing User
+     *           </li>
+     *         </ul>
+     *         <h5>PermGrant optional parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#objId} - contains the object id</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse grantUser( FortRequest request );
+
+    
+    /**
+     * This command revokes the permission to perform an operation on an object from the set
+     * of permissions assigned to a user. The command is implemented by setting the access control
+     * list of the object involved.
+     * The command is valid if and only if the pair (operation, object) represents a permission,
+     * the user is a member of the USERS data set, and the permission is assigned to that user.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.PermGrant} 
+     *     entity
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>PermGrant required parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#objName} - contains the object name</li>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#opName} - contains the operation name</li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.PermGrant#userId} - contains the userId for existing User
+     *           </li>
+     *         </ul>
+     *         <h5>PermGrant optional parameters</h5>
+     *         <ul>
+     *           <li>{@link org.apache.directory.fortress.core.model.PermGrant#objId} - contains the object id</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse revokeUser( FortRequest request );
+
+    
+    /**
+     * This commands creates a new role childRole, and inserts it in the role hierarchy as an immediate descendant of
+     * the existing role parentRole.
+     * <p>
+     * The command is valid if and only if:
+     * <ul>
+     *   <li> The childRole is not a member of the ROLES data set.
+     *   <li> The parentRole is a member of the ROLES data set.
+     * </ul>
+     * This method:
+     * <ul>
+     *   <li> Adds new role.
+     *   <li> Assigns role relationship between new childRole and pre-existing parentRole.
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to 
+     *     {@link org.apache.directory.fortress.core.model.RoleRelationship} entity
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>RoleRelationship required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#name} - contains the name of 
+     *             existing parent role
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#child#name} - contains the name of new 
+     *             child role
+     *           </li>
+     *         </ul>
+     *         <h5>optional parameters {@link org.apache.directory.fortress.core.model.RoleRelationship#child}</h5>
+     *         <ul>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#child#description} - maps to description 
+     *             attribute on organizationalRole object class for new child
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#child#beginTime} - HHMM - determines 
+     *             begin hour role may be activated into user's RBAC session for new child
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#child#endTime} - HHMM - determines end 
+     *             hour role may be activated into user's RBAC session for new child
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#child#beginDate} - YYYYMMDD - determines 
+     *             date when role may be activated into user's RBAC session for new child
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#child#endDate} - YYYYMMDD - indicates 
+     *             latest date role may be activated into user's RBAC session for new child
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#child#beginLockDate} - YYYYMMDD - 
+     *             determines beginning of enforced inactive status for new child
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#child#endLockDate} - YYYYMMDD - 
+     *             determines end of enforced inactive status for new child
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#child#dayMask} - 1234567, 1 = Sunday, 
+     *             2 = Monday, etc - specifies which day role may be activated into user's RBAC session for new child
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse addDescendant( FortRequest request );
+
+    
+    /**
+     * This commands creates a new role parentRole, and inserts it in the role hierarchy as an immediate ascendant of
+     * the existing role childRole.
+     * <p>
+     * The command is valid if and only if:
+     * <ul>
+     *   <li> The parentRole is not a member of the ROLES data set.
+     *   <li> The childRole is a member of the ROLES data set.
+     * </ul>
+     * <p> 
+     * This method:
+     * <ul>
+     *   <li> Adds new role.
+     *   <li> Assigns role relationship between new parentRole and pre-existing childRole.
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to 
+     *     {@link org.apache.directory.fortress.core.model.RoleRelationship} entity
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>RoleRelationship required parameters</h5>
+     *         <ul>
+     *           <li>childRole - {@code org.apache.directory.fortress.core.model.RoleRelationship#child#name} - contains 
+     *           the name of existing child Role</li>
+     *           <li>parentRole - {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#name} - contains 
+     *           the name of new Role to be parent</li>
+     *         </ul>
+     *         <h5>optional parameters {@link org.apache.directory.fortress.core.model.RoleRelationship#parent}</h5>
+     *         <ul>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#description} - maps to 
+     *             description attribute on organizationalRole object class for new parent
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#beginTime} - HHMM - determines 
+     *             begin hour role may be activated into user's RBAC session for new parent
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#endTime} - HHMM - determines 
+     *             end hour role may be activated into user's RBAC session for new parent
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#beginDate} - YYYYMMDD - 
+     *             determines date when role may be activated into user's RBAC session for new parent
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#endDate} - YYYYMMDD - indicates 
+     *             latest date role may be activated into user's RBAC session for new parent
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#beginLockDate} - YYYYMMDD - 
+     *             determines beginning of enforced inactive status for new parent
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#endLockDate} - YYYYMMDD - 
+     *             determines end of enforced inactive status for new parent
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#dayMask} - 1234567, 1 = Sunday, 
+     *             2 = Monday, etc - specifies which day role may be activated into user's RBAC session for new parent
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse addAscendant( FortRequest request );
+
+    
+    /**
+     * This commands establishes a new immediate inheritance relationship parentRole &lt;&lt;-- childRole between existing
+     * roles parentRole, childRole.
+     * <p>
+     * The command is valid if and only if:
+     * <ul>
+     *   <li> The parentRole and childRole are members of the ROLES data set.
+     *   <li> The parentRole is not an immediate ascendant of childRole.
+     *   <li> The childRole does not properly inherit parentRole (in order to avoid cycle creation).
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *  <li>
+     *    {@link FortRequest#entity} - contains a reference to 
+     *    {@link org.apache.directory.fortress.core.model.RoleRelationship} entity
+     *  </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>RoleRelationship required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#name} - contains the name of 
+     *             existing role to be parent
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#child#name} - contains the name of 
+     *             existing role to be child
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse addInheritance( FortRequest request );
+
+    
+    /**
+     * This command deletes an existing immediate inheritance relationship parentRole &lt;&lt;-- childRole.
+     * <p>
+     * The command is valid if and only if:
+     * <ul>
+     *   <li>The roles parentRole and childRole are members of the ROLES data set.</li>
+     *   <li>The parentRole is an immediate ascendant of childRole.</li>
+     *   <li> 
+     *     The new inheritance relation is computed as the reflexive-transitive closure of the immediate inheritance
+     *     relation resulted after deleting the relationship parentRole &lt;&lt;-- childRole.
+     *   </li>
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to 
+     *     {@link org.apache.directory.fortress.core.model.RoleRelationship} entity
+     *   </li>
+     * </ul>
+     * <ul style="list-style-type:none">
+     *   <li>
+     *     <ul style="list-style-type:none">
+     *       <li>
+     *         <h5>RoleRelationship required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#parent#name} - contains the name of existing 
+     *             Role to remove parent relationship
+     *           </li>
+     *           <li>
+     *             {@code org.apache.directory.fortress.core.model.RoleRelationship#child#name} - contains the name of existing 
+     *             Role to remove child relationship
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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}
+     */
+    FortResponse deleteInheritance( FortRequest request );
+
+    
+    /**
+     * This command creates a named SSD set of roles and sets the cardinality n of its subsets
+     * that cannot have common users.
+     * <p>
+     * The command is valid if and only if:
+     * <ul>
+     *   <li>The name of the SSD set is not already in use.</li>
+     *   <li>All the roles in the SSD set are members of the ROLES data set.</li>
+     *   <li>
+     *     n is a natural number greater than or equal to 2 and less than or equal to the cardinality of the SSD role set.
+     *   </li>
+     *   <li>The SSD constraint for the new role set is satisfied.</li>
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.SDSet} 
+     *     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.SDSet} required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#name} - contains the name of new SSD role set 
+     *             to be added
+     *           </li>
+     *         </ul>
+     *         <h5>{@link org.apache.directory.fortress.core.model.SDSet} optional parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#members} * - multi-occurring attribute contains 
+     *             the RBAC Role names to be added to this set
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#cardinality} - default is 2 which is one more than 
+     *             maximum number of Roles that may be assigned to User from a particular set
+     *           </li>
+     *           <li>{@link org.apache.directory.fortress.core.model.SDSet#description} - contains any safe text</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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#entity} contains a reference to 
+     * {@link org.apache.directory.fortress.core.model.SDSet}
+     */
+    FortResponse createSsdSet( FortRequest request );
+
+    
+    /**
+     * This command updates existing SSD set of roles and sets the cardinality n of its subsets
+     * that cannot have common users.
+     * <p>
+     * The command is valid if and only if:
+     * <ul>
+     *   <li>The name of the SSD set exists in directory.</li>
+     *   <li>All the roles in the SSD set are members of the ROLES data set.</li>
+     *   <li>
+     *    n is a natural number greater than or equal to 2 and less than or equal to the cardinality of the SSD role set.
+     *  </li>
+     *   <li>The SSD constraint for the new role set is satisfied.</li>
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.SDSet} 
+     *     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.SDSet} required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#name} - contains the name of existing SSD role 
+     *             set to be modified
+     *           </li>
+     *         </ul>
+     *         <h5>{@link org.apache.directory.fortress.core.model.SDSet} optional parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#members} * - multi-occurring attribute contains the 
+     *             RBAC Role names to be added to this set
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#cardinality} - default is 2 which is one more than 
+     *             maximum number of Roles that may be assigned to User from a particular set
+     *           </li>
+     *           <li>{@link org.apache.directory.fortress.core.model.SDSet#description} - contains any safe text</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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#entity} contains a reference to 
+     * {@link org.apache.directory.fortress.core.model.SDSet}
+     */
+    FortResponse updateSsdSet( FortRequest request );
+
+    
+    /**
+     * This command adds a role to a named SSD set of roles. The cardinality associated with the role set remains unchanged.
+     * <p>
+     * The command is valid if and only if:
+     * <ul>
+     *   <li>The SSD role set exists.</li>
+     *   <li>The role to be added is a member of the ROLES data set but not of a member of the SSD role set.</li>
+     *   <li>The SSD constraint is satisfied after the addition of the role to the SSD role set.</li>
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>{@link FortRequest#value} - contains the Role name to add as member to SSD set</li>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.SDSet} 
+     *     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.SDSet} required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#name} - contains the name of existing SSD role 
+     *             set targeted for update
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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#entity} contains a reference to 
+     * {@link org.apache.directory.fortress.core.model.SDSet}
+     */
+    FortResponse addSsdRoleMember( FortRequest request );
+
+    
+    /**
+     * This command removes a role from a named SSD set of roles. The cardinality associated with the role set remains
+     * unchanged.
+     * <p>
+     * The command is valid if and only if:
+     * <ul>
+     *   <li>The SSD role set exists.</li>
+     *   <li>The role to be removed is a member of the SSD role set.</li>
+     *   <li>The cardinality associated with the SSD role set is less than the number of elements of the SSD role set.</li>
+     * </ul>
+     * Note that the SSD constraint should be satisfied after the removal of the role from the SSD role set.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>{@link FortRequest#value} - contains the Role name to remove as member to SSD set</li>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.SDSet} 
+     *     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.SDSet} required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#name} - contains the name of existing SSD role set 
+     *             targeted for update
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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#entity} contains a reference to 
+     * {@link org.apache.directory.fortress.core.model.SDSet}
+     */
+    FortResponse deleteSsdRoleMember( FortRequest request );
+
+    
+    /**
+     * This command deletes a SSD role set completely. The command is valid if and only if the SSD role set exists.
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.SDSet} 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.SDSet} required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#name} - contains the name of existing SSD role 
+     *             set targeted for removal
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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#entity} contains a reference to 
+     * {@link org.apache.directory.fortress.core.model.SDSet}
+     */
+    FortResponse deleteSsdSet( FortRequest request );
+
+    
+    /**
+     * This command sets the cardinality associated with a given SSD role set.
+     * <p>
+     * The command is valid if and only if:
+     * <ul>
+     *   <li>The SSD role set exists.</li>
+     *   <li>
+     *     The new cardinality is a natural number greater than or equal to 2 and less than or equal to the number of 
+     *     elements of the SSD role set.
+     *   </li>
+     *   <li>The SSD constraint is satisfied after setting the new cardinality.</li>
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.SDSet} 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.SDSet} required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#name} - contains the name of existing SSD role set targeted 
+     *             for update
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#cardinality} - contains new cardinality setting 
+     *             for SSD
+     *           </li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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#entity} contains a reference to 
+     * {@link org.apache.directory.fortress.core.model.SDSet}
+     */
+    FortResponse setSsdSetCardinality( FortRequest request );
+
+    
+    /**
+     * This command creates a named DSD set of roles and sets the cardinality n of its subsets
+     * that cannot have common users.
+     * <p>
+     * The command is valid if and only if:
+     * <ul>
+     *   <li>The name of the DSD set is not already in use.</li>
+     *   <li>All the roles in the DSD set are members of the ROLES data set.</li>
+     *   <li>
+     *     n is a natural number greater than or equal to 2 and less than or equal to the cardinality of the DSD role set.
+     *   </li>
+     *   <li>The DSD constraint for the new role set is satisfied.</li>
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.SDSet} 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.SDSet} required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#name} - contains the name of new DSD role set to 
+     *             be added
+     *           </li>
+     *         </ul>
+     *         <h5>{@link org.apache.directory.fortress.core.model.SDSet} optional parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#members} * - multi-occurring attribute contains 
+     *             the RBAC Role names to be added to this set
+     *           </li>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#cardinality} - default is 2 which is one more 
+     *             than maximum number of Roles that may be assigned to User from a particular set
+     *           </li>
+     *           <li>{@link org.apache.directory.fortress.core.model.SDSet#description} - contains any safe text</li>
+     *         </ul>
+     *       </li>
+     *     </ul>
+     *   </li>
+     * </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#entity} contains a reference to 
+     * {@link org.apache.directory.fortress.core.model.SDSet}
+     */
+    FortResponse createDsdSet( FortRequest request );
+
+    
+    /**
+     * This command updates existing DSD set of roles and sets the cardinality n of its subsets
+     * that cannot have common users.
+     * <p>
+     * The command is valid if and only if:
+     * <ul>
+     *   <li>The name of the DSD set exists in directory.</li>
+     *   <li>All the roles in the DSD set are members of the ROLES data set.</li>
+     *   <li>
+     *     n is a natural number greater than or equal to 2 and less than or equal to the cardinality of the DSD role set.
+     *   </li>
+     *   <li>The DSD constraint for the new role set is satisfied.</li>
+     * </ul>
+     * <h3></h3>
+     * <h4>required parameters</h4>
+     * <ul>
+     *   <li>
+     *     {@link FortRequest#entity} - contains a reference to {@link org.apache.directory.fortress.core.model.SDSet} 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.SDSet} required parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#name} - contains the name of existing SSD 
+     *             role set to be modified
+     *           </li>
+     *         </ul>
+     *         <h5>{@link org.apache.directory.fortress.core.model.SDSet} optional parameters</h5>
+     *         <ul>
+     *           <li>
+     *             {@link org.apache.directory.fortress.core.model.SDSet#members} * - multi-occurring a

<TRUNCATED>

[2/2] directory-fortress-enmasse git commit: Recovered the file deleted by mistake during a merge

Posted by el...@apache.org.
Recovered the file deleted by mistake during a merge

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

Branch: refs/heads/master
Commit: 93add8f6b55b8d7092824ef0c1820adb7557723a
Parents: 8c00296
Author: Emmanuel Lécharny <el...@symas.com>
Authored: Mon Jan 11 10:09:42 2016 +0100
Committer: Emmanuel Lécharny <el...@symas.com>
Committed: Mon Jan 11 10:09:42 2016 +0100

----------------------------------------------------------------------
 .../fortress/rest/FortressService.java          | 6473 ++++++++++++++++++
 1 file changed, 6473 insertions(+)
----------------------------------------------------------------------