public int compareTo(Object o) { if (!(o instanceof Membership) || userName == null) { return 0; } Membership m = (Membership) o; return userName.compareTo(m.getUserName()); }
public static String computeId(Membership membership) { StringBuffer id = new StringBuffer(); if (membership.getMembershipType() != null) { id.append(membership.getMembershipType()); } id.append(":"); if (membership.getUserName() != null) { id.append(membership.getUserName()); } id.append(":"); if (membership.getGroupId() != null) { id.append(membership.getGroupId()); } return id.toString(); }
public static boolean hasMembershipFolder(Session session, Membership membership) throws Exception { boolean hasNode = Util.getMembershipsFolder(session).hasNode( membership.getGroupId().replace("/", Util.SPECIAL_CHARACTER_REPLACEMENT) + Util.MEMBERSHIP_SEPARATOR + membership.getMembershipType().replace("*", Util.SPECIAL_CHARACTER_REPLACEMENT) + Util.MEMBERSHIP_SEPARATOR + membership.getUserName()); return hasNode; }
public static void deleteMembershipFolder(Session session, Membership membership) throws Exception { getMembershipsFolder(session).getNode( membership.getGroupId().replace("/", SPECIAL_CHARACTER_REPLACEMENT) + MEMBERSHIP_SEPARATOR + membership.getMembershipType().replace("*", SPECIAL_CHARACTER_REPLACEMENT) + MEMBERSHIP_SEPARATOR + membership.getUserName()).remove(); String membershipGroupFolderName = membership.getMembershipType().replace("*", Util.SPECIAL_CHARACTER_REPLACEMENT) + Util.MEMBERSHIP_SEPARATOR + membership.getUserName(); if (hasGroupFolder(session, membership.getGroupId()) && getGroupNode(session, membership.getGroupId()).hasNode(membershipGroupFolderName)) { getGroupNode(session, membership.getGroupId()).getNode(membershipGroupFolderName).remove(); } String membershipUserFolderName = membership.getMembershipType().replace("*", Util.SPECIAL_CHARACTER_REPLACEMENT) + Util.MEMBERSHIP_SEPARATOR + membership.getGroupId().replace("/", Util.SPECIAL_CHARACTER_REPLACEMENT); if (hasUserFolder(session, membership.getUserName()) && getUserNode(session, membership.getUserName()).hasNode(membershipUserFolderName)) { getUserNode(session, membership.getUserName()).getNode(membershipUserFolderName).remove(); } session.save(); }
public static void createMembershipFolder(Session session, Membership membership) throws Exception { if (!hasUserFolder(session, membership.getUserName())) { LOG.debug("listeners of user " + membership.getUserName() + " aren't executed, ignore membership integration feature."); return; } if (!hasGroupFolder(session, membership.getGroupId())) { LOG.debug("listeners of group " + membership.getGroupId() + " aren't executed, ignore membership integration feature."); return; } createFolder(getMembershipsFolder(session), membership.getGroupId().replace("/", SPECIAL_CHARACTER_REPLACEMENT) + MEMBERSHIP_SEPARATOR + membership.getMembershipType().replace("*", SPECIAL_CHARACTER_REPLACEMENT) + MEMBERSHIP_SEPARATOR + membership.getUserName()); createFolder( getGroupNode(session, membership.getGroupId()), membership.getMembershipType().replace("*", SPECIAL_CHARACTER_REPLACEMENT) + MEMBERSHIP_SEPARATOR + membership.getUserName()); createFolder(getUserNode(session, membership.getUserName()), membership.getMembershipType().replace("*", SPECIAL_CHARACTER_REPLACEMENT) + MEMBERSHIP_SEPARATOR + membership.getGroupId().replace("/", SPECIAL_CHARACTER_REPLACEMENT)); session.save(); }
/** * {@inheritDoc} */ public void postSave(Membership m, boolean isNew) throws Exception { if (!getOrganizationIntegrationService().isEnabled()) { return; } if (!isNew) { return; } Session session = null; try { session = repositoryService.getCurrentRepository().getSystemSession(Util.WORKSPACE); if (Util.hasUserFolder(session, m.getUserName())) { if (!Util.hasMembershipFolder(session, m)) { Util.createMembershipFolder(session, m); } } else { LOG.warn("Membership listeners can't be invoked on membership '" + m + "' because the user isn't synchronized yet."); } } finally { if (session != null) { session.logout(); } } }
@SuppressWarnings("unchecked") public void setUser(User user) throws Exception { user_ = user.getUserName(); membership_.clear(); OrganizationService service = getApplicationComponent(OrganizationService.class); Collection<org.exoplatform.services.organization.Membership> collection = service.getMembershipHandler().findMembershipsByUser(user_); for (org.exoplatform.services.organization.Membership membership : collection) { addMembership(new Membership(membership.getUserName(), membership.getId(), membership.getGroupId(), membership .getMembershipType())); } UIGrid uiGrid = getChild(UIGrid.class); SerializablePageList pageList = new SerializablePageList(new MembershipListAccess(getMembership()), 10); uiGrid.getUIPageIterator().setPageList(pageList); }
if (orgService.getUserHandler().findUserByName(m.getUserName()) == null) if (findMembershipByUserGroupAndType(m.getUserName(), m.getGroupId(), m.getMembershipType()) != null)
hasRole = getIdentitySession().getRoleManager().hasRole(m.getUserName(), groupId, m.getMembershipType()); } catch (Exception e) { associated = getIdentitySession().getRelationshipManager().isAssociatedByKeys(groupId, m.getUserName()); } catch (Exception e) { getIdentitySession().getRoleManager().removeRole(m.getMembershipType(), m.getUserName(), groupId); } catch (Exception e) { keys.add(m.getUserName()); try { getIdentitySession().getRelationshipManager().disassociateUsersByKeys(groupId, keys);
hasRole = getIdentitySession().getRoleManager().hasRole(m.getUserName(), groupId, m.getMembershipType()); } catch (Exception e) { getIdentitySession().getRoleManager().createRole(m.getMembershipType(), m.getUserName(), groupId); } catch (Exception e) { getIdentitySession().getRelationshipManager().associateUserByKeys(groupId, m.getUserName()); } catch (Exception e) {
public ListAccess<User> findUsersByGroupId(String groupId) throws Exception { if (LOG.isDebugEnabled()) LOG.debug("+++++++++++FIND USER BY GROUP_ID " + groupId); MembershipHandler membershipHandler = orgService.getMembershipHandler(); GroupHandler groupHandler = orgService.getGroupHandler(); Group group = groupHandler.findGroupById(groupId); if (group == null) { return new LazyListImpl(); } List<Membership> members = (List<Membership>)membershipHandler.findMembershipsByGroup(group); DBObjectQuery<UserImpl> dbQuery = new DBObjectQuery<UserImpl>(UserImpl.class); for (Membership member : members) { dbQuery.addEQ("USER_NAME", member.getUserName()); } return new JDBCListAccess<User>(this, dbQuery.toQueryUseOR(), dbQuery.toCountQueryUseOR()); }
invokeMembershipListeners(membership.getUserName(), membership.getGroupId(), membership.getMembershipType(),
if (service.getUserHandler().findUserByName(membership.getUserName()) == null) if (findMembershipByUserGroupAndType(membership.getUserName(), membership.getGroupId(), membership.getMembershipType()) != null)
&& getIdentitySession().getRoleManager().hasRole(m.getUserName(), groupId, m.getMembershipType())) { if (log.isTraceEnabled()) { Tools.logMethodOut(log, LogLevel.TRACE, "findMembership", m); && getIdentitySession().getRelationshipManager().isAssociatedByKeys(groupId, m.getUserName())) { if (log.isTraceEnabled()) { Tools.logMethodOut(log, LogLevel.TRACE, "findMembership", m);
String userDN = getDNFromUsername(ctx, m.getUserName()); String groupDN = getGroupDNFromGroupId(m.getGroupId()); String membershipDN =