Mercurial > hg > LGServer
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 |
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 } |