package org.littlewings.hazelcast.rest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import javax.ws.rs.GET;
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;
@Path("session")
public class SessionResource {
@GET
@Path("put/{name}")
@Produces(MediaType.APPLICATION_JSON)
public User put(@PathParam("name") String name, @QueryParam("age") int age, @Context HttpServletRequest request) {
User user = new User(name, age);
request.getSession().setAttribute(name, user);
return user;
}
@GET
@Path("update/{name}")
@Produces(MediaType.APPLICATION_JSON)
public User update(@PathParam("name") String name, @QueryParam("age") int age, @Context HttpServletRequest request) {
User user = (User) request.getSession().getAttribute(name);
user.age = age;
return user;
}
@GET
@Path("get/{name}")
@Produces(MediaType.APPLICATION_JSON)
public User get(@PathParam("name") String name, @Context HttpServletRequest request) {
HttpSession session = request.getSession();
return (User) session.getAttribute(name);
}
}