From ffdac54bbbf93eeac36f0a2055d8e349646f9490 Mon Sep 17 00:00:00 2001 From: pyshankov Date: Wed, 14 Sep 2016 17:26:56 +0300 Subject: [PATCH] KAA-1293: Move email and user existence check methods from Web UI to REST API method --- .../admin/services/UserServiceImpl.java | 27 +++++++++---------- .../kaa/server/admin/services/util/Utils.java | 4 +-- .../admin/shared/services/UserService.java | 2 +- 3 files changed, 15 insertions(+), 18 deletions(-) diff --git a/server/node/src/main/java/org/kaaproject/kaa/server/admin/services/UserServiceImpl.java b/server/node/src/main/java/org/kaaproject/kaa/server/admin/services/UserServiceImpl.java index f87b2621a2..742565d981 100644 --- a/server/node/src/main/java/org/kaaproject/kaa/server/admin/services/UserServiceImpl.java +++ b/server/node/src/main/java/org/kaaproject/kaa/server/admin/services/UserServiceImpl.java @@ -29,12 +29,9 @@ import java.util.ArrayList; import java.util.List; -import java.util.Set; import java.util.stream.Collectors; -import static org.kaaproject.kaa.server.admin.services.util.Utils.checkEmailUniquieness; -import static org.kaaproject.kaa.server.admin.services.util.Utils.checkNotNull; -import static org.kaaproject.kaa.server.admin.services.util.Utils.checkEmailFormat; +import static org.kaaproject.kaa.server.admin.services.util.Utils.checkFieldUniquieness; import static org.kaaproject.kaa.server.admin.services.util.Utils.getCurrentUser; import static org.kaaproject.kaa.server.admin.shared.util.Utils.isEmpty; @@ -107,8 +104,8 @@ public org.kaaproject.kaa.common.dto.admin.UserDto getUser(String userId) throws public org.kaaproject.kaa.common.dto.admin.UserDto editUser(org.kaaproject.kaa.common.dto.admin.UserDto user) throws KaaAdminServiceException { try { - User stored = userFacade.findByUserName(user.getUsername()); - boolean createNewUser = (stored == null); + + boolean createNewUser = (user.getId() == null); String tempPassword = null; if (createNewUser) { @@ -121,22 +118,22 @@ public org.kaaproject.kaa.common.dto.admin.UserDto editUser(org.kaaproject.kaa.c } } - checkEmailFormat(user.getMail()); - - checkEmailUniquieness( + checkFieldUniquieness( user.getMail(), userFacade.getAll().stream().map(u -> u.getMail()).collect(Collectors.toSet()) ); - + + checkFieldUniquieness( + user.getUsername(), + userFacade.getAll().stream().map(u -> u.getUsername()).collect(Collectors.toSet()) + ); + CreateUserResult result = userFacade.saveUserDto(user, passwordEncoder); user.setExternalUid(result.getUserId().toString()); tempPassword = result.getPassword(); } else { - if (isEmpty(user.getId())) { - controlService.getUsers().stream() - .filter(u -> u.getUsername().equals(user.getUsername())).findFirst() - .ifPresent(u -> user.setId(u.getId())); - } + User stored = userFacade.findByUserName(user.getUsername()); + user.setExternalUid(String.valueOf(stored.getId())); checkUserId(user.getId()); diff --git a/server/node/src/main/java/org/kaaproject/kaa/server/admin/services/util/Utils.java b/server/node/src/main/java/org/kaaproject/kaa/server/admin/services/util/Utils.java index 32d2e28863..54f208aea0 100644 --- a/server/node/src/main/java/org/kaaproject/kaa/server/admin/services/util/Utils.java +++ b/server/node/src/main/java/org/kaaproject/kaa/server/admin/services/util/Utils.java @@ -77,11 +77,11 @@ public static T checkNotNull(T reference) throws KaaAdminServiceException { return reference; } - public static void checkEmailUniquieness(String email, Set storedEmails) throws KaaAdminServiceException { + public static void checkFieldUniquieness(String email, Set storedEmails) throws KaaAdminServiceException { checkNotNull(email); boolean isAdded = storedEmails.add(email); if (!isAdded) { - throw new KaaAdminServiceException("Entered email is already used by another user!", ServiceErrorCode.INVALID_ARGUMENTS); + throw new KaaAdminServiceException("Entered property is already used by another user!", ServiceErrorCode.INVALID_ARGUMENTS); } } diff --git a/server/node/src/main/java/org/kaaproject/kaa/server/admin/shared/services/UserService.java b/server/node/src/main/java/org/kaaproject/kaa/server/admin/shared/services/UserService.java index 07bf5dbeb4..2435e0461e 100644 --- a/server/node/src/main/java/org/kaaproject/kaa/server/admin/shared/services/UserService.java +++ b/server/node/src/main/java/org/kaaproject/kaa/server/admin/shared/services/UserService.java @@ -39,4 +39,4 @@ public interface UserService extends RemoteService { void deleteUser(String userId) throws KaaAdminServiceException; List findAllTenantAdminsByTenantId(String id) throws KaaAdminServiceException; -} +} \ No newline at end of file