annotate src/main/java/de/mpiwg/itgroup/ismi/jsf/PhaseTracker.java @ 216:93d33f138c9e default tip

update medeniyet image server URL.
author casties
date Wed, 26 Jan 2022 16:39:32 +0100
parents e5d4443a1bc5
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1
jurzua
parents:
diff changeset
1 package de.mpiwg.itgroup.ismi.jsf;
jurzua
parents:
diff changeset
2
jurzua
parents:
diff changeset
3 import java.util.Map;
jurzua
parents:
diff changeset
4
jurzua
parents:
diff changeset
5 import javax.faces.context.FacesContext;
jurzua
parents:
diff changeset
6 import javax.faces.event.PhaseEvent;
jurzua
parents:
diff changeset
7 import javax.faces.event.PhaseId;
jurzua
parents:
diff changeset
8 import javax.faces.event.PhaseListener;
jurzua
parents:
diff changeset
9 import javax.servlet.http.HttpServletResponse;
jurzua
parents:
diff changeset
10 import javax.servlet.http.HttpServletResponseWrapper;
jurzua
parents:
diff changeset
11
jurzua
parents:
diff changeset
12 import org.apache.commons.lang.StringUtils;
jurzua
parents:
diff changeset
13
jurzua
parents:
diff changeset
14 import de.mpiwg.itgroup.ismi.entry.beans.SessionBean;
jurzua
parents:
diff changeset
15
jurzua
parents:
diff changeset
16 public class PhaseTracker implements PhaseListener {
jurzua
parents:
diff changeset
17
jurzua
parents:
diff changeset
18 private static final long serialVersionUID = -1L;
jurzua
parents:
diff changeset
19
jurzua
parents:
diff changeset
20 public void beforePhase(PhaseEvent event) {
jurzua
parents:
diff changeset
21
jurzua
parents:
diff changeset
22 Map<String, String> parameters = event.getFacesContext().getExternalContext().getRequestParameterMap();
jurzua
parents:
diff changeset
23
jurzua
parents:
diff changeset
24 String servletPath = event.getFacesContext().getExternalContext().getRequestServletPath();
jurzua
parents:
diff changeset
25
jurzua
parents:
diff changeset
26 if(StringUtils.isNotEmpty(servletPath) && event.getPhaseId() == PhaseId.RESTORE_VIEW){
jurzua
parents:
diff changeset
27
jurzua
parents:
diff changeset
28 if(StringUtils.endsWith(parameters.get("login"), "true")){
jurzua
parents:
diff changeset
29 getSessionBean(event.getFacesContext()).listenerDisplayLoginDialog(null);
jurzua
parents:
diff changeset
30 }
jurzua
parents:
diff changeset
31
jurzua
parents:
diff changeset
32 if(servletPath.equals("/browse/entityDetails.xhtml")){
jurzua
parents:
diff changeset
33 String entityId = parameters.get("eid");
jurzua
parents:
diff changeset
34 if(StringUtils.isNotEmpty(entityId)){
jurzua
parents:
diff changeset
35 setIdToEntityDetails(event.getFacesContext(), entityId);
jurzua
parents:
diff changeset
36 }
jurzua
parents:
diff changeset
37 } else if(servletPath.equals("/browse/entityRepository.xhtml")){
jurzua
parents:
diff changeset
38 //setEntityRepositoryState(parameters, event.getFacesContext());
jurzua
parents:
diff changeset
39
jurzua
parents:
diff changeset
40 } else if(servletPath.equals("/search/simpleSearch.xhtml")){
jurzua
parents:
diff changeset
41 //String term = parameters.get("term");
jurzua
parents:
diff changeset
42 //String mode = parameters.get("md");
jurzua
parents:
diff changeset
43 //getSessionBean(event.getFacesContext()).setSimpleSearchState(term, mode);
jurzua
parents:
diff changeset
44 } else if(servletPath.equals("/search/displayAuthor.xhtml")){
jurzua
parents:
diff changeset
45 String personId = parameters.get("personId");
jurzua
parents:
diff changeset
46 String textId = parameters.get("textId");
jurzua
parents:
diff changeset
47 String witnessId = parameters.get("witnessId");
jurzua
parents:
diff changeset
48
jurzua
parents:
diff changeset
49 if(StringUtils.isNotEmpty(personId)){
jurzua
parents:
diff changeset
50 getSessionBean(event.getFacesContext()).displayAuthorSetPerson(personId);
jurzua
parents:
diff changeset
51 if(StringUtils.isNotEmpty(textId)){
jurzua
parents:
diff changeset
52 getSessionBean(event.getFacesContext()).displayAuthorSetTitle(textId);
jurzua
parents:
diff changeset
53 if(StringUtils.isNotEmpty(witnessId)){
jurzua
parents:
diff changeset
54 getSessionBean(event.getFacesContext()).displayAuthorSetWitness(witnessId);
jurzua
parents:
diff changeset
55 }
jurzua
parents:
diff changeset
56 }
jurzua
parents:
diff changeset
57 }else if(StringUtils.isNotEmpty(textId)){
jurzua
parents:
diff changeset
58 getSessionBean(event.getFacesContext()).displayAuthorFromTitles(textId);
jurzua
parents:
diff changeset
59 if(StringUtils.isNotEmpty(witnessId)){
jurzua
parents:
diff changeset
60 getSessionBean(event.getFacesContext()).displayAuthorSetWitness(witnessId);
jurzua
parents:
diff changeset
61 }
jurzua
parents:
diff changeset
62 }else if(StringUtils.isNotEmpty(witnessId)){
jurzua
parents:
diff changeset
63 getSessionBean(event.getFacesContext()).displayAuthorFromWitness(witnessId);
jurzua
parents:
diff changeset
64 }
jurzua
parents:
diff changeset
65
jurzua
parents:
diff changeset
66
jurzua
parents:
diff changeset
67 }else if(servletPath.equals("/search/displayTitle.xhtml")){
jurzua
parents:
diff changeset
68 String textId = parameters.get("textId");
jurzua
parents:
diff changeset
69 String witnessId = parameters.get("witnessId");
jurzua
parents:
diff changeset
70 if(StringUtils.isNotEmpty(textId)){
jurzua
parents:
diff changeset
71 getSessionBean(event.getFacesContext()).displayTitleSetTitle(textId);
jurzua
parents:
diff changeset
72 if(StringUtils.isNotEmpty(witnessId)){
jurzua
parents:
diff changeset
73 getSessionBean(event.getFacesContext()).displayTitleSetWitness(witnessId);
jurzua
parents:
diff changeset
74 }
jurzua
parents:
diff changeset
75 }else if(StringUtils.isNotEmpty(witnessId)){
jurzua
parents:
diff changeset
76 getSessionBean(event.getFacesContext()).displayTitleFromWitness(witnessId);
jurzua
parents:
diff changeset
77 }
jurzua
parents:
diff changeset
78 }else if(servletPath.equals("/entry/createEntity.xhtml")){
jurzua
parents:
diff changeset
79 String entityId = parameters.get("eid");
jurzua
parents:
diff changeset
80 String formIndex = parameters.get("formIndex");
jurzua
parents:
diff changeset
81 if(StringUtils.isEmpty(entityId) && StringUtils.isNotEmpty(formIndex)){
jurzua
parents:
diff changeset
82 //set tabIndex
jurzua
parents:
diff changeset
83 getSessionBean(event.getFacesContext()).setSelectedTab(formIndex);
jurzua
parents:
diff changeset
84 }else if(StringUtils.isNotEmpty(entityId) && !entityId.equals("0")){
jurzua
parents:
diff changeset
85 //set entity to edit
jurzua
parents:
diff changeset
86 getSessionBean(event.getFacesContext()).editEntity(entityId);
jurzua
parents:
diff changeset
87 }
jurzua
parents:
diff changeset
88 }else if(servletPath.equals("/public/dynamicPage.xhtml")){
jurzua
parents:
diff changeset
89 String entId = parameters.get("eid");
jurzua
parents:
diff changeset
90 if(StringUtils.isNotEmpty(entId)){
jurzua
parents:
diff changeset
91 getSessionBean(event.getFacesContext()).getDynamicPage().load(entId);
jurzua
parents:
diff changeset
92 }
jurzua
parents:
diff changeset
93
jurzua
parents:
diff changeset
94 }else if(servletPath.equals("/public/publicCodexOverview.xhtml")){
jurzua
parents:
diff changeset
95 String entId = parameters.get("eid");
jurzua
parents:
diff changeset
96 if(StringUtils.isNotEmpty(entId)){
jurzua
parents:
diff changeset
97 getSessionBean(event.getFacesContext()).getPublicCodexView().load(entId);
jurzua
parents:
diff changeset
98 }
jurzua
parents:
diff changeset
99
jurzua
parents:
diff changeset
100 }
jurzua
parents:
diff changeset
101 }
jurzua
parents:
diff changeset
102 }
jurzua
parents:
diff changeset
103
jurzua
parents:
diff changeset
104
jurzua
parents:
diff changeset
105 private SessionBean getSessionBean(FacesContext context){
jurzua
parents:
diff changeset
106 SessionBean bean = (SessionBean)context.getExternalContext().getSessionMap().get("Session");
jurzua
parents:
diff changeset
107 if(bean == null){
jurzua
parents:
diff changeset
108 bean = new SessionBean();
jurzua
parents:
diff changeset
109 context.getExternalContext().getSessionMap().put("Session", bean);
jurzua
parents:
diff changeset
110 }
jurzua
parents:
diff changeset
111 return bean;
jurzua
parents:
diff changeset
112 }
jurzua
parents:
diff changeset
113
jurzua
parents:
diff changeset
114 private void setIdToEntityDetails(FacesContext context, String id){
jurzua
parents:
diff changeset
115 getSessionBean(context).setIdEntityDetails(id);
jurzua
parents:
diff changeset
116 }
jurzua
parents:
diff changeset
117
jurzua
parents:
diff changeset
118
jurzua
parents:
diff changeset
119
jurzua
parents:
diff changeset
120
jurzua
parents:
diff changeset
121 public void afterPhase(PhaseEvent event) {
jurzua
parents:
diff changeset
122 }
jurzua
parents:
diff changeset
123
jurzua
parents:
diff changeset
124 public PhaseId getPhaseId() {
jurzua
parents:
diff changeset
125 return PhaseId.ANY_PHASE;
jurzua
parents:
diff changeset
126 }
jurzua
parents:
diff changeset
127
jurzua
parents:
diff changeset
128
jurzua
parents:
diff changeset
129 class PrettyUrlResponseWrapper extends HttpServletResponseWrapper {
jurzua
parents:
diff changeset
130 public PrettyUrlResponseWrapper(HttpServletResponse response) {
jurzua
parents:
diff changeset
131 super(response);
jurzua
parents:
diff changeset
132 }
jurzua
parents:
diff changeset
133 }
jurzua
parents:
diff changeset
134 }