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/04/14 08:57:19 UTC

[myfaces] branch master updated: MYFACES-4394 Faces 4.0: re-add #{request} in CDI mode

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 cf10871  MYFACES-4394 Faces 4.0: re-add #{request} in CDI mode
cf10871 is described below

commit cf108715fbd016f647e952c4a8200cc22cfbda8f
Author: Thomas Andraschko <ta...@apache.org>
AuthorDate: Wed Apr 14 10:57:08 2021 +0200

    MYFACES-4394 Faces 4.0: re-add #{request} in CDI mode
---
 ...ArtifactHolder.java => FacesApplicationArtifactHolder.java} |  2 +-
 ...nsion.java => FacesApplicationArtifactHolderExtension.java} |  4 ++--
 ...tFlowMapProducer.java => FacesArtifactFlowMapProducer.java} |  4 ++--
 .../{JsfArtifactProducer.java => FacesArtifactProducer.java}   | 10 +++++++++-
 ...ducerExtension.java => FacesArtifactProducerExtension.java} |  8 ++++----
 .../myfaces/cdi/util/AbstractContextualStorageHolder.java      |  6 +++---
 .../META-INF/services/jakarta.enterprise.inject.spi.Extension  |  4 ++--
 7 files changed, 23 insertions(+), 15 deletions(-)

diff --git a/impl/src/main/java/org/apache/myfaces/cdi/JsfApplicationArtifactHolder.java b/impl/src/main/java/org/apache/myfaces/cdi/FacesApplicationArtifactHolder.java
similarity index 96%
rename from impl/src/main/java/org/apache/myfaces/cdi/JsfApplicationArtifactHolder.java
rename to impl/src/main/java/org/apache/myfaces/cdi/FacesApplicationArtifactHolder.java
index af32c7e..56c09aa 100644
--- a/impl/src/main/java/org/apache/myfaces/cdi/JsfApplicationArtifactHolder.java
+++ b/impl/src/main/java/org/apache/myfaces/cdi/FacesApplicationArtifactHolder.java
@@ -26,7 +26,7 @@ import jakarta.servlet.ServletContext;
  * used to ensure a valid FacesContext instance is passed when the bean is destroyed.
  */
 @ApplicationScoped
-public class JsfApplicationArtifactHolder
+public class FacesApplicationArtifactHolder
 {
     private ServletContext servletContext;
 
diff --git a/impl/src/main/java/org/apache/myfaces/cdi/JsfApplicationArtifactHolderExtension.java b/impl/src/main/java/org/apache/myfaces/cdi/FacesApplicationArtifactHolderExtension.java
similarity index 89%
rename from impl/src/main/java/org/apache/myfaces/cdi/JsfApplicationArtifactHolderExtension.java
rename to impl/src/main/java/org/apache/myfaces/cdi/FacesApplicationArtifactHolderExtension.java
index 5db5898..e9db6fb 100644
--- a/impl/src/main/java/org/apache/myfaces/cdi/JsfApplicationArtifactHolderExtension.java
+++ b/impl/src/main/java/org/apache/myfaces/cdi/FacesApplicationArtifactHolderExtension.java
@@ -24,12 +24,12 @@ import jakarta.enterprise.inject.spi.BeanManager;
 import jakarta.enterprise.inject.spi.BeforeBeanDiscovery;
 import jakarta.enterprise.inject.spi.Extension;
 
-public class JsfApplicationArtifactHolderExtension implements Extension
+public class FacesApplicationArtifactHolderExtension implements Extension
 {
     void beforeBeanDiscovery(@Observes BeforeBeanDiscovery event, BeanManager beanManager)
     {
         AnnotatedType jsfApplicationArtifactHolder =
-                beanManager.createAnnotatedType(JsfApplicationArtifactHolder.class);
+                beanManager.createAnnotatedType(FacesApplicationArtifactHolder.class);
         event.addAnnotatedType(jsfApplicationArtifactHolder, jsfApplicationArtifactHolder.getJavaClass().getName());
     }
 }
diff --git a/impl/src/main/java/org/apache/myfaces/cdi/JsfArtifactFlowMapProducer.java b/impl/src/main/java/org/apache/myfaces/cdi/FacesArtifactFlowMapProducer.java
similarity index 93%
rename from impl/src/main/java/org/apache/myfaces/cdi/JsfArtifactFlowMapProducer.java
rename to impl/src/main/java/org/apache/myfaces/cdi/FacesArtifactFlowMapProducer.java
index 4b6a423..46dcb85 100644
--- a/impl/src/main/java/org/apache/myfaces/cdi/JsfArtifactFlowMapProducer.java
+++ b/impl/src/main/java/org/apache/myfaces/cdi/FacesArtifactFlowMapProducer.java
@@ -30,14 +30,14 @@ import org.apache.myfaces.cdi.util.AbstractDynamicProducer;
 import org.apache.myfaces.cdi.util.ParameterizedTypeImpl;
 
 @ApplicationScoped
-public class JsfArtifactFlowMapProducer extends AbstractDynamicProducer
+public class FacesArtifactFlowMapProducer extends AbstractDynamicProducer
 {
     class FlowMapAnnotationLiteral extends AnnotationLiteral<FlowMap> implements FlowMap
     {
         private static final long serialVersionUID = -8623640277155878657L;
     }
     
-    public JsfArtifactFlowMapProducer(BeanManager beanManager)
+    public FacesArtifactFlowMapProducer(BeanManager beanManager)
     {
         super(beanManager);
         
diff --git a/impl/src/main/java/org/apache/myfaces/cdi/JsfArtifactProducer.java b/impl/src/main/java/org/apache/myfaces/cdi/FacesArtifactProducer.java
similarity index 97%
rename from impl/src/main/java/org/apache/myfaces/cdi/JsfArtifactProducer.java
rename to impl/src/main/java/org/apache/myfaces/cdi/FacesArtifactProducer.java
index 5f25cfa..bbfeffb 100644
--- a/impl/src/main/java/org/apache/myfaces/cdi/JsfArtifactProducer.java
+++ b/impl/src/main/java/org/apache/myfaces/cdi/FacesArtifactProducer.java
@@ -49,7 +49,7 @@ import org.apache.myfaces.flow.builder.FlowBuilderImpl;
 import org.apache.myfaces.push.cdi.PushContextImpl;
 
 @ApplicationScoped
-public class JsfArtifactProducer
+public class FacesArtifactProducer
 {
     @Produces
     @Named("application")
@@ -92,6 +92,14 @@ public class JsfArtifactProducer
     {
        return FacesContext.getCurrentInstance();
     }
+    
+    @Produces
+    @Named("request")
+    @FacesScoped 
+    public Object getRequest()
+    {
+       return FacesContext.getCurrentInstance().getExternalContext().getRequest();
+    }
 
     @Produces
     @Named("externalContext")
diff --git a/impl/src/main/java/org/apache/myfaces/cdi/JsfArtifactProducerExtension.java b/impl/src/main/java/org/apache/myfaces/cdi/FacesArtifactProducerExtension.java
similarity index 87%
rename from impl/src/main/java/org/apache/myfaces/cdi/JsfArtifactProducerExtension.java
rename to impl/src/main/java/org/apache/myfaces/cdi/FacesArtifactProducerExtension.java
index 8c23ec7..ca64339 100644
--- a/impl/src/main/java/org/apache/myfaces/cdi/JsfArtifactProducerExtension.java
+++ b/impl/src/main/java/org/apache/myfaces/cdi/FacesArtifactProducerExtension.java
@@ -27,7 +27,7 @@ import jakarta.enterprise.inject.spi.Extension;
 import jakarta.enterprise.inject.spi.ProcessAnnotatedType;
 import jakarta.faces.annotation.FacesConfig;
 
-public class JsfArtifactProducerExtension implements Extension
+public class FacesArtifactProducerExtension implements Extension
 {
     private boolean registerCdiProducers = false;
     
@@ -44,8 +44,8 @@ public class JsfArtifactProducerExtension implements Extension
     {        
         if (registerCdiProducers)
         {
-            AnnotatedType<JsfArtifactProducer> jsfArtifactProducer =
-                            beanManager.createAnnotatedType(JsfArtifactProducer.class);
+            AnnotatedType<FacesArtifactProducer> jsfArtifactProducer =
+                            beanManager.createAnnotatedType(FacesArtifactProducer.class);
             event.addAnnotatedType(jsfArtifactProducer, jsfArtifactProducer.getJavaClass().getName());
         }
     }
@@ -54,7 +54,7 @@ public class JsfArtifactProducerExtension implements Extension
     {
         if (registerCdiProducers)
         {
-            afterBeanDiscovery.addBean(new JsfArtifactFlowMapProducer(beanManager));
+            afterBeanDiscovery.addBean(new FacesArtifactFlowMapProducer(beanManager));
         }
     }
 
diff --git a/impl/src/main/java/org/apache/myfaces/cdi/util/AbstractContextualStorageHolder.java b/impl/src/main/java/org/apache/myfaces/cdi/util/AbstractContextualStorageHolder.java
index 4e8f006..9a749a8 100644
--- a/impl/src/main/java/org/apache/myfaces/cdi/util/AbstractContextualStorageHolder.java
+++ b/impl/src/main/java/org/apache/myfaces/cdi/util/AbstractContextualStorageHolder.java
@@ -30,7 +30,7 @@ import jakarta.servlet.ServletContext;
 import java.io.Serializable;
 import java.util.Map;
 import java.util.concurrent.ConcurrentHashMap;
-import org.apache.myfaces.cdi.JsfApplicationArtifactHolder;
+import org.apache.myfaces.cdi.FacesApplicationArtifactHolder;
 import org.apache.myfaces.context.ExceptionHandlerImpl;
 import org.apache.myfaces.context.servlet.StartupFacesContextImpl;
 import org.apache.myfaces.context.servlet.StartupServletExternalContextImpl;
@@ -38,7 +38,7 @@ import org.apache.myfaces.context.servlet.StartupServletExternalContextImpl;
 public abstract class AbstractContextualStorageHolder<T extends ContextualStorage> implements Serializable
 {
     @Inject
-    protected JsfApplicationArtifactHolder applicationContextBean;
+    protected FacesApplicationArtifactHolder applicationContextBean;
     
     @Inject
     protected BeanManager beanManager;
@@ -59,7 +59,7 @@ public abstract class AbstractContextualStorageHolder<T extends ContextualStorag
         Object context = facesContext.getExternalContext().getContext();
         if (context instanceof ServletContext)
         {
-            JsfApplicationArtifactHolder appBean = CDIUtils.get(beanManager, JsfApplicationArtifactHolder.class);
+            FacesApplicationArtifactHolder appBean = CDIUtils.get(beanManager, FacesApplicationArtifactHolder.class);
             if (appBean.getServletContext() != null)
             {
                 appBean.setServletContext((ServletContext) context);
diff --git a/impl/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension b/impl/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
index b8ef9c3..c3859db 100644
--- a/impl/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
+++ b/impl/src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.Extension
@@ -1,6 +1,6 @@
 org.apache.myfaces.cdi.FacesScopeExtension
-org.apache.myfaces.cdi.JsfArtifactProducerExtension
-org.apache.myfaces.cdi.JsfApplicationArtifactHolderExtension
+org.apache.myfaces.cdi.FacesArtifactProducerExtension
+org.apache.myfaces.cdi.FacesApplicationArtifactHolderExtension
 org.apache.myfaces.cdi.config.FacesConfigExtension
 org.apache.myfaces.cdi.managedproperty.ManagedPropertyExtension
 org.apache.myfaces.cdi.model.FacesDataModelExtension