package restore;
import javax.enterprise.inject.Produces;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.inject.Named;
import javax.servlet.http.HttpSession;
public class SessionIdFactory {
@Produces
public FacesContext context(){
return FacesContext.getCurrentInstance();
}
@Produces
@Named("sessionId")
public SessionId sessionId(FacesContext context) {
ExternalContext externalContext = context.getExternalContext();
HttpSession session = (HttpSession) externalContext.getSession(false);
if( null == session) {
return new SessionId("no session");
}
return new SessionId(session.getId());
}
}