annotate src/main/java/de/mpiwg/web/jsf/PhaseTracker.java @ 5:5316e79f9a27

Implementation of search pagination and lazy loading to display the result set of a search.
author "jurzua <jurzua@mpiwg-berlin.mpg.de>"
date Mon, 16 Mar 2015 11:25:36 +0100
parents 7682c04c63a8
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
1 package de.mpiwg.web.jsf;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
2
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
3 import java.util.Map;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
4
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
5 import javax.faces.context.FacesContext;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
6 import javax.faces.event.ActionEvent;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
7 import javax.faces.event.PhaseEvent;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
8 import javax.faces.event.PhaseId;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
9 import javax.faces.event.PhaseListener;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
10
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
11 import org.apache.commons.lang.StringUtils;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
12
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
13 import de.mpiwg.web.SessionBean;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
14
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
15 public class PhaseTracker implements PhaseListener {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
16
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
17 private static final long serialVersionUID = 312014196782070515L;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
18
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
19 @Override
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
20 public void beforePhase(PhaseEvent event) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
21
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
22 Map<String, String> params = event.getFacesContext().getExternalContext().getRequestParameterMap();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
23 String servletPath = event.getFacesContext().getExternalContext().getRequestServletPath();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
24
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
25 if(StringUtils.isNotEmpty(servletPath) && event.getPhaseId() == PhaseId.RESTORE_VIEW){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
26
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
27 if(servletPath.equals("/home/mainPage.xhtml")){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
28 SessionBean session = getSessionBean(event.getFacesContext());
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
29 if(session != null){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
30 session.reloadBranches();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
31 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
32 }else if(servletPath.equals("/home/branchEditor.xhtml") && true){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
33 String branchId = params.get("branchId");
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
34 SessionBean session = getSessionBean(event.getFacesContext());
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
35 if(StringUtils.isNotEmpty(branchId) && session != null){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
36 try {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
37 Long id = Long.parseLong(branchId);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
38 session.getBranchEditor().loadBranch(id);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
39 } catch (Exception e) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
40 e.printStackTrace();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
41 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
42 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
43 }else if(servletPath.equals("/home/createNewFile.xhtml")){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
44 /*
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
45 SessionBean session = getSessionBean(event.getFacesContext());
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
46 session.getFileCreator().reset();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
47 */
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
48 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
49
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
50 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
51 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
52 private SessionBean getSessionBean(FacesContext context){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
53 SessionBean bean = (SessionBean)context.getExternalContext().getSessionMap().get(SessionBean.BEAN_NAME);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
54 if(bean == null){
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
55 bean = new SessionBean();
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
56 context.getExternalContext().getSessionMap().put(SessionBean.BEAN_NAME, bean);
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
57 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
58 return bean;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
59 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
60
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
61 @Override
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
62 public void afterPhase(PhaseEvent event) {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
63
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
64 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
65
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
66 @Override
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
67 public PhaseId getPhaseId() {
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
68 return PhaseId.ANY_PHASE;
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
69 }
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
70
7682c04c63a8 First commit of the source code!
"jurzua <jurzua@mpiwg-berlin.mpg.de>"
parents:
diff changeset
71 }