Tools.logMethodIn(log, LogLevel.TRACE, "findMembership", new Object[] { "id", id });
}
orgService.flush();
Membership m = new MembershipImpl(id);
String plGroupName = getPLIDMGroupName(getGroupNameFromId(m.getGroupId()));
String groupId = getIdentitySession().getPersistenceManager().createGroupKey(plGroupName,
getGroupTypeFromId(m.getGroupId()));
try {
if (isCreateMembership(m.getMembershipType())
&& getIdentitySession().getRoleManager().hasRole(m.getUserName(), groupId, m.getMembershipType())) {
if (log.isTraceEnabled()) {
Tools.logMethodOut(log, LogLevel.TRACE, "findMembership", m);
}
return m;
}
} catch (Exception e) {
// TODO:
handleException("Identity operation error: ", e);
}
try {
if (isAssociationMapped() && getAssociationMapping().equals(m.getMembershipType())
&& getIdentitySession().getRelationshipManager().isAssociatedByKeys(groupId, m.getUserName())) {
if (log.isTraceEnabled()) {
Tools.logMethodOut(log, LogLevel.TRACE, "findMembership", m);
}
return m;