use of org.eclipse.vorto.repository.account.impl.User in project vorto by eclipse.
the class RepositoryConfigurationLocal method newUser.
private User newUser(String username, String password, boolean hasWatchOnRepo, String email, Role role) {
User user = new User();
user.setUsername(username);
user.setPassword(encoder.encode(password));
user.setHasWatchOnRepository(hasWatchOnRepo);
user.setEmail(email);
user.setRoles(role);
user.setDateCreated(new Timestamp(System.currentTimeMillis()));
user.setLastUpdated(new Timestamp(System.currentTimeMillis()));
return user;
}
use of org.eclipse.vorto.repository.account.impl.User in project vorto by eclipse.
the class HomeController method getUser.
@SuppressWarnings("unchecked")
@ApiOperation(value = "Returns the currently logged in User")
@ApiResponses(value = { @ApiResponse(code = 401, message = "Unauthorized"), @ApiResponse(code = 200, message = "OK") })
@RequestMapping(value = { "/user", "/me" }, method = RequestMethod.GET)
public ResponseEntity<Map<String, String>> getUser(Principal user, final HttpServletRequest request) {
Map<String, String> map = new LinkedHashMap<>();
if (user == null)
return new ResponseEntity<Map<String, String>>(map, HttpStatus.UNAUTHORIZED);
for (GrantedAuthority authority : SecurityContextHolder.getContext().getAuthentication().getAuthorities()) {
map.put("role", authority.getAuthority());
}
if (user instanceof OAuth2Authentication) {
OAuth2Authentication oauth2User = (OAuth2Authentication) user;
map.put("name", oauth2User.getName());
User registeredUser = userRepository.findByUsername(oauth2User.getName());
if (registeredUser != null) {
map.put("email", registeredUser.getEmail());
map.put("isRegistered", Boolean.toString(true));
} else {
map.put("email", ((Map<String, String>) oauth2User.getUserAuthentication().getDetails()).get("email"));
map.put("isRegistered", Boolean.toString(false));
}
Map<String, String> userDetails = ((Map<String, String>) oauth2User.getUserAuthentication().getDetails());
map.put("loginType", userDetails.get(LOGIN_TYPE));
} else {
VortoUser vortoUser = (VortoUser) ((UsernamePasswordAuthenticationToken) user).getPrincipal();
map.put("name", vortoUser.getUsername());
map.put("email", vortoUser.getEmail());
map.put("isRegistered", "true");
map.put("loginType", "default");
}
return new ResponseEntity<Map<String, String>>(map, HttpStatus.OK);
}
use of org.eclipse.vorto.repository.account.impl.User in project vorto by eclipse.
the class UserController method updateUser.
@ApiOperation(value = "Update an existing User")
@RequestMapping(method = RequestMethod.PUT, value = "/users/{username}")
public ResponseEntity<UserDto> updateUser(Principal currentlyLoggedInUser, @ApiParam(value = " Username", required = true) @PathVariable String username, @ApiParam(value = "User Data Transfer Object", required = true) @RequestBody UserDto userDto) {
if (!isUpdateAllowed(currentlyLoggedInUser, username, userDto)) {
return new ResponseEntity<UserDto>(HttpStatus.UNAUTHORIZED);
}
User user = userRepository.findByUsername(username);
if (user == null) {
throw new UsernameNotFoundException("User does not exists");
}
user.setUsername(userDto.getUsername());
user.setEmail(userDto.getEmail());
user.setLastUpdated(new Timestamp(System.currentTimeMillis()));
if (UserUtils.isAdmin(currentlyLoggedInUser)) {
user.setHasWatchOnRepository(userDto.isHasWatchOnRepository());
}
userRepository.save(user);
User updatedUser = userRepository.findByUsername(userDto.getUsername());
return new ResponseEntity<UserDto>(UserDto.fromUser(updatedUser), HttpStatus.OK);
}
use of org.eclipse.vorto.repository.account.impl.User in project vorto by eclipse.
the class MappingTest method testCheckinValidMapping.
@Test
public void testCheckinValidMapping() throws Exception {
UploadModelResult uploadResult = modelRepository.upload(IOUtils.toByteArray(new ClassPathResource("sample_models/Color.type").getInputStream()), "Color.type", "admin");
assertEquals(true, uploadResult.isValid());
assertEquals(0, modelRepository.search("*").size());
User user = new User();
user.setUsername("alex");
user.setHasWatchOnRepository(true);
Collection<User> users = new ArrayList<User>();
users.add(user);
when(userRepository.findAll()).thenReturn(users);
modelRepository.checkin(uploadResult.getHandleId(), "alex");
// hack coz it might take awhile until index is
Thread.sleep(2000);
// updated to do a search
assertEquals(1, modelRepository.search("*").size());
uploadResult = modelRepository.upload(IOUtils.toByteArray(new ClassPathResource("sample_models/sample.mapping").getInputStream()), "sample.mapping", "admin");
assertEquals(true, uploadResult.isValid());
modelRepository.checkin(uploadResult.getHandleId(), "alex");
assertEquals(1, modelRepository.search("-Mapping").size());
}
use of org.eclipse.vorto.repository.account.impl.User in project vorto by eclipse.
the class ModelRepositoryTest method testCheckinValidModel.
@Test
public void testCheckinValidModel() throws Exception {
UploadModelResult uploadResult = modelRepository.upload(IOUtils.toByteArray(new ClassPathResource("sample_models/Color.type").getInputStream()), "Color.type", "admin");
assertEquals(true, uploadResult.isValid());
assertEquals(0, modelRepository.search("*").size());
User user1 = new User();
user1.setUsername("alex");
user1.setHasWatchOnRepository(true);
User user2 = new User();
user2.setUsername("andi");
user2.setHasWatchOnRepository(false);
Collection<User> recipients = new ArrayList<User>();
recipients.add(user1);
recipients.add(user2);
when(userRepository.findAll()).thenReturn(recipients);
// verify(notificationService);
modelRepository.checkin(uploadResult.getHandleId(), user1.getUsername());
Thread.sleep(1000);
assertEquals(1, modelRepository.search("*").size());
}
Aggregations