private GroupImpl createDefaultGroup(final IdentityService identityService, final String name, final String label, final String description, final Group parentGroup) { final Set<GroupImpl> groups = identityService.findGroupsByName(name); GroupImpl group = null; if (groups == null || groups.isEmpty()) { group = new GroupImpl(name); group.setLabel(label); group.setDescription(description); group.setParentGroup(parentGroup); identityService.addGroup(group); } else { group = groups.iterator().next(); } return group; }
@Override @Deprecated public void addRoleToUser(final String roleName, final String username) throws UserNotFoundException, RoleNotFoundException { FacadeUtil.checkArgsNotNull(roleName, username); final IdentityService identityService = EnvTool.getIdentityService(); final UserImpl user = identityService.findUserByUsername(username); if (user == null) { throw new UserNotFoundException("bai_IAPII_2", username); } final Set<GroupImpl> groups = identityService.findGroupsByName(IdentityAPI.DEFAULT_GROUP_NAME); GroupImpl defaultGroup = null; if (groups != null && !groups.isEmpty()) { defaultGroup = groups.iterator().next(); } final RoleImpl role = identityService.findRoleByName(roleName); if (role == null || defaultGroup == null) { throw new RoleNotFoundException("bai_IAPII_3", roleName + IdentityAPI.MEMBERSHIP_SEPARATOR + IdentityAPI.GROUP_PATH_SEPARATOR + IdentityAPI.DEFAULT_GROUP_NAME); } MembershipImpl membership = identityService.findMembershipByRoleAndGroup(role.getUUID(), defaultGroup.getUUID()); if (membership == null) { membership = new MembershipImpl(); membership.setGroup(defaultGroup); membership.setRole(role); identityService.addMembership(membership); } identityService.addMembershipToUser(user, membership); }
@Override public ProfileMetadata addProfileMetadata(final String name) throws MetadataAlreadyExistsException { FacadeUtil.checkArgsNotNull(name); final IdentityService identityService = EnvTool.getIdentityService(); final ProfileMetadataImpl metadata = identityService.findProfileMetadataByName(name); if (metadata != null) { throw new MetadataAlreadyExistsException("bai_IAPII_9", name); } final ProfileMetadataImpl profileMetadata = new ProfileMetadataImpl(name); identityService.addProfileMetadata(profileMetadata); return profileMetadata; }
private RoleImpl createDefaultRole(final IdentityService identityService, final String name, final String label, final String description) { RoleImpl role = identityService.findRoleByName(name); if (role == null) { role = new RoleImpl(name); role.setLabel(label); role.setDescription(description); identityService.addRole(role); } return role; }
@Override public void removeProfileMetadataByUUID(final String profileMetadataUUID) throws MetadataNotFoundException { Misc.checkArgsNotNull(profileMetadataUUID); final IdentityService identityService = EnvTool.getIdentityService(); final ProfileMetadataImpl profileMetadata = identityService.getProfileMetadata(profileMetadataUUID); if (profileMetadata == null) { throw new MetadataNotFoundException("bai_IAPII_11", profileMetadataUUID); } identityService.deleteProfileMetadata(profileMetadata); }
@Override public void addMembershipToUser(final String userUUID, final String membershipUUID) throws UserNotFoundException, MembershipNotFoundException { FacadeUtil.checkArgsNotNull(userUUID, membershipUUID); final IdentityService identityService = EnvTool.getIdentityService(); final UserImpl user = identityService.getUser(userUUID); if (user == null) { throw new UserNotFoundException("bai_IAPII_2", userUUID); } final MembershipImpl membership = identityService.getMembership(membershipUUID); if (membership == null) { throw new MembershipNotFoundException("bai_IAPII_8", membershipUUID); } identityService.addMembershipToUser(user, membership); }
final IdentityService identityService = EnvTool.getIdentityService(); for (final String groupUUID : groupUUIDs) { final GroupImpl group = identityService.getGroup(groupUUID); if (group != null) { final List<GroupImpl> children = identityService.getGroupChildren(groupUUID); final List<String> childrenUUIDs = new ArrayList<String>(); for (final GroupImpl child : children) { removeGroups(childrenUUIDs); final Set<MembershipImpl> memberships = identityService.getMembershipsByGroup(group.getUUID()); final Set<String> membershipUUIDs = new HashSet<String>(); for (final MembershipImpl membership : memberships) { final List<UserImpl> usersInMembership = identityService.getUsersByMembership(membership.getUUID()); for (final UserImpl user : usersInMembership) { identityService.removeMembershipFromUser(user, membership); identityService.deleteMembership(membership); membershipUUIDs.add(membership.getUUID()); identityService.deleteGroup(group);
@Override public void removeRoles(final Collection<String> roleUUIDs) throws RoleNotFoundException { FacadeUtil.checkArgsNotNull(roleUUIDs); final IdentityService identityService = EnvTool.getIdentityService(); for (final String roleUUID : roleUUIDs) { final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } final Set<MembershipImpl> memberships = identityService.getMembershipsByRole(role.getUUID()); final Set<String> membershipUUIDs = new HashSet<String>(); for (final MembershipImpl membership : memberships) { final List<UserImpl> usersInMembership = identityService.getUsersByMembership(membership.getUUID()); for (final UserImpl user : usersInMembership) { identityService.removeMembershipFromUser(user, membership); } identityService.deleteMembership(membership); membershipUUIDs.add(membership.getUUID()); } removeMembershipsFromRules(membershipUUIDs); identityService.deleteRole(role); } removeRolesFromRules(roleUUIDs); }
@Override @Deprecated public void removeRole(final String name) throws RoleNotFoundException { FacadeUtil.checkArgsNotNull(name); final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl role = identityService.findRoleByName(name); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", name); } final Set<MembershipImpl> memberships = identityService.getMembershipsByRole(role.getUUID()); if (memberships != null) { final Set<String> membershipUUIDs = new HashSet<String>(); for (final MembershipImpl membership : memberships) { final List<UserImpl> usersInMembership = identityService.getUsersByMembership(membership.getUUID()); for (final UserImpl user : usersInMembership) { identityService.removeMembershipFromUser(user, membership); } identityService.deleteMembership(membership); membershipUUIDs.add(membership.getUUID()); } removeMembershipsFromRules(membershipUUIDs); } identityService.deleteRole(role); final Set<String> roleUUIDs = new HashSet<String>(); roleUUIDs.add(role.getUUID()); removeRolesFromRules(roleUUIDs); }
FacadeUtil.checkArgsNotNull(username); final IdentityService identityService = EnvTool.getIdentityService(); final UserImpl user = identityService.findUserByUsername(username); if (user == null) { throw new UserNotFoundException("bai_IAPII_2", username); final Set<GroupImpl> groups = identityService.findGroupsByName(IdentityAPI.DEFAULT_GROUP_NAME); GroupImpl defaultGroup = null; if (groups != null && !groups.isEmpty()) { if (roleNames != null) { for (final String roleName : roleNames) { final RoleImpl role = identityService.findRoleByName(roleName); if (role == null || defaultGroup == null) { throw new RoleNotFoundException("bai_IAPII_3", roleName + IdentityAPI.MEMBERSHIP_SEPARATOR .findMembershipByRoleAndGroup(role.getUUID(), defaultGroup.getUUID()); if (membership == null) { membership = new MembershipImpl(); membership.setGroup(defaultGroup); membership.setRole(role); identityService.addMembership(membership); identityService.setUserMemberships(user, memberships);
UserImpl user = identityService.findUserByUsername(username); if (user != null) { throw new UserAlreadyExistsException("bai_IAPII_4", username); user.setTitle(title); if (managerUserUUID != null && !managerUserUUID.isEmpty()) { final UserImpl manager = identityService.getUser(managerUserUUID); if (manager == null) { throw new UserNotFoundException("bai_IAPII_10", managerUserUUID); identityService.addUser(user); final ProfileMetadataImpl metadata = identityService.findProfileMetadataByName(profileMetadataEntry.getKey()); if (metadata == null) { throw new MetadataNotFoundException("bai_IAPII_11", profileMetadataEntry.getKey()); identityService.updateProfileMetadata(metadata); userMetadata.put(metadata, profileMetadataEntry.getValue()); identityService.updateUser(user);
@Override public Group addGroup(final String name, final String parentGroupUUID) throws GroupAlreadyExistsException, GroupNotFoundException { FacadeUtil.checkArgsNotNull(name); final IdentityService identityService = EnvTool.getIdentityService(); final List<GroupImpl> childrenGroups = identityService.getGroupChildren(parentGroupUUID); for (final GroupImpl childGroup : childrenGroups) { if (name.equalsIgnoreCase(childGroup.getName())) { throw new GroupAlreadyExistsException("bai_IAPII_7", name); } } final GroupImpl group = new GroupImpl(name); if (parentGroupUUID != null) { final GroupImpl parentGroup = identityService.getGroup(parentGroupUUID); if (parentGroup == null) { throw new GroupNotFoundException("bai_IAPII_13", parentGroupUUID); } group.setParentGroup(parentGroup); } identityService.addGroup(group); return new GroupImpl(group); }
@Override public Membership getMembershipForRoleAndGroup(final String roleUUID, final String groupUUID) throws RoleNotFoundException, GroupNotFoundException { FacadeUtil.checkArgsNotNull(roleUUID, groupUUID); final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } final GroupImpl group = identityService.getGroup(groupUUID); if (group == null) { throw new GroupNotFoundException("bai_IAPII_12", groupUUID); } MembershipImpl membership = identityService.findMembershipByRoleAndGroup(roleUUID, groupUUID); if (membership != null) { return new MembershipImpl(membership); } else { membership = new MembershipImpl(); membership.setGroup(group); membership.setRole(role); identityService.addMembership(membership); return new MembershipImpl(membership); } }
@Override public Role importRole(final String uuid, final String name, final String label, final String description) throws RoleAlreadyExistsException { FacadeUtil.checkArgsNotNull(name); final IdentityService identityService = EnvTool.getIdentityService(); Role role = identityService.getRole(uuid); if (role != null) { throw new RoleAlreadyExistsException("bai_IAPII_1", uuid); } role = identityService.findRoleByName(name); if (role != null) { throw new RoleAlreadyExistsException("bai_IAPII_1", name); } final RoleImpl roleToImport = new RoleImpl(uuid, name); roleToImport.setLabel(label); roleToImport.setDescription(description); identityService.addRole(roleToImport); return role; }
@Override public User addUser(final String username, final String password) throws UserAlreadyExistsException { FacadeUtil.checkArgsNotNull(username, password); if ("".equals(username.trim())) { throw new BonitaWrapperException(new IllegalArgumentException("The user name cannot be empty")); } final IdentityService identityService = EnvTool.getIdentityService(); UserImpl user = identityService.findUserByUsername(username); if (user != null) { throw new UserAlreadyExistsException("bai_IAPII_4", username); } user = new UserImpl(username, password); identityService.addUser(user); return user; }
@Override public void removeRoleByUUID(final String roleUUID) throws RoleNotFoundException { Misc.checkArgsNotNull(roleUUID); final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl role = identityService.getRole(roleUUID); if (role == null) { throw new RoleNotFoundException("bai_IAPII_3", roleUUID); } identityService.deleteRole(role); final Set<String> roleUUIDs = new HashSet<String>(); roleUUIDs.add(roleUUID); removeRolesFromRules(roleUUIDs); }
private MembershipImpl createDefaultMembership(final IdentityService identityService, final GroupImpl group, final RoleImpl role) { MembershipImpl membership = identityService.findMembershipByRoleAndGroup(role.getUUID(), group.getUUID()); if (membership == null) { membership = new MembershipImpl(); membership.setGroup(group); membership.setRole(role); identityService.addMembership(membership); } return membership; }
private void createDefaultUsers() { final String defaultUsersCreated = EnvTool.getJournal().getMetaData(DEFAULT_USERS_CREATED); if (defaultUsersCreated == null) { final IdentityService identityService = EnvTool.getIdentityService(); final RoleImpl memberRole = createDefaultRole(identityService, IdentityAPI.USER_ROLE_NAME, IdentityAPI.USER_ROLE_LABEL, IdentityAPI.USER_ROLE_DESCRIPTION); final RoleImpl adminRole = createDefaultRole(identityService, IdentityAPI.ADMIN_ROLE_NAME, IdentityAPI.ADMIN_ROLE_LABEL, IdentityAPI.ADMIN_ROLE_DESCRIPTION); final GroupImpl defaultGroup = createDefaultGroup(identityService, IdentityAPI.DEFAULT_GROUP_NAME, IdentityAPI.DEFAULT_GROUP_LABEL, IdentityAPI.DEFAULT_GROUP_DESCRIPTION, null); final MembershipImpl memberMembership = createDefaultMembership(identityService, defaultGroup, memberRole); final MembershipImpl adminMembership = createDefaultMembership(identityService, defaultGroup, adminRole); final UserImpl adminUser = addDefaultUser(identityService, "admin", null, null, "bpm", null, null); identityService.addMembershipToUser(adminUser, adminMembership); final UserImpl user1 = addDefaultUser(identityService, "john", "John", "Doe", "bpm", null, null); identityService.addMembershipToUser(user1, memberMembership); final UserImpl user2 = addDefaultUser(identityService, "jack", "Jack", "Doe", "bpm", user1.getUUID(), user1.getUUID()); identityService.addMembershipToUser(user2, memberMembership); final UserImpl user3 = addDefaultUser(identityService, "james", "James", "Doe", "bpm", user1.getUUID(), user2.getUUID()); identityService.addMembershipToUser(user3, memberMembership); EnvTool.getJournal().storeMetaData(DEFAULT_USERS_CREATED, "true"); } }
FacadeUtil.checkArgsNotNull(groupUUID); final IdentityService identityService = EnvTool.getIdentityService(); final GroupImpl group = identityService.getGroup(groupUUID); if (group == null) { throw new GroupNotFoundException("bai_IAPII_12", groupUUID); final List<GroupImpl> children = identityService.getGroupChildren(groupUUID); final List<String> childrenUUIDs = new ArrayList<String>(); for (final GroupImpl child : children) { removeGroups(childrenUUIDs); final Set<MembershipImpl> memberships = identityService.getMembershipsByGroup(group.getUUID()); if (memberships != null) { final Set<String> membershipUUIDs = new HashSet<String>(); for (final MembershipImpl membership : memberships) { final List<UserImpl> usersInMembership = identityService.getUsersByMembership(membership.getUUID()); for (final UserImpl user : usersInMembership) { identityService.removeMembershipFromUser(user, membership); identityService.deleteMembership(membership); membershipUUIDs.add(membership.getUUID()); identityService.deleteGroup(group);
@Override public Group importGroup(final String uuid, final String name, final String label, final String description, final String parentGroupUUID) throws GroupAlreadyExistsException, GroupNotFoundException { FacadeUtil.checkArgsNotNull(name); final IdentityService identityService = EnvTool.getIdentityService(); final Group group = identityService.getGroup(uuid); if (group != null) { throw new GroupAlreadyExistsException("bai_IAPII_7", uuid); } final List<GroupImpl> childrenGroups = identityService.getGroupChildren(parentGroupUUID); for (final GroupImpl childGroup : childrenGroups) { if (name.equalsIgnoreCase(childGroup.getName())) { throw new GroupAlreadyExistsException("bai_IAPII_7", name); } } final GroupImpl groupToImport = new GroupImpl(uuid, name); groupToImport.setLabel(label); groupToImport.setDescription(description); identityService.addGroup(groupToImport); if (parentGroupUUID != null) { final GroupImpl parentGroup = identityService.getGroup(parentGroupUUID); if (parentGroup == null) { throw new GroupNotFoundException("bai_IAPII_13", parentGroupUUID); } groupToImport.setParentGroup(parentGroup); } return new GroupImpl(groupToImport); }