This section provides examples that demonstrate how you might use the Role service.
This example shows how to retrieve the role assignments for a given group:
public void getGroupTestCase() throws Exception { System.out.println("\n****************Calling getGroupTestCase()********************************"); String groupDN = "cn=HR,ou=groups,ou=medical-idmsample,o=novell"; try { IRemoteRole stub = getRoleStub(url, username, password); Group group = stub.getGroup(groupDN); //Assert.assertNotNull("Group not found", group); if (group != null) { System.out.println("Group Found:"); System.out.println(" entityKey : " + group.getEntityKey()); System.out.println(" identityType : " + group.getIdentityType().getValue()); System.out.println(" description : " + group.getDescription()); DNString[] roles = group.getAssociatedRoles().getDnstring(); if (roles != null) { System.out.println("no of associated roles: " + roles.length); for (int rIndex = 0; rIndex < roles.length; rIndex++) { System.out.println(" role: " + rIndex); } } else { System.out.println("no of associated roles:0"); } RoleAssignment[] assignments = group.getRoleAssignments().getRoleassignment(); PrintRoleUtils.getAssignments(assignments); } else System.out.println("Group not found"); } catch (NrfServiceException nrf) { throw new Exception(nrf.getMessage()); } catch (RemoteException re) { throw new Exception(re.getMessage()); } }
Returns a list of role assignment request status instances given a correlation ID
public void getRoleAssignmentRequestStatusTestCase() throws Exception { System.out.println("\n****************Calling getRoleAssignmentRequestStatusTestCase()********************************"); String correlationId = "9a5feec728864b55ac443724a915e831"; try { IRemoteRole stub = getRoleStub(url, username, password); RoleAssignmentRequestStatusArray reqArray = stub.getRoleAssignmentRequestStatus(correlationId); RoleAssignmentRequestStatus[] reqStatus = reqArray.getRoleassignmentrequeststatus(); //Assert.assertNotNull("RoleAssignmentRequestStatus object is null for getRoleAssignmentRequestStatus", reqStatus); if (reqStatus != null) System.out.println(PrintRoleUtils.getRequestStatus(reqStatus)); else System.out.println("RoleAssignmentRequestStatus object is null for getRoleAssignmentRequestStatus"); //result += Util.getRequestStatus(reqStatus); } catch (NrfServiceException nrf) { throw new Exception(nrf.getMessage()); } catch (RemoteException re) { throw new Exception(re.getMessage()); } }
This example shows how to retrieve the type for a role assignment:
public void getRoleAssignmentTypeInfoTestCase() throws Exception { System.out.println("\n****************Calling getRoleAssignmentTypeInfoTestCase()********************************"); try { IRemoteRole stub = getRoleStub(url, username, password); RoleAssignmentTypeInfo info = stub.getRoleAssignmentTypeInfo(RoleAssignmentType.fromValue("ROLE_TO_ROLE")); //Assert.assertNotNull("Role Assignment Type Info Not Found for getRoleAssignmentTypeInfo", info); if (info != null) { System.out.println("Role Assignment Type Info:"); System.out.println(" identity type: " + info.getIdentityType().getValue()); System.out.println(" subtree included: " + info.getSubtreeIncluded()); System.out.println(" suports approvals: " + info.getSupportsApproval()); System.out.println(" supports effective date: " + info.getSupportsEffectiveDate()); System.out.println(" supports expiration: " + info.getSupportsExpiration()); System.out.println(" supports SOD Approval: " + info.getSupportsSODApproval()); } else System.out.println("Role Assignment Type Info Not Found for getRoleAssignmentTypeInfo"); } catch (NrfServiceException nrf) { throw new Exception(nrf.getMessage()); } catch (RemoteException re) { throw new Exception(re.getMessage()); } }
This example shows how to retrieve the defined role categories:
public void getRoleCategoriesTestCase() throws Exception { System.out.println("\n****************Calling getRoleCategoriesTestCase()********************************"); try { IRemoteRole stub = getRoleStub(url, username, password); CategoryArray entriesArray = stub.getRoleCategories(); Category[] entries = entriesArray.getCategory(); Assert.assertNotNull("No categories found.", entries); if (entries != null) { System.out.println("no of categories:" + entries.length); for (int i = 0; i < entries.length; i++) { System.out.println(" category key : " + entries[i].getCategoryKey()); System.out.println(" category label: " + entries[i].getCategoryLabel()); } } else System.out.println("No categories found."); } catch (NrfServiceException nrf) { throw new Exception(nrf.getMessage()); } catch (RemoteException re) { throw new Exception(re.getMessage()); } }
This example shows how to retrieve the defined role levels:
public void getRoleLevelsTestCase() throws Exception { System.out.println("\n****************Calling getRoleLevelsTestCase()********************************"); try { IRemoteRole stub = getRoleStub(url, username, password); RoleLevelArray roleLevelArray = stub.getRoleLevels(); RoleLevel[] entries = roleLevelArray.getRolelevel(); //Assert.assertNotNull("No role levels found.", entries); if (entries != null) { System.out.println("no of levels:" + entries.length); for (int index = 0; index < entries.length; index++) { System.out.println(" Level : " + entries[index].getLevel()); System.out.println(" Name : " + entries[index].getName()); System.out.println(" Description: " + entries[index].getDescription()); System.out.println(" Container : " + entries[index].getContainer()); } } else System.out.println("No role levels found."); } catch (NrfServiceException nrf) { throw new Exception(nrf.getMessage()); } catch (RemoteException re) { throw new Exception(re.getMessage()); } }
This example shows how to determine whether a user has been assigned to a role:
public void isUserInRoleTestCase() throws Exception { System.out.println("\n****************Calling isUserInRoleTestCase()********************************"); String[] DNs = { "cn=ablake,ou=users,ou=medical-idmsample,o=novell", "cn=Doctor,cn=Level20,cn=RoleDefs,cn=RoleConfig,cn=AppConfig,cn=HajenDriver,cn=TestDrivers,o=novell" }; try { IRemoteRole stub = getRoleStub(url, username, password); boolean inRole = stub.isUserInRole(DNs[0], DNs[1]); String sInRole = "User Not In Role"; if (inRole) sInRole = new String("User In Role"); System.out.println(sInRole); } catch (NrfServiceException nrf) { throw new Exception(nrf.getMessage()); } catch (RemoteException re) { throw new Exception(re.getMessage()); } }