/** * Instantiates new user. */ public User(UserDto dto) { if (dto != null) { this.id = getLongId(dto); this.username = dto.getUsername(); this.externalUid = dto.getExternalUid(); this.authority = dto.getAuthority(); Long tenantId = getLongId(dto.getTenantId()); this.tenant = tenantId != null ? new Tenant(tenantId) : null; } }
protected List<UserDto> generateUsers(String tenantId, KaaAuthorityDto authority, int count) { List<UserDto> users = new ArrayList<>(count); UserDto userDto; for (int i = 0; i < count; i++) { userDto = new UserDto(); userDto.setUsername(USER_NAME); userDto.setTenantId(tenantId); userDto.setExternalUid(UUID.randomUUID().toString()); userDto.setAuthority(authority); userDto = userService.saveUser(userDto); users.add(userDto); } return users; }
@Override public void deleteUser(String userId) throws KaaAdminServiceException { try { UserDto user = controlService.getUser(userId); Utils.checkNotNull(user); if (user.getAuthority().equals(KaaAuthorityDto.TENANT_ADMIN)) { checkAuthority(KaaAuthorityDto.KAA_ADMIN); } else { checkAuthority(KaaAuthorityDto.TENANT_ADMIN); checkTenantId(user.getTenantId()); } userFacade.deleteUser(Long.valueOf(user.getExternalUid())); controlService.deleteUser(user.getId()); } catch (Exception ex) { throw Utils.handleException(ex); } }
@Override public UserDto toDto() { UserDto dto = createDto(); dto.setId(getStringId()); dto.setUsername(username); dto.setExternalUid(externalUid); dto.setTenantId(ModelUtils.getStringId(tenant)); dto.setAuthority(authority); return dto; }
void checkCreateUserPermission(UserDto user) throws KaaAdminServiceException { if (user.getAuthority().equals(KaaAuthorityDto.TENANT_ADMIN)) { checkAuthority(KaaAuthorityDto.KAA_ADMIN); } else { checkAuthority(KaaAuthorityDto.TENANT_ADMIN); if (!isEmpty(user.getTenantId())) { checkTenantId(user.getTenantId()); } } }
protected UserDto generateTenantAdmin(TenantDto tenantDto, String userId) { UserDto tenant = new UserDto(); tenant.setUsername(generateString(TENANT_NAME)); if (tenantDto == null) { tenantDto = generateTenantDto(); } tenant.setTenantId(tenantDto.getId()); if (isBlank(userId)) { List<UserDto> users = generateUsersDto(tenantDto.getId(), KaaAuthorityDto.TENANT_ADMIN, 1); tenant.setId(users.get(0).getId()); } else { tenant.setId(userId); } tenant.setExternalUid(UUID.randomUUID().toString()); tenant = userService.saveUser(tenant); return tenant; }
protected org.kaaproject.kaa.common.dto.admin.UserDto toUser(UserDto tenantUser) { User user = userFacade.findById(Long.valueOf(tenantUser.getExternalUid())); org.kaaproject.kaa.common.dto.admin.UserDto result = new org.kaaproject.kaa.common.dto.admin.UserDto( user.getId().toString(), user.getUsername(), user.getFirstName(), user.getLastName(), user.getMail(), KaaAuthorityDto.valueOf(user.getAuthorities().iterator().next().getAuthority())); result.setId(tenantUser.getId()); result.setTenantId(tenantUser.getTenantId()); return result; }
void checkEditUserPermission(UserDto user) throws KaaAdminServiceException, ControlServiceException { checkUserId(user.getId()); }
@Override public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException { User user = userFacade.findByUserName(username); if (user == null) { throw new UsernameNotFoundException("user not found"); } AuthUserDto authUser = new AuthUserDto(user); if (authUser.getAuthority() != KaaAuthorityDto.KAA_ADMIN) { UserDto userDto; try { userDto = controlService.getUserByExternalUid(authUser.getExternalUid()); authUser.setId(userDto.getId()); authUser.setTenantId(userDto.getTenantId()); } catch (ControlServiceException ex) { throw new UsernameNotFoundException("unable to fetch user details", ex); } } return authUser; }
@Test public void findUserByExternalUidTest() { TenantDto tenantDto = generateTenantDto(); List<UserDto> users = generateUsersDto(tenantDto.getId(), KaaAuthorityDto.TENANT_DEVELOPER, 1); Assert.assertFalse(users.isEmpty()); UserDto user = users.get(0); UserDto foundUser = userService.findUserByExternalUid(user.getExternalUid()); Assert.assertEquals(user, foundUser); }
@RequestMapping("/property") @ResponseBody public String property(@ModelAttribute("userDto") UserDto userDto ) { System.out.println(userDto.getUsername()); System.out.println(userDto.getPassword()); return "Hello"; }
@Override protected UserDto createDto() { return new UserDto(); }
void editUserFacadeUser(org.kaaproject.kaa.common.dto.admin.UserDto user) throws KaaAdminServiceException, ControlServiceException { User storedUserOld = userFacade.findByUserName(user.getUsername()); Utils.checkNotNull(storedUserOld); user.setExternalUid(String.valueOf(storedUserOld.getId())); UserDto storedUserNew = controlService.getUser(user.getId()); Utils.checkNotNull(storedUserNew); if (!getCurrentUser().getAuthority().equals(KaaAuthorityDto.KAA_ADMIN)) { checkTenantId(storedUserNew.getTenantId()); } storedUserOld.setMail(user.getMail()); storedUserOld.setFirstName(user.getFirstName()); storedUserOld.setLastName(user.getLastName()); userFacade.save(storedUserOld); }
@Override public org.kaaproject.kaa.common.dto.admin.UserDto getUser(String userId) throws KaaAdminServiceException { try { UserDto user = controlService.getUser(userId); Utils.checkNotNull(user); if (user.getAuthority().equals(KaaAuthorityDto.TENANT_ADMIN)) { checkAuthority(KaaAuthorityDto.KAA_ADMIN); } else { checkAuthority(KaaAuthorityDto.TENANT_ADMIN); checkTenantId(user.getTenantId()); } return toUser(user); } catch (Exception ex) { throw Utils.handleException(ex); } }
private void assertUsersListsEqual(List<UserDto> expectedUsers, List<UserDto> actualUsers) { Assert.assertNotNull(expectedUsers); Assert.assertNotNull(actualUsers); Assert.assertEquals(expectedUsers.size(), actualUsers.size()); List<UserDto> notMatchedUsers = new ArrayList<>(actualUsers); for (UserDto expectedUser : expectedUsers) { boolean found = false; for (UserDto actualUser : actualUsers) { if (expectedUser.getId().equals(actualUser.getId())) { Assert.assertEquals(expectedUser, actualUser); found = true; notMatchedUsers.remove(actualUser); } } Assert.assertTrue("User not found", found); } Assert.assertTrue(notMatchedUsers.isEmpty()); }
protected List<UserDto> generateUsersDto(String tenantId, KaaAuthorityDto authority, int count) { List<UserDto> users = new ArrayList<>(count); UserDto userDto = null; for (int i = 0; i < count; i++) { userDto = new UserDto(); userDto.setUsername(generateString(USER_NAME)); userDto.setTenantId(tenantId); userDto.setExternalUid(UUID.randomUUID().toString()); userDto.setAuthority(authority); userDto = userService.saveUser(userDto); users.add(userDto); } return users; }
@Test public void removeUserByIdTest() { TenantDto tenantDto = generateTenantDto(); List<UserDto> users = generateUsersDto(tenantDto.getId(), KaaAuthorityDto.TENANT_DEVELOPER, 1); Assert.assertFalse(users.isEmpty()); UserDto user = users.get(0); userService.removeUserById(user.getId()); UserDto foundUser = userService.findUserById(user.getId()); Assert.assertNull(foundUser); }
@Test public void findTenantAdminByIdTest() { UserDto tenantAdminDto = generateTenantAdmin(null, null); UserDto found = userService.findUserById(tenantAdminDto.getId()); Assert.assertEquals(tenantAdminDto, found); }
@Test public void saveUserTest() { TenantDto tenantDto = generateTenantDto(); List<UserDto> users = generateUsersDto(tenantDto.getId(), KaaAuthorityDto.TENANT_DEVELOPER, 1); Assert.assertFalse(users.isEmpty()); UserDto user = users.get(0); UserDto foundUser = userService.findUserById(user.getId()); Assert.assertEquals(user, foundUser); }