You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gp...@apache.org on 2010/12/22 22:52:21 UTC
svn commit: r1052077 - in /myfaces/extensions/cdi/trunk/jee-modules:
jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/
jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/navigation/
Author: gpetracek
Date: Wed Dec 22 21:52:21 2010
New Revision: 1052077
URL: http://svn.apache.org/viewvc?rev=1052077&view=rev
Log:
EXTCDI-92 ignore terminated requests
Modified:
myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/CodiNavigationHandler.java
myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/navigation/CodiNavigationHandler.java
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/CodiNavigationHandler.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/CodiNavigationHandler.java?rev=1052077&r1=1052076&r2=1052077&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/CodiNavigationHandler.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf/impl/navigation/CodiNavigationHandler.java Wed Dec 22 21:52:21 2010
@@ -33,6 +33,8 @@ public class CodiNavigationHandler exten
{
private final NavigationHandler wrapped;
+ private final NavigationHandler originalNavigationHandler;
+
public CodiNavigationHandler(NavigationHandler navigationHandler)
{
if(isActivated())
@@ -46,11 +48,20 @@ public class CodiNavigationHandler exten
{
this.wrapped = navigationHandler;
}
+
+ this.originalNavigationHandler = navigationHandler;
}
public void handleNavigation(FacesContext context, String fromAction, String outcome)
{
- this.wrapped.handleNavigation(context, fromAction, outcome);
+ if(context.getResponseComplete() /*see EXTCDI-92*/)
+ {
+ this.originalNavigationHandler.handleNavigation(context, fromAction, outcome);
+ }
+ else
+ {
+ this.wrapped.handleNavigation(context, fromAction, outcome);
+ }
}
public boolean isActivated()
Modified: myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/navigation/CodiNavigationHandler.java
URL: http://svn.apache.org/viewvc/myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/navigation/CodiNavigationHandler.java?rev=1052077&r1=1052076&r2=1052077&view=diff
==============================================================================
--- myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/navigation/CodiNavigationHandler.java (original)
+++ myfaces/extensions/cdi/trunk/jee-modules/jsf20-module/impl/src/main/java/org/apache/myfaces/extensions/cdi/jsf2/impl/navigation/CodiNavigationHandler.java Wed Dec 22 21:52:21 2010
@@ -49,33 +49,42 @@ import javax.faces.context.ExternalConte
public class CodiNavigationHandler extends ConfigurableNavigationHandler implements Deactivatable
{
private final NavigationHandler wrapped;
+
+ private final NavigationHandler originalNavigationHandler;
+
private final boolean deactivated;
+
private final boolean addViewConfigsAsNavigationCase;
public CodiNavigationHandler(NavigationHandler navigationHandler)
{
- this.wrapped = navigationHandler;
this.deactivated = !isActivated();
-
if(!this.deactivated)
{
+ ViewConfigAwareNavigationHandler viewConfigAwareNavigationHandler =
+ new ViewConfigAwareNavigationHandler(navigationHandler, true);
+
+ this.wrapped = new AccessScopeAwareNavigationHandler(viewConfigAwareNavigationHandler);
this.addViewConfigsAsNavigationCase = isAddViewConfigsAsNavigationCaseActivated();
}
else
{
+ this.wrapped = navigationHandler;
this.addViewConfigsAsNavigationCase = false;
}
+
+ this.originalNavigationHandler = navigationHandler;
}
public void handleNavigation(FacesContext context, String fromAction, String outcome)
{
- if(this.deactivated || isUnhandledExceptionQueued(context))
+ if(isUnhandledExceptionQueued(context) || context.getResponseComplete() /*see EXTCDI-92*/)
{
- this.wrapped.handleNavigation(context, fromAction, outcome);
+ this.originalNavigationHandler.handleNavigation(context, fromAction, outcome);
}
else
{
- getWrappedNavigationHandler().handleNavigation(context, fromAction, outcome);
+ this.wrapped.handleNavigation(context, fromAction, outcome);
}
}
@@ -85,14 +94,6 @@ public class CodiNavigationHandler exten
context.getExceptionHandler().getUnhandledExceptionQueuedEvents().iterator().hasNext();
}
- private NavigationHandler getWrappedNavigationHandler()
- {
- ViewConfigAwareNavigationHandler viewConfigAwareNavigationHandler =
- new ViewConfigAwareNavigationHandler(this.wrapped, true);
-
- return new AccessScopeAwareNavigationHandler(viewConfigAwareNavigationHandler);
- }
-
public NavigationCase getNavigationCase(FacesContext context, String action, String outcome)
{
if (this.wrapped instanceof ConfigurableNavigationHandler)