Commit 267885c5a7bb794c86dea042d003106d9c1b3879
1 parent
da970e93
Exists in
master
Ajuste na Serialização do SecurityObserver
Showing
1 changed file
with
13 additions
and
5 deletions
Show diff stats
impl/extension/jsf/src/main/java/br/gov/frameworkdemoiselle/internal/implementation/SecurityObserver.java
... | ... | @@ -64,7 +64,7 @@ public class SecurityObserver implements Serializable { |
64 | 64 | @Inject |
65 | 65 | private JsfSecurityConfig config; |
66 | 66 | |
67 | - private Map<String, Object> savedParams = new HashMap<String, Object>(); | |
67 | + private Map<String, Object> savedParams; | |
68 | 68 | |
69 | 69 | private String savedViewId; |
70 | 70 | |
... | ... | @@ -74,13 +74,21 @@ public class SecurityObserver implements Serializable { |
74 | 74 | public SecurityObserver() { |
75 | 75 | clear(); |
76 | 76 | } |
77 | + | |
78 | + private Map<String, Object> getSavedParams(){ | |
79 | + if(this.savedParams == null) { | |
80 | + this.savedParams = new HashMap<String, Object>(); | |
81 | + } | |
82 | + | |
83 | + return this.savedParams; | |
84 | + } | |
77 | 85 | |
78 | 86 | private void saveCurrentState() { |
79 | 87 | clear(); |
80 | 88 | FacesContext facesContext = Beans.getReference(FacesContext.class); |
81 | 89 | |
82 | 90 | if (!config.getLoginPage().equals(facesContext.getViewRoot().getViewId())) { |
83 | - savedParams.putAll(facesContext.getExternalContext().getRequestParameterMap()); | |
91 | + getSavedParams().putAll(facesContext.getExternalContext().getRequestParameterMap()); | |
84 | 92 | savedViewId = facesContext.getViewRoot().getViewId(); |
85 | 93 | } |
86 | 94 | } |
... | ... | @@ -106,11 +114,11 @@ public class SecurityObserver implements Serializable { |
106 | 114 | |
107 | 115 | try { |
108 | 116 | if (savedViewId != null) { |
109 | - Redirector.redirect(savedViewId, savedParams); | |
117 | + Redirector.redirect(savedViewId, getSavedParams()); | |
110 | 118 | |
111 | 119 | } else if (config.isRedirectEnabled()) { |
112 | 120 | redirectedFromConfig = true; |
113 | - Redirector.redirect(config.getRedirectAfterLogin(), savedParams); | |
121 | + Redirector.redirect(config.getRedirectAfterLogin(), getSavedParams()); | |
114 | 122 | } |
115 | 123 | |
116 | 124 | } catch (PageNotFoundException cause) { |
... | ... | @@ -155,6 +163,6 @@ public class SecurityObserver implements Serializable { |
155 | 163 | |
156 | 164 | private void clear() { |
157 | 165 | savedViewId = null; |
158 | - savedParams.clear(); | |
166 | + getSavedParams().clear(); | |
159 | 167 | } |
160 | 168 | } | ... | ... |