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 2020/10/30 14:51:27 UTC

[myfaces] branch master updated: Jakarta Faces 4.0 - Spec Issue #1498 - Add ExternalContext#release method

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 1c27e95  Jakarta Faces 4.0 - Spec Issue #1498 - Add ExternalContext#release method
1c27e95 is described below

commit 1c27e95cb4658fecd133d35888b46ac52a604718
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Fri Oct 30 15:51:21 2020 +0100

    Jakarta Faces 4.0 - Spec Issue #1498 - Add ExternalContext#release method
---
 api/src/main/java/jakarta/faces/context/ExternalContext.java     | 2 +-
 .../main/java/jakarta/faces/context/ExternalContextWrapper.java  | 9 +++++++++
 .../org/apache/myfaces/context/servlet/FacesContextImpl.java     | 2 +-
 .../org/apache/myfaces/context/servlet/FacesContextImplBase.java | 4 ++++
 .../myfaces/context/servlet/ServletExternalContextImpl.java      | 3 +++
 5 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/api/src/main/java/jakarta/faces/context/ExternalContext.java b/api/src/main/java/jakarta/faces/context/ExternalContext.java
index 067557f..4997fbd 100755
--- a/api/src/main/java/jakarta/faces/context/ExternalContext.java
+++ b/api/src/main/java/jakarta/faces/context/ExternalContext.java
@@ -806,7 +806,7 @@ public abstract class ExternalContext
     public abstract String encodeWebsocketURL(String url);
 
     /**
-     * @since 2.3-next
+     * @since 4.0
      */
     public abstract void release(); 
 }
diff --git a/api/src/main/java/jakarta/faces/context/ExternalContextWrapper.java b/api/src/main/java/jakarta/faces/context/ExternalContextWrapper.java
index 934ad94..61a4ba1 100644
--- a/api/src/main/java/jakarta/faces/context/ExternalContextWrapper.java
+++ b/api/src/main/java/jakarta/faces/context/ExternalContextWrapper.java
@@ -514,4 +514,13 @@ public abstract class ExternalContextWrapper extends ExternalContext implements
     {
         return getWrapped().encodeWebsocketURL(url);
     }
+
+    /**
+     * @since 4.0
+     */
+    @Override
+    public void release()
+    {
+        getWrapped().release();
+    }
 }
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 e2c3909..47a25e0 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
@@ -151,7 +151,7 @@ public class FacesContextImpl extends FacesContextImplBase
             _facesContextFactory.release();
             _facesContextFactory = null;
         }
-
+        
         // release FacesContextImplBase (sets current instance to null)
         super.release();
     }
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 658eef9..b19cccf 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
@@ -120,6 +120,10 @@ public abstract class FacesContextImplBase extends FacesContext
         }
         
         _application = null;
+        if (_externalContext != null)
+        {
+            _externalContext.release();
+        }
         _externalContext = null;
         _viewRoot = null;
         _renderKitFactory = null;
diff --git a/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java b/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
index fdce9bc..d88a0c4 100755
--- a/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
+++ b/impl/src/main/java/org/apache/myfaces/context/servlet/ServletExternalContextImpl.java
@@ -138,6 +138,9 @@ public final class ServletExternalContextImpl extends ServletExternalContextImpl
         _flashFactory = flashFactory;
     }
 
+    /**
+     * @since 4.0
+     */
     @Override
     public void release()
     {