diff src/main/java/de/mpiwg/indexmeta/web/servlet/AbstractServlet.java @ 7:bc57f2660b0f

implementation of web service
author Jorge Urzua <jurzua@mpiwg-berlin.mpg.de>
date Fri, 12 Apr 2013 17:48:42 +0200
parents
children 9ce7979fd037
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/mpiwg/indexmeta/web/servlet/AbstractServlet.java	Fri Apr 12 17:48:42 2013 +0200
@@ -0,0 +1,46 @@
+package de.mpiwg.indexmeta.web.servlet;
+
+import javax.faces.FactoryFinder;
+import javax.faces.context.FacesContext;
+import javax.faces.context.FacesContextFactory;
+import javax.faces.lifecycle.Lifecycle;
+import javax.faces.lifecycle.LifecycleFactory;
+import javax.servlet.ServletContext;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import de.mpiwg.indexmeta.web.beans.AbstractBean;
+import de.mpiwg.indexmeta.web.beans.ApplicationBean;
+
+
+public class AbstractServlet extends HttpServlet {
+	private static final long serialVersionUID = 1L;
+	
+	public static String METHOD = "mt";
+	public static String getCtxFromDB = "getCtxFromDB";
+	
+	public ApplicationBean getAppBean(HttpServletRequest request, HttpServletResponse response) {
+		ApplicationBean appBean = (ApplicationBean)getApplicationBean(request, response, AbstractBean.BEAN_APP);
+		
+		
+		if(appBean == null){
+			appBean = new ApplicationBean();
+			getFacesContext(request, response).getCurrentInstance().getExternalContext().getApplicationMap().put(AbstractBean.BEAN_APP, appBean);			
+		}
+		return appBean; 
+	}
+	
+	public Object getApplicationBean(HttpServletRequest request, HttpServletResponse response, String bean) {
+		return getFacesContext(request, response).getExternalContext().getApplicationMap().get(bean);
+	}
+
+	
+	public FacesContext getFacesContext(HttpServletRequest request, HttpServletResponse response) { 
+		ServletContext servletContext = ((HttpServletRequest)request).getSession().getServletContext(); 
+		FacesContextFactory contextFactory = (FacesContextFactory) FactoryFinder.getFactory(FactoryFinder.FACES_CONTEXT_FACTORY); 
+		LifecycleFactory lifecycleFactory = (LifecycleFactory)FactoryFinder.getFactory(FactoryFinder.LIFECYCLE_FACTORY); 
+		Lifecycle lifecycle = lifecycleFactory.getLifecycle(LifecycleFactory.DEFAULT_LIFECYCLE); 
+		return contextFactory.getFacesContext(servletContext, request, response, lifecycle);
+	}
+}