Remove HttpSession dependency in UserService phase 1 complete

This commit is contained in:
Sankaranarayanan Viswanathan
2014-10-09 20:53:38 -04:00
parent 54cc265ee6
commit 326ee79c8c
3 changed files with 57 additions and 15 deletions

View File

@@ -60,17 +60,6 @@ public class UserService {
return Optional.absent();
}
/**
* try to log in with given credentials and create a session for the user
*/
public Optional<User> login(String nameOrEmail, String password, HttpSession sessionToFill) {
Optional<User> user = login(nameOrEmail, password);
if (user.isPresent()) {
sessionToFill.setAttribute(UserREST.SESSION_KEY_USER, user.get());
}
return user;
}
/**
* try to log in by checking if the user has an active session
*/

View File

@@ -226,8 +226,9 @@ public class UserREST {
@ApiOperation(value = "Register a new account")
public Response register(@Valid @ApiParam(required = true) RegistrationRequest req, @Session HttpSession session) {
try {
userService.register(req.getName(), req.getPassword(), req.getEmail(), Arrays.asList(Role.USER));
userService.login(req.getName(), req.getPassword(), session);
User registeredUser = userService.register(req.getName(), req.getPassword(), req.getEmail(), Arrays.asList(Role.USER));
userService.login(req.getName(), req.getPassword());
session.setAttribute(SESSION_KEY_USER, registeredUser);
return Response.ok().build();
} catch (final IllegalArgumentException e) {
return Response.status(422).entity(new ValidationErrorMessage(Collections.<ConstraintViolation<?>> emptySet()) {