public void updateUser(GenericRequestParam genericRequestParam) { final Map<String, User> users = getUsers(); final Set<User> forUpdateOrCreate = Sets.newHashSet(); for (Map.Entry<String, Object> entry : genericRequestParam.getParams().entrySet()) { final String[] n = entry.getKey().split(":"); if (n.length == 2) { String username = n[0]; final User user = ObjectUtils.defaultIfNull(users.get(username), new User(username)); final String roleAsString = n[1]; final String code = entry.getValue().toString(); if ("courier".equalsIgnoreCase(roleAsString)) { Courier courier = courierService.findOneByCode(code); user.setCourier(courier); } else if ("wireless".equalsIgnoreCase(roleAsString)) { WirelessCenter wc = wirelessCenterService.findOneByCode(code); user.setWirelessCenter(wc); } forUpdateOrCreate.add(user); } } userRepository.save(forUpdateOrCreate); }
public Map<String, User> getUsers() { final List<User> users = userRepository.findAll(); final Map<String, User> userMap = Maps.newHashMap(); for (User user : users) { userMap.put(user.getUsername(), user); } return userMap; }
public void createUser(GenericRequestParam genericRequestParam) { if (genericRequestParam != null && MapUtils.isNotEmpty(genericRequestParam.getParams())) { Map<String, Object> params = genericRequestParam.getParams(); String username = null; { if (params.containsKey("username")) { username = params.get("username").toString(); } } String courierCode = null; { if (params.containsKey("courier")) { courierCode = params.get("courier").toString(); } } String wirelessCenterCode = null; { if (params.containsKey("wireless")) { wirelessCenterCode = params.get("wireless").toString(); } } if (username != null) { User user = ObjectUtils.defaultIfNull( userRepository.findOne(User_.username(username)), new User(username)); if (StringUtils.isNotBlank(courierCode)) { Courier courier = courierService.findOneByCode(courierCode); if (courier != null) { user.setCourier(courier); } } if (StringUtils.isNotBlank(wirelessCenterCode)) { WirelessCenter wirelessCenter = wirelessCenterService.findOneByCode(wirelessCenterCode); if (wirelessCenter != null) { user.setWirelessCenter(wirelessCenter); } } userRepository.save(user); } } }