package service.rest; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import persistency.entities.LoggedUser; import persistency.exposed.LoggedUserExposed; import utils.Constants; import utils.LoginUtils; import com.google.gson.Gson; @Path("user") @Produces({ MediaType.APPLICATION_JSON }) public class LoggedUserREST { private Gson g; public LoggedUserREST() { g = new Gson(); } @GET public Response getCurrentLoggedUser(@Context HttpServletRequest request) { LoggedUserExposed lue = new LoggedUserExposed(); LoggedUser currentUser = lue.getCurrentUser(request); LoggedUserJson result = new LoggedUserJson(); result.isLogged = false; String cookieValue = LoginUtils.findCookieValue(request, Constants.COOKIE_PROVIDER_KEY); result.hasCookie = cookieValue != null && cookieValue.trim().length() > 0; if(currentUser != null){ result.isLogged = true; if(currentUser.getName().indexOf(" ") != -1){ result.name = currentUser.getName().substring(0, currentUser.getName().indexOf(" ")); } else { result.name = currentUser.getName(); } } return Response.status(Response.Status.OK) .entity(g.toJson(result)).build(); } private class LoggedUserJson { private boolean isLogged; private String name; private boolean hasCookie; } }