diff --git a/trunk/AnaliseAcidentesTrabalho/nbproject/faces-config.NavData b/trunk/AnaliseAcidentesTrabalho/nbproject/faces-config.NavData index c783bf39..7560b1b0 100644 --- a/trunk/AnaliseAcidentesTrabalho/nbproject/faces-config.NavData +++ b/trunk/AnaliseAcidentesTrabalho/nbproject/faces-config.NavData @@ -10,20 +10,20 @@ - + - + - + diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Acesso.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Acesso.java index 2bda6140..fa2f3f92 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Acesso.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Acesso.java @@ -108,13 +108,6 @@ public class Acesso extends AbstractPageBean { // Perform application initialization that must complete // *after* managed components are initialized // TODO - add your own initialization code here - if (!getSessionBean1().isLoggedIn()) { - try { - getExternalContext().redirect("Login.jsp"); - } catch(Exception e) { - // . . . handle exception . . . - } - } } /** @@ -214,7 +207,7 @@ public class Acesso extends AbstractPageBean { FacesContext fc = getFacesContext(); try { - JSFUtils.logout( fc ); + JSFUtils.logout( fc, false ); } catch(Exception ex) { diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/AnaliseAcidenteTrabalho.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/AnaliseAcidenteTrabalho.java index 9b45f4e0..d8b2e3e4 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/AnaliseAcidenteTrabalho.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/AnaliseAcidenteTrabalho.java @@ -6931,27 +6931,9 @@ public class AnaliseAcidenteTrabalho extends AbstractPageBean { public String lnkLogout_action() { - // TODO: Replace with your code getSessionBean1().setIeBug( true ); - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession( true ); - session.invalidate(); - Utils.doLogout(); - } - catch ( Exception ex ) - { - } + Utils.doLogout( getExternalContext(), true ); - try - { - getExternalContext().redirect("Login.jsp"); - } - catch( Exception e ) - { - } - //return "login"; return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ConfirmarDesactivar.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ConfirmarDesactivar.java index 70fcfe4f..b407d299 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ConfirmarDesactivar.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ConfirmarDesactivar.java @@ -245,18 +245,8 @@ public class ConfirmarDesactivar extends AbstractPageBean public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = ( javax.servlet.http.HttpSession ) getExternalContext().getSession( true ); - session.invalidate(); - Utils.doLogout(); + Utils.doLogout( getExternalContext(), true ); - getExternalContext().redirect( "Login.jsp" ); - } - catch( Exception ex ) - { - - } return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Dummy.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Dummy.java index 63582973..199b84af 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Dummy.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Dummy.java @@ -299,9 +299,9 @@ public class Dummy extends AbstractPageBean { return null; } - public String lnkLogout_action() { - // TODO: Replace with your code - Utils.doLogout(); + public String lnkLogout_action() + { + Utils.doLogout( getExternalContext(), false ); return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/EnviarCorrecao.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/EnviarCorrecao.java index 09759096..69807beb 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/EnviarCorrecao.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/EnviarCorrecao.java @@ -483,26 +483,7 @@ public class EnviarCorrecao extends AbstractPageBean { public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch ( Exception ex ) - { - - } - - try - { - getExternalContext().redirect( "Login.jsp" ); - } - catch ( Exception e ) - { - } - //return "login"; + Utils.doLogout( getExternalContext(), true ); return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/EstatisticasProcesso.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/EstatisticasProcesso.java index 7c52dbd3..a2d5979f 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/EstatisticasProcesso.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/EstatisticasProcesso.java @@ -382,18 +382,8 @@ public class EstatisticasProcesso extends AbstractPageBean public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = ( javax.servlet.http.HttpSession ) getExternalContext().getSession( true ); - session.invalidate(); - Utils.doLogout(); - - getExternalContext().redirect( "Login.jsp" ); - } - catch( Exception ex ) - { + Utils.doLogout( getExternalContext(), true ); - } return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FichaUtilizador.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FichaUtilizador.java index 9ff89e93..d624220a 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FichaUtilizador.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FichaUtilizador.java @@ -973,27 +973,8 @@ public class FichaUtilizador extends AbstractPageBean { public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch ( Exception ex ) - { + Utils.doLogout( getExternalContext(), true ); - } - - try - { - getExternalContext().redirect( "Login.jsp" ); - } - catch ( Exception e ) - { - ErrorLogger.logException( e ); - } - //return "login"; return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormDirGerRh.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormDirGerRh.java index a486daa7..6a1962d0 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormDirGerRh.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormDirGerRh.java @@ -1092,27 +1092,7 @@ public class FormDirGerRh extends AbstractPageBean { public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch(Exception ex) - { - ErrorLogger.logException( ex ); - } - - try - { - getExternalContext().redirect("Login.jsp"); - } - catch(Exception e) - { - ErrorLogger.logException( e ); - } - //return "login"; + Utils.doLogout( getExternalContext(), true ); return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormDirSiprp.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormDirSiprp.java index b8378f7e..1912b308 100755 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormDirSiprp.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormDirSiprp.java @@ -989,18 +989,6 @@ public class FormDirSiprp extends AbstractPageBean { log("FormDirSiprp Initialization Failure", e); throw e instanceof FacesException ? (FacesException) e: new FacesException(e); } - - if ( ! getSessionBean1().isLoggedIn() ) - { - try - { - getExternalContext().redirect( "Login.jsp" ); - } - catch ( Exception e ) - { - // . . . handle exception . . . - } - } } @Override @@ -1106,27 +1094,7 @@ public class FormDirSiprp extends AbstractPageBean { public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch(Exception ex) - { - ErrorLogger.logException( ex ); - } - - try - { - getExternalContext().redirect("Login.jsp"); - } - catch(Exception e) - { - ErrorLogger.logException( e ); - } - //return "login"; + Utils.doLogout( getExternalContext(), true ); return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormGestor.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormGestor.java index 349d0d19..1a2e57aa 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormGestor.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormGestor.java @@ -1160,27 +1160,7 @@ public class FormGestor extends AbstractPageBean { public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch(Exception ex) - { - ErrorLogger.logException( ex ); - } - - try - { - getExternalContext().redirect("Login.jsp"); - } - catch(Exception e) - { - ErrorLogger.logException( e ); - } - //return "login"; + Utils.doLogout( getExternalContext(), true ); return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormHS.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormHS.java index f425a639..7a07fa7f 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormHS.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormHS.java @@ -1412,27 +1412,7 @@ public class FormHS extends AbstractPageBean { public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch(Exception ex) - { - ErrorLogger.logException( ex ); - } - - try - { - getExternalContext().redirect("Login.jsp"); - } - catch(Exception e) - { - ErrorLogger.logException( e ); - } - //return "login"; + Utils.doLogout( getExternalContext(), true ); return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormMedico.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormMedico.java index d0919023..30198e28 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormMedico.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormMedico.java @@ -1329,17 +1329,7 @@ public class FormMedico extends AbstractPageBean { public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch(Exception ex) - { - ErrorLogger.logException( ex ); - } + Utils.doLogout( getExternalContext(), false ); return "login"; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormRH.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormRH.java index 0d3097a6..cb4f8221 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormRH.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormRH.java @@ -1383,27 +1383,7 @@ public class FormRH extends AbstractPageBean { public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch ( Exception ex ) - { - ErrorLogger.logException( ex ); - } - - try - { - getExternalContext().redirect( "Login.jsp" ); - } - catch ( Exception e ) - { - ErrorLogger.logException( e ); - } - //return "login"; + Utils.doLogout( getExternalContext(), true ); return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormSeguranca.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormSeguranca.java index af1ea404..8e792cee 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormSeguranca.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/FormSeguranca.java @@ -1524,27 +1524,7 @@ public class FormSeguranca extends AbstractPageBean { public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch(Exception ex) - { - ErrorLogger.logException( ex ); - } - - try - { - getExternalContext().redirect("Login.jsp"); - } - catch(Exception e) - { - ErrorLogger.logException( e ); - } - //return "login"; + Utils.doLogout( getExternalContext(), true ); return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/GestaoUtilizadores.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/GestaoUtilizadores.java index 82741d0d..201bcbe4 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/GestaoUtilizadores.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/GestaoUtilizadores.java @@ -892,20 +892,7 @@ public class GestaoUtilizadores extends AbstractPageBean { public String lnkLogout_action() { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession( true ); - session.invalidate(); - Utils.doLogout(); - - try - { - getExternalContext().redirect( "Login.jsp" ); - } - catch ( Exception e ) - { - ErrorLogger.logException( e ); - } - //return "login"; + Utils.doLogout( getExternalContext(), true ); return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Header.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Header.java index b6d95797..c76d8289 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Header.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Header.java @@ -124,7 +124,7 @@ public class Header extends AbstractFragmentBean { public String lnkLogout_action() { - Utils.doLogout(); + Utils.doLogout( getExternalContext(), false ); return null; } } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/LoadImage.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/LoadImage.java index 14c215bb..b94b260a 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/LoadImage.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/LoadImage.java @@ -335,7 +335,7 @@ public class LoadImage extends AbstractPageBean { public String lnkLogout_action() { - Utils.doLogout(); + Utils.doLogout( getExternalContext(), false ); return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Login.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Login.java index 3bb4b02a..443adca4 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Login.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/Login.java @@ -29,6 +29,9 @@ import java.util.Calendar; import java.util.GregorianCalendar; import javax.faces.FacesException; import javax.faces.component.html.HtmlPanelGrid; +import javax.faces.context.ExternalContext; +import javax.servlet.ServletContext; +import javax.servlet.http.HttpSession; import utils.Utils; /** @@ -369,7 +372,11 @@ public class Login extends AbstractPageBean { { //if(u.getOwner_id().intValue() == 0 ) - Utils.doLogin( u ); + Utils.doLogin( getExternalContext(), u ); + + + + //Login Ok ! // if(u.getPrimeiro_login().matches("y") || mustChangePassword(u)) diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/NovoUtilizador.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/NovoUtilizador.java index b497ad77..21b18716 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/NovoUtilizador.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/NovoUtilizador.java @@ -1193,29 +1193,8 @@ public class NovoUtilizador extends AbstractPageBean { public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch ( Exception ex ) - { - - } - - try - { - getExternalContext().redirect( "Login.jsp" ); - } - catch ( Exception e ) - { - - } - //return "login"; + Utils.doLogout( getExternalContext(), true ); return null; - } public void drpTipo_processValueChange(ValueChangeEvent event) { diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/UtilizadorFields.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/UtilizadorFields.java index 583e87c3..604f3613 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/UtilizadorFields.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/UtilizadorFields.java @@ -906,25 +906,8 @@ public class UtilizadorFields extends AbstractPageBean { public String lnkLogout_action() { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch(Exception ex) - { - ErrorLogger.logException( ex ); - } - try - { - getExternalContext().redirect("Login.jsp"); - } - catch(Exception e) - { - ErrorLogger.logException( e ); - } + Utils.doLogout( getExternalContext(), true ); + return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ViewAnaliseAcidenteTrabalho.java b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ViewAnaliseAcidenteTrabalho.java index a77c0c2d..09966a3a 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ViewAnaliseAcidenteTrabalho.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/analiseacidentestrabalho/ViewAnaliseAcidenteTrabalho.java @@ -2323,28 +2323,7 @@ public class ViewAnaliseAcidenteTrabalho extends AbstractPageBean { public String lnkLogout_action() { - if ( getSessionBean1().isLoggedIn() ) - { - try - { - javax.servlet.http.HttpSession session = - (javax.servlet.http.HttpSession) getExternalContext().getSession(true); - session.invalidate(); - Utils.doLogout(); - } - catch ( Exception ex ) - { - } - } - - try - { - getExternalContext().redirect( "Login.jsp" ); - } - catch ( Exception e ) - { - } - //return "login"; + Utils.doLogout( getExternalContext(), true ); return null; } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/global/Global.java b/trunk/AnaliseAcidentesTrabalho/src/java/global/Global.java index 93b43101..b8787a82 100755 --- a/trunk/AnaliseAcidentesTrabalho/src/java/global/Global.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/global/Global.java @@ -181,25 +181,5 @@ public class Global { } } } - - -// public static void redirectToPlanos( FacesContext fc, Utilizador currentUser ) -// { -// String curUser = "?user=" + currentUser.getId().toString(); -// String estab = ""; -// if ( currentUser.getTipo().intValue() == Global.TIPO_UTILIZADOR_GESTOR ) -// { -// estab = "&estab_gestor=" + currentUser.getEstabelecimento_gestor().intValue(); -// } -// fc = fc.getCurrentInstance(); -// try -// { -// JSFUtils.redirect(fc, Global.PLANOS_ACTUACAO_URL + curUser + estab); -// } -// catch(Exception ex) -// { -// ErrorLogger.logException( ex ); -// } -// } } diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/phaselistener/MainPhaseListener.java b/trunk/AnaliseAcidentesTrabalho/src/java/phaselistener/MainPhaseListener.java index 9bcd4de9..9113762f 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/phaselistener/MainPhaseListener.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/phaselistener/MainPhaseListener.java @@ -60,14 +60,13 @@ public class MainPhaseListener implements PhaseListener HttpServletRequest req = ( HttpServletRequest ) fc.getExternalContext().getRequest(); boolean sessionValid = req.isRequestedSessionIdValid(); - System.out.println( "\tSessionValid : " + sessionValid ); UIViewRoot view = fc.getViewRoot(); - System.out.println( "\tView : " + view ); String viewID = view.getViewId(); - System.out.println( "\t\tView ID :" + viewID ); + System.out.println( "\tView ID :" + viewID ); boolean loggedIn = session.isLoggedIn(); + System.out.println( "\tSessionValid : " + sessionValid ); System.out.println( "\tLogged In : " + loggedIn ); if ( sessionValid && loggedIn ) diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/phaselistener/SessionListener.java b/trunk/AnaliseAcidentesTrabalho/src/java/phaselistener/SessionListener.java new file mode 100644 index 00000000..2ae59746 --- /dev/null +++ b/trunk/AnaliseAcidentesTrabalho/src/java/phaselistener/SessionListener.java @@ -0,0 +1,33 @@ +/* + * To change this template, choose Tools | Templates + * and open the template in the editor. + */ + +package phaselistener; + +import javax.servlet.http.HttpSession; +import javax.servlet.http.HttpSessionEvent; +import javax.servlet.http.HttpSessionListener; + +/** + * + * @author dneves + */ +public class SessionListener implements HttpSessionListener +{ + + @Override + public void sessionCreated( HttpSessionEvent se ) + { + HttpSession session = se.getSession(); + System.out.println( "AnaliseAcidentesTrabalho : new Session Created : " + session.getId() ); + } + + @Override + public void sessionDestroyed( HttpSessionEvent se ) + { + HttpSession session = se.getSession(); + System.out.println( "AnaliseAcidentesTrabalho : session destroyed : " + session.getId() ); + } + +} diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/utils/JSFUtils.java b/trunk/AnaliseAcidentesTrabalho/src/java/utils/JSFUtils.java index 37e5e7d6..5ff04781 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/utils/JSFUtils.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/utils/JSFUtils.java @@ -14,7 +14,6 @@ import javax.faces.context.FacesContext; import javax.servlet.RequestDispatcher; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; -import javax.servlet.http.HttpSession; /** * @@ -89,12 +88,10 @@ public class JSFUtils { // return false; // } - public static void logout(FacesContext fc) throws Exception + public static void logout(FacesContext fc, boolean redirect ) throws Exception { ExternalContext ectx = fc.getCurrentInstance().getExternalContext(); - HttpSession session = (HttpSession) ectx.getSession(false); - session.invalidate(); - Utils.doLogout(); + Utils.doLogout( ectx, redirect ); } public static void navigateTo(FacesContext fc, String outcome) diff --git a/trunk/AnaliseAcidentesTrabalho/src/java/utils/Utils.java b/trunk/AnaliseAcidentesTrabalho/src/java/utils/Utils.java index 43d4dbd4..6e1f8eb3 100644 --- a/trunk/AnaliseAcidentesTrabalho/src/java/utils/Utils.java +++ b/trunk/AnaliseAcidentesTrabalho/src/java/utils/Utils.java @@ -12,10 +12,16 @@ package utils; import beans.Utilizador; import com.evolute.utils.Singleton; import com.evolute.utils.error.ErrorLogger; +import java.io.IOException; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; +import java.util.HashMap; +import java.util.Map; +import javax.faces.context.ExternalContext; +import javax.servlet.ServletContext; +import javax.servlet.http.HttpSession; /** * @@ -386,11 +392,21 @@ public class Utils { } - public static void doLogin( Utilizador u ) + public static void doLogin( ExternalContext ec, Utilizador u ) { if ( u != null ) { Singleton.setInstance( Singleton.USERNAME, u.getLogin() ); + + HttpSession session = ( HttpSession ) ec.getSession( true ); + ServletContext thisContext = session.getServletContext().getContext( "/AnaliseAcidentesTrabalho" ); + + Map< String, Object > mapData = new HashMap< String, Object >(); + mapData.put( "sessionID", session.getId() ); + mapData.put( "userID", u.getId() ); + mapData.put( "session", session ); + + thisContext.setAttribute( session.getId(), mapData ); } else { @@ -398,9 +414,38 @@ public class Utils { } } - public static void doLogout() + public static void doLogout( ExternalContext ec, boolean redirect ) { Singleton.setInstance( Singleton.USERNAME, null ); + + HttpSession session = ( HttpSession ) ec.getSession( true ); + String sessionID = session.getId(); + + ServletContext aatContext = session.getServletContext().getContext( "/AnaliseAcidentesTrabalho" ); + ServletContext paContext = aatContext.getContext( "/PlanosActuacao" ); + + aatContext.removeAttribute( sessionID ); + + Map< String, Object > mapData = ( Map< String, Object > ) paContext.getAttribute( sessionID ); + if ( mapData != null ) + { + HttpSession paSession = ( HttpSession ) mapData.get( "session" ); + paSession.invalidate(); + } + paContext.removeAttribute( sessionID ); + session.invalidate(); + + if ( redirect ) + { + try + { + ec.redirect( "Login.jsp" ); + } + catch ( IOException ex ) + { + ErrorLogger.logException( ex ); + } + } } } diff --git a/trunk/AnaliseAcidentesTrabalho/web/WEB-INF/web.xml b/trunk/AnaliseAcidentesTrabalho/web/WEB-INF/web.xml index 8213007a..a2cda8d9 100644 --- a/trunk/AnaliseAcidentesTrabalho/web/WEB-INF/web.xml +++ b/trunk/AnaliseAcidentesTrabalho/web/WEB-INF/web.xml @@ -103,9 +103,9 @@ - +