annotate src/main/java/de/mpiwg/itgroup/ismi/entry/beans/AbstractBean.java @ 121:6f0e9a333c15

misidentification of witness mostly works now.
author casties
date Mon, 09 Jan 2017 20:37:29 +0100
parents e5d4443a1bc5
children df6ca03c4bf9
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.entry.beans;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.io.IOException;
jurzua
parents:
diff changeset
4 import java.io.Serializable;
jurzua
parents:
diff changeset
5 import java.text.DateFormat;
jurzua
parents:
diff changeset
6 import java.util.Date;
jurzua
parents:
diff changeset
7
jurzua
parents:
diff changeset
8 import javax.faces.context.ExternalContext;
jurzua
parents:
diff changeset
9 import javax.faces.context.FacesContext;
jurzua
parents:
diff changeset
10
jurzua
parents:
diff changeset
11 import org.apache.commons.lang.StringUtils;
jurzua
parents:
diff changeset
12 import org.mpi.openmind.cache.WrapperService;
jurzua
parents:
diff changeset
13
jurzua
parents:
diff changeset
14 public abstract class AbstractBean implements Serializable{
jurzua
parents:
diff changeset
15
jurzua
parents:
diff changeset
16 private static final long serialVersionUID = -8646299519985691771L;
94
d2cee1040062 new servlet lifecycle listener to shut down Spring ApplicationBean.
casties
parents: 82
diff changeset
17 public static String BEAN_APP = "ApplicationBean1";
d2cee1040062 new servlet lifecycle listener to shut down Spring ApplicationBean.
casties
parents: 82
diff changeset
18 public static String BEAN_SESSION = "Session";
1
jurzua
parents:
diff changeset
19
jurzua
parents:
diff changeset
20 public Object getRequestBean(String name){
jurzua
parents:
diff changeset
21 return FacesContext.getCurrentInstance().getExternalContext().getRequestMap().get(name);
jurzua
parents:
diff changeset
22 }
jurzua
parents:
diff changeset
23
jurzua
parents:
diff changeset
24 public Object getSessionBean(String name){
jurzua
parents:
diff changeset
25 return FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(name);
jurzua
parents:
diff changeset
26 }
jurzua
parents:
diff changeset
27
jurzua
parents:
diff changeset
28 public Object getApplicationBean(String name){
jurzua
parents:
diff changeset
29 return FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().get(name);
jurzua
parents:
diff changeset
30 }
jurzua
parents:
diff changeset
31
jurzua
parents:
diff changeset
32 public void addSessionBean(String name, Object bean){
jurzua
parents:
diff changeset
33 FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(name, bean);
jurzua
parents:
diff changeset
34 }
jurzua
parents:
diff changeset
35
jurzua
parents:
diff changeset
36 public ApplicationBean getAppBean(){
jurzua
parents:
diff changeset
37 ApplicationBean app = (ApplicationBean)getApplicationBean(BEAN_APP);
jurzua
parents:
diff changeset
38 if(app == null){
jurzua
parents:
diff changeset
39 app = new ApplicationBean();
jurzua
parents:
diff changeset
40 FacesContext.getCurrentInstance().getExternalContext().getApplicationMap().put(BEAN_APP, app);
jurzua
parents:
diff changeset
41 }
jurzua
parents:
diff changeset
42 return app;
jurzua
parents:
diff changeset
43 }
jurzua
parents:
diff changeset
44
jurzua
parents:
diff changeset
45 protected void printInternalError(Exception e){
jurzua
parents:
diff changeset
46 addErrorMsg("Internal Error, this action could not be executed correctly.");
82
c000b4b386bc better "internal error" message. fix NPE when codex has no identifier.
casties
parents: 1
diff changeset
47 addErrorMsg("Error:");
c000b4b386bc better "internal error" message. fix NPE when codex has no identifier.
casties
parents: 1
diff changeset
48 addErrorMsg(e.toString());
c000b4b386bc better "internal error" message. fix NPE when codex has no identifier.
casties
parents: 1
diff changeset
49 addErrorMsg(e.getStackTrace()[0].toString());
1
jurzua
parents:
diff changeset
50 addErrorMsg("Server time: " + DateFormat.getDateTimeInstance().format(new Date()));
82
c000b4b386bc better "internal error" message. fix NPE when codex has no identifier.
casties
parents: 1
diff changeset
51 addErrorMsg("Please inform support: casties@mpiwg-berlin.mpg.de");
1
jurzua
parents:
diff changeset
52 }
jurzua
parents:
diff changeset
53
jurzua
parents:
diff changeset
54 protected SessionBean getSessionBean() {
jurzua
parents:
diff changeset
55 SessionBean session =
jurzua
parents:
diff changeset
56 ((SessionBean)FacesContext.getCurrentInstance().getExternalContext().getSessionMap().get(BEAN_SESSION));
jurzua
parents:
diff changeset
57 if(session == null){
jurzua
parents:
diff changeset
58 session = new SessionBean();
jurzua
parents:
diff changeset
59 FacesContext.getCurrentInstance().getExternalContext().getSessionMap().put(BEAN_SESSION, session);
jurzua
parents:
diff changeset
60 }
jurzua
parents:
diff changeset
61 return session;
jurzua
parents:
diff changeset
62 }
jurzua
parents:
diff changeset
63
jurzua
parents:
diff changeset
64 public void addGeneralMsg(String msg){
110
e5d4443a1bc5 cleanuop: remove unused DM2E, ECHOViewer and Geonames classes.
casties
parents: 94
diff changeset
65 //System.out.println(msg);
1
jurzua
parents:
diff changeset
66 this.getSessionBean().addGeneralMsg(msg);
jurzua
parents:
diff changeset
67 }
jurzua
parents:
diff changeset
68
jurzua
parents:
diff changeset
69 public void addErrorMsg(String msg){
jurzua
parents:
diff changeset
70 this.getSessionBean().addErrorMsg(msg);
jurzua
parents:
diff changeset
71 }
jurzua
parents:
diff changeset
72
jurzua
parents:
diff changeset
73 public void addException(Exception e){
jurzua
parents:
diff changeset
74 this.getSessionBean().addErrorMsg("Internal error: " + e.getMessage());
jurzua
parents:
diff changeset
75 }
jurzua
parents:
diff changeset
76
jurzua
parents:
diff changeset
77 protected void redirect(String redirectPath, String parameters){
jurzua
parents:
diff changeset
78 FacesContext fc = FacesContext.getCurrentInstance();
jurzua
parents:
diff changeset
79 ExternalContext ec = fc.getExternalContext();
jurzua
parents:
diff changeset
80 String contextPath = ec.getRequestContextPath();
jurzua
parents:
diff changeset
81 if(StringUtils.isEmpty(redirectPath)){
jurzua
parents:
diff changeset
82 redirectPath = ec.getRequestServletPath();
jurzua
parents:
diff changeset
83 }
jurzua
parents:
diff changeset
84 try {
jurzua
parents:
diff changeset
85 //System.out.println(contextPath + redirectPath + parameters);
jurzua
parents:
diff changeset
86 ec.redirect(ec.encodeActionURL(contextPath + redirectPath + parameters));
jurzua
parents:
diff changeset
87
jurzua
parents:
diff changeset
88 //ec.redirect(contextPath + redirectPath + parameters);
jurzua
parents:
diff changeset
89 } catch (IOException e) {
jurzua
parents:
diff changeset
90 e.printStackTrace();
jurzua
parents:
diff changeset
91 }
jurzua
parents:
diff changeset
92 }
jurzua
parents:
diff changeset
93
jurzua
parents:
diff changeset
94 protected WrapperService getWrapper() {
jurzua
parents:
diff changeset
95 return getAppBean().getWrapper();
jurzua
parents:
diff changeset
96 }
jurzua
parents:
diff changeset
97 }