1
|
1 package de.mpiwg.itgroup.diva.rest;
|
|
2
|
|
3 import javax.faces.FactoryFinder;
|
|
4 import javax.faces.context.FacesContext;
|
|
5 import javax.faces.context.FacesContextFactory;
|
|
6 import javax.faces.lifecycle.Lifecycle;
|
|
7 import javax.faces.lifecycle.LifecycleFactory;
|
|
8 import javax.servlet.ServletContext;
|
|
9 import javax.servlet.http.HttpServletRequest;
|
|
10 import javax.servlet.http.HttpServletResponse;
|
|
11
|
|
12 import org.mpi.openmind.cache.WrapperService;
|
|
13
|
|
14 import de.mpiwg.itgroup.ismi.entry.beans.ApplicationBean;
|
|
15 import de.mpiwg.itgroup.ismi.entry.beans.SessionBean;
|
|
16
|
|
17 public abstract class RestInterface {
|
|
18
|
|
19 public static String APP_BEAN = "ApplicationBean1";
|
|
20 public static String SESSION_BEAN = "Session";
|
|
21
|
|
22
|
|
23 protected boolean userCanEdit(HttpServletRequest request, HttpServletResponse response){
|
|
24 SessionBean session = getSessionBean(request, response);
|
|
25 return session.isCanEdit();
|
|
26
|
|
27 }
|
|
28
|
|
29 public SessionBean getSessionBean(HttpServletRequest request,
|
|
30 HttpServletResponse response){
|
|
31 return (SessionBean)getSessionBean(SESSION_BEAN, request, response);
|
|
32 }
|
|
33
|
|
34 public WrapperService getWrapper(HttpServletRequest request,
|
|
35 HttpServletResponse response){
|
|
36 return getAppBean(request, response).getWrapper();
|
|
37 }
|
|
38
|
|
39 public ApplicationBean getAppBean(HttpServletRequest request, HttpServletResponse response) {
|
|
40 ApplicationBean appBean = (ApplicationBean)getApplicationBean(APP_BEAN, request, response);
|
|
41
|
|
42 if(appBean == null){
|
|
43 appBean = new ApplicationBean();
|
|
44 getFacesContext(request, response).getCurrentInstance().getExternalContext().getApplicationMap().put(APP_BEAN, appBean);
|
|
45 }
|
|
46 return appBean;
|
|
47 }
|
|
48
|
|
49 private Object getApplicationBean(String bean, HttpServletRequest request,
|
|
50 HttpServletResponse response) {
|
|
51 return getFacesContext(request, response).getExternalContext().getApplicationMap().get(bean);
|
|
52 }
|
|
53
|
|
54 private Object getSessionBean(String bean, HttpServletRequest request, HttpServletResponse response) {
|
|
55 return getFacesContext(request, response).getExternalContext().getSessionMap().get(bean);
|
|
56 }
|
|
57
|
|
58
|
|
59 public FacesContext getFacesContext(HttpServletRequest request,
|
|
60 HttpServletResponse response) {
|
|
61 ServletContext servletContext = ((HttpServletRequest) request)
|
|
62 .getSession().getServletContext();
|
|
63 FacesContextFactory contextFactory = (FacesContextFactory) FactoryFinder
|
|
64 .getFactory(FactoryFinder.FACES_CONTEXT_FACTORY);
|
|
65 LifecycleFactory lifecycleFactory = (LifecycleFactory) FactoryFinder
|
|
66 .getFactory(FactoryFinder.LIFECYCLE_FACTORY);
|
|
67 Lifecycle lifecycle = lifecycleFactory
|
|
68 .getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE);
|
|
69 return contextFactory.getFacesContext(servletContext, request,
|
|
70 response, lifecycle);
|
|
71 }
|
|
72
|
|
73 }
|