public User findUserByUniqueAttribute(String attributeName, String attributeValue, UserStatus userStatus) throws Exception { if (log.isTraceEnabled()) { Tools.logMethodIn(log, LogLevel.TRACE, "findUserByUniqueAttribute", new Object[] { "findUserByUniqueAttribute", attributeName, attributeValue, userStatus }); } IdentitySession session = service_.getIdentitySession(); org.picketlink.idm.api.User plUser = null; try { orgService.flush(); plUser = session.getAttributesManager().findUserByUniqueAttribute(attributeName, attributeValue); } catch (Exception e) { handleException("Cannot find user by unique attribute: attrName=" + attributeName + ", attrValue=" + attributeValue + "; ", e); } User user = null; if (plUser != null) { user = new UserImpl(plUser.getId()); populateUser(user, session); if (!userStatus.matches(user.isEnabled())) { user = null; } } if (log.isTraceEnabled()) { Tools.logMethodOut(log, LogLevel.TRACE, "findUserByUniqueAttribute", user); } return user; }