Commit 267885c5a7bb794c86dea042d003106d9c1b3879

Authored by Ednara Oliveira
1 parent da970e93
Exists in master

Ajuste na Serialização do SecurityObserver

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 }
... ...