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()
{