You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@deltaspike.apache.org by ta...@apache.org on 2014/03/03 19:11:33 UTC

git commit: DELTASPIKE-532 DeltaSpikeFacesContextFactory construction issue in non EE

Repository: deltaspike
Updated Branches:
  refs/heads/master e5160ee16 -> f24f10b3f


DELTASPIKE-532 DeltaSpikeFacesContextFactory construction issue in non EE 

Project: http://git-wip-us.apache.org/repos/asf/deltaspike/repo
Commit: http://git-wip-us.apache.org/repos/asf/deltaspike/commit/f24f10b3
Tree: http://git-wip-us.apache.org/repos/asf/deltaspike/tree/f24f10b3
Diff: http://git-wip-us.apache.org/repos/asf/deltaspike/diff/f24f10b3

Branch: refs/heads/master
Commit: f24f10b3ff19a1d8eb9c421b9ec0ec3e8fbe60c1
Parents: e5160ee
Author: tandraschko <ta...@apache.org>
Authored: Mon Mar 3 19:11:24 2014 +0100
Committer: tandraschko <ta...@apache.org>
Committed: Mon Mar 3 19:11:24 2014 +0100

----------------------------------------------------------------------
 .../request/DeltaSpikeFacesContextFactory.java  | 28 +++++++++++++++++---
 1 file changed, 25 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/f24f10b3/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/listener/request/DeltaSpikeFacesContextFactory.java
----------------------------------------------------------------------
diff --git a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/listener/request/DeltaSpikeFacesContextFactory.java b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/listener/request/DeltaSpikeFacesContextFactory.java
index 8295c5d..dafe21a 100644
--- a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/listener/request/DeltaSpikeFacesContextFactory.java
+++ b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/listener/request/DeltaSpikeFacesContextFactory.java
@@ -32,8 +32,10 @@ public class DeltaSpikeFacesContextFactory extends FacesContextFactory implement
     private final FacesContextFactory wrappedFacesContextFactory;
 
     private final boolean deactivated;
-
-    private final ClientWindow clientWindow;
+    
+    private volatile Boolean initialized;
+    
+    private ClientWindow clientWindow;
 
     /**
      * Constructor for wrapping the given {@link FacesContextFactory}
@@ -44,7 +46,6 @@ public class DeltaSpikeFacesContextFactory extends FacesContextFactory implement
     {
         this.wrappedFacesContextFactory = wrappedFacesContextFactory;
         this.deactivated = !ClassDeactivationUtils.isActivated(getClass());
-        this.clientWindow = BeanProvider.getContextualReference(ClientWindow.class, true);
     }
 
     /**
@@ -66,6 +67,8 @@ public class DeltaSpikeFacesContextFactory extends FacesContextFactory implement
             return facesContext;
         }
 
+        lazyInit();
+        
         return new DeltaSpikeFacesContextWrapper(facesContext, clientWindow);
     }
 
@@ -77,4 +80,23 @@ public class DeltaSpikeFacesContextFactory extends FacesContextFactory implement
     {
         return wrappedFacesContextFactory;
     }
+    
+    private void lazyInit()
+    {
+        if (this.initialized == null)
+        {
+            init();
+        }
+    }
+
+    private synchronized void init()
+    {
+        // switch into paranoia mode
+        if (this.initialized == null)
+        {
+            this.clientWindow = BeanProvider.getContextualReference(ClientWindow.class, true);
+            
+            this.initialized = true;
+        }
+    }
 }
\ No newline at end of file