You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by ta...@apache.org on 2021/05/17 09:09:06 UTC

[myfaces] branch master updated: fixed ViewTransientScoped destruction

This is an automated email from the ASF dual-hosted git repository.

tandraschko pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/myfaces.git


The following commit(s) were added to refs/heads/master by this push:
     new e66c9d6  fixed ViewTransientScoped destruction
e66c9d6 is described below

commit e66c9d650e356ec2ec8e9566a973b414bdcb71b2
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Mon May 17 11:08:57 2021 +0200

    fixed ViewTransientScoped destruction
---
 impl/src/main/java/org/apache/myfaces/cdi/view/ViewScopeCDIMap.java    | 2 --
 .../main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java | 2 ++
 .../java/org/apache/myfaces/context/servlet/FacesContextImplBase.java  | 3 +++
 3 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/impl/src/main/java/org/apache/myfaces/cdi/view/ViewScopeCDIMap.java b/impl/src/main/java/org/apache/myfaces/cdi/view/ViewScopeCDIMap.java
index d821c05..e50eb23 100644
--- a/impl/src/main/java/org/apache/myfaces/cdi/view/ViewScopeCDIMap.java
+++ b/impl/src/main/java/org/apache/myfaces/cdi/view/ViewScopeCDIMap.java
@@ -145,8 +145,6 @@ public class ViewScopeCDIMap implements Map<String, Object>
         // the bean holder.
         FacesContext facesContext = FacesContext.getCurrentInstance();
         ViewScopeContext.destroyAll(facesContext, viewScopeId);
-
-        ViewTransientScopeContext.destroyAll(facesContext);
     }
 
     @Override
diff --git a/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java b/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
index a2b4ddf..46f7674 100755
--- a/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImpl.java
@@ -42,6 +42,7 @@ import jakarta.servlet.ServletContext;
 import jakarta.servlet.ServletRequest;
 import jakarta.servlet.ServletResponse;
 import org.apache.myfaces.cdi.FacesScopeContext;
+import org.apache.myfaces.cdi.view.ViewTransientScopeContext;
 
 import org.apache.myfaces.util.ExternalSpecifications;
 import org.apache.myfaces.context.ReleasableFacesContextFactory;
@@ -137,6 +138,7 @@ public class FacesContextImpl extends FacesContextImplBase
         assertNotReleased();
         if (ExternalSpecifications.isCDIAvailable(getExternalContext()))
         {
+            ViewTransientScopeContext.destroyAll(this);
             FacesScopeContext.destroyAll(this);
         }
 
diff --git a/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImplBase.java b/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImplBase.java
index c1c8698..9d55b64 100644
--- a/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImplBase.java
+++ b/impl/src/main/java/org/apache/myfaces/context/servlet/FacesContextImplBase.java
@@ -37,6 +37,7 @@ import jakarta.faces.context.ExternalContext;
 import jakarta.faces.context.FacesContext;
 import jakarta.faces.render.RenderKit;
 import jakarta.faces.render.RenderKitFactory;
+import org.apache.myfaces.cdi.view.ViewTransientScopeContext;
 
 import org.apache.myfaces.el.FacesELContext;
 import org.apache.myfaces.core.api.shared.lang.Assert;
@@ -286,6 +287,8 @@ public abstract class FacesContextImplBase extends FacesContext
 
         Assert.notNull(viewRoot, "viewRoot");
         
+        ViewTransientScopeContext.destroyAll(this);
+        
         // If the current UIViewRoot is non-null, and calling equals() on the argument root,
         // passing the current UIViewRoot returns false
         // the clear method must be called on the Map returned from UIViewRoot.getViewMap().