From 267885c5a7bb794c86dea042d003106d9c1b3879 Mon Sep 17 00:00:00 2001 From: Ednara Oliveira Date: Tue, 25 Sep 2012 17:05:36 -0300 Subject: [PATCH] Ajuste na Serialização do SecurityObserver --- impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityObserver.java | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityObserver.java b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityObserver.java index 420d547..4ad61e6 100644 --- a/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityObserver.java +++ b/impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityObserver.java @@ -64,7 +64,7 @@ public class SecurityObserver implements Serializable { @Inject private JsfSecurityConfig config; - private Map savedParams = new HashMap(); + private Map savedParams; private String savedViewId; @@ -74,13 +74,21 @@ public class SecurityObserver implements Serializable { public SecurityObserver() { clear(); } + + private Map getSavedParams(){ + if(this.savedParams == null) { + this.savedParams = new HashMap(); + } + + return this.savedParams; + } private void saveCurrentState() { clear(); FacesContext facesContext = Beans.getReference(FacesContext.class); if (!config.getLoginPage().equals(facesContext.getViewRoot().getViewId())) { - savedParams.putAll(facesContext.getExternalContext().getRequestParameterMap()); + getSavedParams().putAll(facesContext.getExternalContext().getRequestParameterMap()); savedViewId = facesContext.getViewRoot().getViewId(); } } @@ -106,11 +114,11 @@ public class SecurityObserver implements Serializable { try { if (savedViewId != null) { - Redirector.redirect(savedViewId, savedParams); + Redirector.redirect(savedViewId, getSavedParams()); } else if (config.isRedirectEnabled()) { redirectedFromConfig = true; - Redirector.redirect(config.getRedirectAfterLogin(), savedParams); + Redirector.redirect(config.getRedirectAfterLogin(), getSavedParams()); } } catch (PageNotFoundException cause) { @@ -155,6 +163,6 @@ public class SecurityObserver implements Serializable { private void clear() { savedViewId = null; - savedParams.clear(); + getSavedParams().clear(); } } -- libgit2 0.21.2