Repository: deltaspike
Updated Branches:
  refs/heads/master c4353b11e -> 10478c8e8


DELTASPIKE-529 fixed initialization in non-EE environment

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

Branch: refs/heads/master
Commit: 10478c8e8ffff4cec8b27dd37e3ebe2dd37ed4f9
Parents: c4353b1
Author: tandraschko <[email protected]>
Authored: Wed Feb 26 19:02:19 2014 +0100
Committer: tandraschko <[email protected]>
Committed: Wed Feb 26 19:02:19 2014 +0100

----------------------------------------------------------------------
 .../exception/DeltaSpikeExceptionHandler.java    | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/10478c8e/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/exception/DeltaSpikeExceptionHandler.java
----------------------------------------------------------------------
diff --git 
a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/exception/DeltaSpikeExceptionHandler.java
 
b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/exception/DeltaSpikeExceptionHandler.java
index f1b03f3..3dbb878 100644
--- 
a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/exception/DeltaSpikeExceptionHandler.java
+++ 
b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/exception/DeltaSpikeExceptionHandler.java
@@ -37,16 +37,16 @@ import org.apache.deltaspike.jsf.api.config.JsfModuleConfig;
 public class DeltaSpikeExceptionHandler extends ExceptionHandlerWrapper 
implements Deactivatable
 {
     private final ExceptionHandler wrapped;
-    private final Annotation exceptionQualifier;
 
+    private volatile Boolean initialized;
+    
+    private Annotation exceptionQualifier;
     private boolean isActivated = true;
 
     public DeltaSpikeExceptionHandler(ExceptionHandler wrapped)
     {
         this.isActivated = ClassDeactivationUtils.isActivated(getClass());
         this.wrapped = wrapped;
-        this.exceptionQualifier = AnnotationInstanceProvider.of(
-                
BeanProvider.getContextualReference(JsfModuleConfig.class).getExceptionQualifier());
     }
 
     @Override
@@ -60,6 +60,8 @@ public class DeltaSpikeExceptionHandler extends 
ExceptionHandlerWrapper implemen
     {
         if (isActivated)
         {
+            init();
+            
             FacesContext context = FacesContext.getCurrentInstance();
 
             if (context.getResponseComplete())
@@ -99,4 +101,15 @@ public class DeltaSpikeExceptionHandler extends 
ExceptionHandlerWrapper implemen
 
         super.handle();
     }
+    
+    private synchronized void init()
+    {
+        if (this.initialized == null)
+        {
+            this.exceptionQualifier = AnnotationInstanceProvider.of(
+                    
BeanProvider.getContextualReference(JsfModuleConfig.class).getExceptionQualifier());
+
+            this.initialized = true;
+        }
+    }
 }

Reply via email to