package com.gtdev.web.service.gae;
import javax.servlet.http.HttpServletRequest;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import com.google.appengine.api.users.UserService;
import com.google.appengine.api.users.UserServiceFactory;
import com.gtdev.web.store.User;
/** @author Gregory Tardivel */
@Component
@Scope("singleton")
public final class UtilisateurService {
/** TRUE si Unity est utilisé en local. */
private final static boolean LOCALUNITY = true;
/** Service de gestion des utilisateurs. */
private final static UserService USERSERVICE = UserServiceFactory
.getUserService();
public User getUser() {
User user = null;
if (LOCALUNITY) {
user = new User();
user.setEmail("gregory.tardivel-test@gmail.com");
} else if (this.isLogged()) {
user = new User(USERSERVICE.getCurrentUser());
}
return user;
}
/** @return true si l'utilisateur est connecté */
public boolean isLogged() {
return USERSERVICE.isUserLoggedIn() || LOCALUNITY;
}
/** @param request Requete HTTP
* @return URL de connexion */
public String getLoginURL(final HttpServletRequest request) {
return USERSERVICE.createLoginURL(request.getRequestURI());
}
/** @param request Requete HTTP
* @return URL de déconnexion */
public String getLogoutURL(final HttpServletRequest request) {
return USERSERVICE.createLogoutURL(request.getRequestURI());
}
}