/** * Builds user login. * @param userData * @return user login */ public static String buildUserLogin(UserData userData) { // in some scenarios there are no additional ids, main id only which is user's login return (userData.getUser().getIdentifiers()!=null && !userData.getUser().getIdentifiers().isEmpty())? userData.getUser().getIdentifiers().iterator().next(): userData.getUser().getId(); }
/** * Prepares results to conform with contract defined for listing users and * sorting users in the same order as the one specified for identifiers. For * each not found user null should be stored in returned list. * * @param candidates the candidates * @param genericIds not null list of ids * @return prepared results */ public static List<UserData> prepareListUsersResults(List<UserData> candidates, List<String> genericIds) { List<UserData> results = new ArrayList<UserData>(genericIds.size()); if (candidates == null || candidates.size() == 0) { for (int i = 0; i < genericIds.size(); i++) { results.add(i, null); } return results; } for (String id : genericIds) { UserData udToSet = null; for (UserData ud : candidates) { if (ud.getId().equals(id) || ud.getUser().getIdentifiers().contains(id)) { udToSet = ud; break; } } results.add(genericIds.indexOf(id), udToSet); } return results; } }
@Override public void changeUserData(String newName, String newEmail, String newPassword, Map<String, String> attributes) { try { UserData userData = userCatalog.loadUser(currentUser.getLogin(), domain, UserDataParts.SAFE_SENSITIVE_DATA); pl.edu.icm.yadda.service2.user.model.User user = userData.getUser(); String newId = newEmail; user.getIdentifiers().remove(currentUser.getEmail()); user.getIdentifiers().add(newId); user.setAttributes(attributes); userCatalog.updateUser(user); currentUser = loadUserData(newId); notificationService.publishLocalizedNotification( NotificationLevel.INFO, MessageConstants.PAGE_CHANGE_USER_DATA_SUCCESS); } catch (UserNotFoundException e) { throw new SystemException(Modules.PREFERENCES, e.getMessage()); } }
if (!CollectionUtils.isEmpty(user.getIdentifiers())) { Element xIdentifiers = new Element("identifiers", ns); for (String identifier : user.getIdentifiers()) { Element xIdentifier = new Element("identifier", ns); xIdentifier.setText(identifier);
setFlags(new HashSet<String>(0)); if (CollectionUtils.isNotEmpty(user.getIdentifiers())) { setIdentifiers(new HashSet<String>(user.getIdentifiers())); } else { setIdentifiers(new HashSet<String>(0));
++idx, user.getUser().getDomain(), user.getUser().getIdentifiers().iterator().next(), user.getUser().getAttributes().get(UserAttributesConstants.EMAIL), user.getUser().getRoles(),
if (setNameAsExtId) { result.getUser().setIdentifiers(new HashSet<String>()); result.getUser().getIdentifiers().add(source.getName()); } else { result.getUser().setId(source.getName());
/** * Secures {@link User} object. * @param source * @return {@link User} object */ protected User prepareMinimalUser(User source) { if (source==null) { return null; } // creating new object to make sure only specified data will be sent to unauthorized client User result = new User(); result.setId(source.getId()); result.setDomain(source.getDomain()); result.setIdentifiers(source.getIdentifiers()); result.setAttributes(prepareMinimalAttributes(source.getAttributes())); return result; }