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