public void removeProfile(String userName, UserProfile profile) { Map<String, String> profileAttrs = profile.getUserInfoMap(); String[] attrKeys = new String[profileAttrs.keySet().size()]; attrKeys = profileAttrs.keySet().toArray(attrKeys); try { getIdentitySession().getAttributesManager().removeAttributes(userName, attrKeys); } catch (Exception e) { // TODO: handleException("Identity operation error: ", e); } } }
q.groupsRelated.size() == 0) return identitySession.getPersistenceManager().findUser(q.searchCriteria); uniqueUser = identitySession.getPersistenceManager().findUser(q.userId); addAllPreservingDuplicates(resultsAssociatedGroups, identitySession.getRelationshipManager(). findAssociatedUsers(group, false, q.searchCriteria)); addAllPreservingDuplicates(resultsConnectedWithRoleGroups, identitySession.getRoleManager(). findUsersWithRelatedRole(group, q.searchCriteria)); addAllPreservingDuplicates(resultsRelatedGroups, identitySession.getRelationshipManager(). findRelatedUsers(group, q.searchCriteria));
public void flush() { if (configuration.isUseJTA()) { if (traceLoggingEnabled) { log.trace("Flushing UserTransaction in method flush"); } // Complete restart of JTA transaction don't have good performance. So we will only sync identitySession (same // as for non-jta environment) // finishJTATransaction(); // beginJTATransaction(); try { if (jtaTransactionLifecycleService.getUserTransaction().getStatus() == Status.STATUS_ACTIVE) { idmService_.getIdentitySession().save(); } } catch (Exception e) { log.error(e.getMessage(), e); } } else { try { if (idmService_.getIdentitySession().getTransaction().isActive()) { idmService_.getIdentitySession().save(); } } catch (Exception e) { log.error(e.getMessage(), e); recoverFromIDMError(e); } } }
@Override public void afterBegin() { try { // We need this as from Hibernate4 and with JTATransactionFactory, there is need to separately start IDM (Hibernate) // transaction as well even if JTA transaction is started if (!idmService.getIdentitySession().getTransaction().isActive()) { idmService.getIdentitySession().beginTransaction(); } } catch (Exception e) { throw new RuntimeException(e); } } }
u = getIdentitySession().getPersistenceManager().findUser(userName); } catch (Exception e) { attrs = getIdentitySession().getAttributesManager().getAttributes(userName); } catch (Exception e) {
orgService.flush(); roles.addAll(getIdentitySession().getRoleManager().findRoles(userName, membershipType)); roles.addAll(getIdentitySession().getRoleManager().findRoles(userName, MembershipTypeHandler.ANY_MEMBERSHIP_TYPE)); } catch (Exception e) { handleException("Identity operation error: ", e); orgService.flush(); groups = getIdentitySession().getRelationshipManager().findAssociatedGroups(userName, null); } catch (Exception e) { handleException("Identity operation error: ", e);
boolean success = identitySession.getAttributesManager().validateCredentials( u, new Credential[]{credentials.getCredential()}); Collection<RoleType> roleTypes = identitySession.getRoleManager() .findUserRoleTypes(u); for (Role role : identitySession.getRoleManager().findRoles(u, roleType)) { identity.addRole(role.getRoleType().getName(), role.getGroup().getName(), role.getGroup().getGroupType()); for (Group g : identitySession.getRelationshipManager().findAssociatedGroups(u)) { identity.addGroup(g.getName(), g.getGroupType());
plGroups.addAll(getIdentitySession().getRelationshipManager() .findAssociatedGroups(getRootGroup(), null, true, true)); } catch (Exception e) { for (String type : orgService.getConfiguration().getAllTypes()) { try { plGroups.addAll(getIdentitySession().getPersistenceManager().findGroup(type)); } catch (Exception e) {
roleQuery.roleType != null) Role role = identitySession.getRoleManager().getRole(roleQuery.roleType, roleQuery.user, roleQuery.group); if (role != null) roleQuery.roleType == null) return identitySession.getRoleManager().findRoles(roleQuery.user, null); roleQuery.roleType != null) return identitySession.getRoleManager().findRoles(roleQuery.user, roleQuery.roleType); roleQuery.roleType == null) return identitySession.getRoleManager().findRoles(roleQuery.group, null); roleQuery.roleType != null) return identitySession.getRoleManager().findRoles(roleQuery.group, roleQuery.roleType); roleQuery.roleType == null) Collection<RoleType> roleTypes = identitySession.getRoleManager(). findRoleTypes(roleQuery.user, roleQuery.group, roleQuery.searchCriteria); for (RoleType type : roleTypes)
public void enableAll(int first) throws Exception { final long startTime = System.currentTimeMillis(); startTransaction(); final int size = getIdentitySession().getPersistenceManager().getUserCount(); log.info("Starting enable for {} users", size - first); int length = batch > size ? size : batch; while (length > 0) { try { log.info("enable for user from {} to {}", first, (first + length)); startTransaction(); UserQueryBuilder qb = getIdentitySession().createUserQueryBuilder(); List<User> users = load(qb, first, length); for (User user : users) { setEnabled(user.getId(), true); } getIdentitySession().save(); endTransaction(); } catch (Exception e) { log.info("fail to migrate for users from index: {}", first); recoverFromIDMError(e); break; } first = first + batch; length = batch + first > size ? size - first : batch; } log.info("Finish enable all users in : {}ms", (System.currentTimeMillis() - startTime)); }
public final org.picketlink.idm.api.Group getJBIDMGroup(String groupId) throws Exception { String[] ids = groupId.split("/"); String name = ids[ids.length - 1]; String parentId = null; if (groupId.contains("/")) { parentId = groupId.substring(0, groupId.lastIndexOf("/")); } String plGroupName = configuration.getPLIDMGroupName(name); return idmService_.getIdentitySession().getPersistenceManager() .findGroup(plGroupName, getConfiguration().getGroupType(parentId)); }
orgService.flush(); allGroups = getIdentitySession().getRelationshipManager().findRelatedGroups(user, null, null); } catch (Exception e) {
result = getIDMService().getIdentitySession().getPersistenceManager().getUserCount(); } else { userQueryBuilder.page(0, 0); UserQuery query = userQueryBuilder.sort(SortOrder.ASCENDING).createQuery(); fullResults = getIDMService().getIdentitySession().list(query); result = fullResults.size();
private Collection<Group> findAssociatedGroupsCascaded(Collection<Group> previous, Group group, String groupType, boolean parent, IdentitySearchCriteria criteria) throws IdentityException { getIdentitySession().save(); Collection<Group> results = findAssociatedGroups(group, groupType, parent, false, criteria); List<Group> newResults = new LinkedList<Group>(); // For each result make recursive call unless it is already in previous results for (Group result : results) { if (!previous.contains(result)) { newResults.add(result); previous.add(result); getIdentitySession().save(); newResults.addAll(findAssociatedGroupsCascaded(previous, result, groupType, parent, criteria)); } } return newResults; }
public LazyPageList<User> getUserPageList(int pageSize) throws Exception { if (log.isTraceEnabled()) { Tools.logMethodIn(log, LogLevel.TRACE, "getUserPagetList", new Object[] { "pageSize", pageSize }); } UserQueryBuilder qb = service_.getIdentitySession().createUserQueryBuilder(); boolean enabledOnly = filterDisabledUsersInQueries(); if (enabledOnly) { qb = addDisabledUserFilter(qb); } return new LazyPageList<User>(new IDMUserListAccess(qb, pageSize, true, enabledOnly ? UserStatus.ENABLED : UserStatus.DISABLED), pageSize); }
jbidGroup = getIdentitySession().getPersistenceManager().findGroup(plGroupName, orgService.getConfiguration().getGroupType(exoGroup.getParentId())); } catch (Exception e) { jbidGroup = getIdentitySession().getPersistenceManager().createGroup(plGroupName, orgService.getConfiguration().getGroupType(exoGroup.getParentId())); } catch (Exception e) { getIdentitySession().getAttributesManager().updateAttributes(jbidGroup, attrs); } catch (Exception e) {
orgService.flush(); allRoles = getIdentitySession().getRoleManager().findRoles(userName, membershipType); } catch (Exception e) { handleException("Identity operation error: ", e); orgService.flush(); groups = getIdentitySession().getRelationshipManager().findAssociatedGroups(userName, null); } catch (Exception e) { handleException("Identity operation error: ", e);
jbidGroup = getIdentitySession().getPersistenceManager().findGroup(plGroupName, orgService.getConfiguration().getGroupType(group.getParentId())); } catch (Exception e) { orgService.flush(); try { oneLevelChilds = getIdentitySession().getRelationshipManager() .findAssociatedGroups(jbidGroup, null, true, false); } catch (Exception e) { Collection<org.picketlink.idm.api.Group> parents = getIdentitySession().getRelationshipManager() .findAssociatedGroups(jbidGroup, null, false, false); getIdentitySession().getRelationshipManager().disassociateGroups(parent, dummySet); getIdentitySession().getPersistenceManager().removeGroup(jbidGroup, true);
private void updateMembershipType(MembershipType mt) throws Exception { RoleType rt; try { rt = getIdentitySession().getRoleManager().getRoleType(mt.getName()); } catch (Exception e) { handleException("Exception occured when finding role type", e); return; } Map<String, String> props = new HashMap<String, String>(); props.put(MEMBERSHIP_DESCRIPTION, mt.getDescription()); props.put(MEMBERSHIP_CREATE_DATE, mt.getCreatedDate() == null ? null : "" + mt.getCreatedDate().getTime()); props.put(MEMBERSHIP_MODIFIED_DATE, mt.getModifiedDate() == null ? null : "" + mt.getModifiedDate().getTime()); props.put(MEMBERSHIP_OWNER, mt.getOwner()); try { getIdentitySession().getRoleManager().setProperties(rt, props); } catch (Exception e) { handleException("Exception when updating membership type", e); } return; }
public ListAccess<Membership> findAllMembershipsByUser(User user) throws Exception { org.picketlink.idm.api.User gtnUser = service_.getIdentitySession().getPersistenceManager() .findUser(user.getUserName()); if (gtnUser == null) { log.log(LogLevel.ERROR, "Internal ERROR. Cannot obtain user: " + user.getUserName()); return new ListAccessImpl(Membership.class, Collections.emptyList()); } return new IDMMembershipListAccess(gtnUser, !orgService.getConfiguration().isSkipPaginationInMembershipQuery()); }