Mercurial > hg > LGServer
view src/main/java/de/mpiwg/web/jsf/PhaseTracker.java @ 0:7682c04c63a8
First commit of the source code!
author | "jurzua <jurzua@mpiwg-berlin.mpg.de>" |
---|---|
date | Tue, 10 Mar 2015 14:50:41 +0100 |
parents | |
children |
line wrap: on
line source
package de.mpiwg.web.jsf; import java.util.Map; import javax.faces.context.FacesContext; import javax.faces.event.ActionEvent; import javax.faces.event.PhaseEvent; import javax.faces.event.PhaseId; import javax.faces.event.PhaseListener; import org.apache.commons.lang.StringUtils; import de.mpiwg.web.SessionBean; public class PhaseTracker implements PhaseListener { private static final long serialVersionUID = 312014196782070515L; @Override public void beforePhase(PhaseEvent event) { Map<String, String> params = event.getFacesContext().getExternalContext().getRequestParameterMap(); String servletPath = event.getFacesContext().getExternalContext().getRequestServletPath(); if(StringUtils.isNotEmpty(servletPath) && event.getPhaseId() == PhaseId.RESTORE_VIEW){ if(servletPath.equals("/home/mainPage.xhtml")){ SessionBean session = getSessionBean(event.getFacesContext()); if(session != null){ session.reloadBranches(); } }else if(servletPath.equals("/home/branchEditor.xhtml") && true){ String branchId = params.get("branchId"); SessionBean session = getSessionBean(event.getFacesContext()); if(StringUtils.isNotEmpty(branchId) && session != null){ try { Long id = Long.parseLong(branchId); session.getBranchEditor().loadBranch(id); } catch (Exception e) { e.printStackTrace(); } } }else if(servletPath.equals("/home/createNewFile.xhtml")){ /* SessionBean session = getSessionBean(event.getFacesContext()); session.getFileCreator().reset(); */ } } } private SessionBean getSessionBean(FacesContext context){ SessionBean bean = (SessionBean)context.getExternalContext().getSessionMap().get(SessionBean.BEAN_NAME); if(bean == null){ bean = new SessionBean(); context.getExternalContext().getSessionMap().put(SessionBean.BEAN_NAME, bean); } return bean; } @Override public void afterPhase(PhaseEvent event) { } @Override public PhaseId getPhaseId() { return PhaseId.ANY_PHASE; } }