diff src/main/java/de/mpiwg/indexmeta/web/beans/AbstractBean.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
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/main/java/de/mpiwg/indexmeta/web/beans/AbstractBean.java	Fri Apr 12 17:48:42 2013 +0200
@@ -0,0 +1,69 @@
+package de.mpiwg.indexmeta.web.beans;
+
+
+import javax.faces.context.ExternalContext;
+import javax.faces.context.FacesContext;
+
+import org.apache.commons.lang.StringUtils;
+
+public abstract class AbstractBean {
+	
+	public static String BEAN_APP = "appBean";
+	public static String BEAN_SESSION = "sessionBean";
+	
+	private String requestContextPath = null;
+	
+	public AbstractBean(){
+	}
+	
+	public String getContextPath(){
+		FacesContext fc = FacesContext.getCurrentInstance();
+		ExternalContext ec = fc.getExternalContext();
+		return ec.getRequestContextPath();
+	}
+	
+	public String getRequestContextPath(){
+		if(StringUtils.isEmpty(requestContextPath)){
+			String root = FacesContext.getCurrentInstance().getExternalContext().getRequestContextPath();
+			String[] s = root.split(";");	
+			requestContextPath = s[0];
+		}
+		return requestContextPath;
+	}
+	
+	public ApplicationBean getAppBean(){
+		ApplicationBean appBean = 
+			((ApplicationBean)FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().get(BEAN_APP));
+		
+		if(appBean == null){
+			appBean = new ApplicationBean();
+			FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().put(BEAN_APP, appBean);
+		}
+		
+		return appBean; 
+	}
+	
+	protected SessionBean getSession(){
+		SessionBean session = 
+			((SessionBean)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(BEAN_SESSION));
+		
+		if(session == null){
+			session = new SessionBean();
+			FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(BEAN_SESSION, session);
+		}
+		
+		return session;
+	}
+	
+	protected Object getRequestBean(String name){
+		return FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get(name);
+	}
+	
+	protected void addMsg(String msg){
+		getSession().addMsg(msg);
+	}
+	
+	protected void addError(String error){
+		getSession().addError(error);
+	}
+}