package service.rest; import gamification.ExecuteAction; import javax.servlet.http.HttpServletRequest; import javax.ws.rs.GET; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.PathParam; import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.Context; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; import javax.ws.rs.core.Response.Status; import persistency.entities.LoggedUser; import persistency.entities.Session; import persistency.exposed.LoggedUserExposed; import persistency.exposed.SessionExposedBasic; @Path("book/session") public class BookSessionResource { @POST public Response bookSession(@Context HttpServletRequest request, @QueryParam("id") String sessionId, @QueryParam("isSelected") Boolean isSelectedString){ if (sessionId == null || isSelectedString == null) { return Response.status(Status.BAD_REQUEST).build(); } LoggedUserExposed pe = new LoggedUserExposed(); LoggedUser person = pe.getCurrentUser(request); if (person == null) { return Response.status(Status.BAD_REQUEST).build(); } boolean bin0 = isSelectedString; SessionExposedBasic ee = new SessionExposedBasic(); Session session = ee.findSessionById(sessionId); if (session == null) { return Response.status(Status.BAD_REQUEST).build(); } if (bin0) { if (!person.getSessions().contains(session)) { person.addToAgenda(session); } } else { person.getSessions().remove(session); } pe.updateEntity(person); ExecuteAction.getInstance().execute("prepare", person, null); return Response.status(Status.OK).build(); } @GET @Produces({ MediaType.TEXT_HTML }) public Response getSession(@Context HttpServletRequest request, @PathParam("sessionId") String sessionId){ LoggedUserExposed pe = new LoggedUserExposed(); LoggedUser person = pe.getCurrentUser(request); if (person == null) { return Response.status(Status.BAD_REQUEST).build(); } if (sessionId == null) { return Response.status(Status.BAD_REQUEST).build(); } SessionExposedBasic ee = new SessionExposedBasic(); Session session = ee.findSessionById(sessionId); if (session == null) { return Response.status(Status.BAD_REQUEST).build(); } boolean isSelected = person.getSessions().contains(session); return Response.ok().entity(isSelected + "").build(); } }