Repository: deltaspike
Updated Branches:
  refs/heads/master cc19e43ed -> d44ed2af5


DELTASPIKE-487 better deactivatable handling of the navigation handler

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

Branch: refs/heads/master
Commit: d44ed2af5d699a841f3ff8c69c61e7fc3ce0b5fe
Parents: cc19e43
Author: tandraschko <[email protected]>
Authored: Sun Mar 2 21:30:22 2014 +0100
Committer: tandraschko <[email protected]>
Committed: Sun Mar 2 21:30:22 2014 +0100

----------------------------------------------------------------------
 .../impl/navigation/DeltaSpikeNavigationHandler.java    | 12 +++++++++---
 .../ViewAccessScopedAwareNavigationHandler.java         |  7 ++-----
 2 files changed, 11 insertions(+), 8 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/deltaspike/blob/d44ed2af/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/navigation/DeltaSpikeNavigationHandler.java
----------------------------------------------------------------------
diff --git 
a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/navigation/DeltaSpikeNavigationHandler.java
 
b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/navigation/DeltaSpikeNavigationHandler.java
index c035417..f17b992 100644
--- 
a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/navigation/DeltaSpikeNavigationHandler.java
+++ 
b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/navigation/DeltaSpikeNavigationHandler.java
@@ -50,6 +50,7 @@ public class DeltaSpikeNavigationHandler extends 
ConfigurableNavigationHandler i
 
     private final NavigationHandler wrapped;
     private final boolean activated;
+    private final boolean vasnhActivated;
 
     /**
      * Constructor for wrapping the given {@link NavigationHandler}
@@ -60,6 +61,7 @@ public class DeltaSpikeNavigationHandler extends 
ConfigurableNavigationHandler i
     {
         this.wrapped = navigationHandler;
         this.activated = ClassDeactivationUtils.isActivated(getClass());
+        this.vasnhActivated = 
ClassDeactivationUtils.isActivated(ViewAccessScopedAwareNavigationHandler.class);
     }
 
     @Override
@@ -84,10 +86,14 @@ public class DeltaSpikeNavigationHandler extends 
ConfigurableNavigationHandler i
 
     private NavigationHandler getWrappedNavigationHandler()
     {
-        ViewConfigAwareNavigationHandler viewConfigAwareNavigationHandler =
-                new ViewConfigAwareNavigationHandler(this.wrapped);
+        NavigationHandler navigationHandler = new 
ViewConfigAwareNavigationHandler(this.wrapped);
 
-        return new 
ViewAccessScopedAwareNavigationHandler(viewConfigAwareNavigationHandler);
+        if (vasnhActivated)
+        {
+            navigationHandler = new 
ViewAccessScopedAwareNavigationHandler(navigationHandler);
+        }
+
+        return navigationHandler;
     }
 
     @Override

http://git-wip-us.apache.org/repos/asf/deltaspike/blob/d44ed2af/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/scope/viewaccess/ViewAccessScopedAwareNavigationHandler.java
----------------------------------------------------------------------
diff --git 
a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/scope/viewaccess/ViewAccessScopedAwareNavigationHandler.java
 
b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/scope/viewaccess/ViewAccessScopedAwareNavigationHandler.java
index 1e5349d..d89b0a7 100644
--- 
a/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/scope/viewaccess/ViewAccessScopedAwareNavigationHandler.java
+++ 
b/deltaspike/modules/jsf/impl/src/main/java/org/apache/deltaspike/jsf/impl/scope/viewaccess/ViewAccessScopedAwareNavigationHandler.java
@@ -24,12 +24,10 @@ import org.apache.deltaspike.core.api.provider.BeanProvider;
 import org.apache.deltaspike.core.impl.scope.DeltaSpikeContextExtension;
 import org.apache.deltaspike.core.impl.scope.viewaccess.ViewAccessContext;
 import org.apache.deltaspike.core.spi.activation.Deactivatable;
-import org.apache.deltaspike.core.util.ClassDeactivationUtils;
 
 public class ViewAccessScopedAwareNavigationHandler extends NavigationHandler 
implements Deactivatable
 {
     private final NavigationHandler navigationHandler;
-    private final boolean activated;
 
     private volatile Boolean initialized;
     
@@ -38,7 +36,6 @@ public class ViewAccessScopedAwareNavigationHandler extends 
NavigationHandler im
     public ViewAccessScopedAwareNavigationHandler(NavigationHandler 
navigationHandler)
     {
         this.navigationHandler = navigationHandler;
-        this.activated = ClassDeactivationUtils.isActivated(getClass());
     }
 
     @Override
@@ -46,14 +43,14 @@ public class ViewAccessScopedAwareNavigationHandler extends 
NavigationHandler im
     {
         // remember viewId before navigation
         String viewId = null;
-        if (this.activated && context.getViewRoot() != null)
+        if (context.getViewRoot() != null)
         {
             viewId = context.getViewRoot().getViewId();
         }
 
         this.navigationHandler.handleNavigation(context, fromAction, outcome);
         
-        if (this.activated && viewId != null)
+        if (viewId != null)
         {
             lazyInit();
 

Reply via email to