You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lo...@apache.org on 2014/01/03 16:22:23 UTC
svn commit: r1555124 - in
/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago:
internal/ajax/AjaxNavigationListener.java
lifecycle/SecretPhaseListener.java util/DebugPhaseListener.java
Author: lofwyr
Date: Fri Jan 3 15:22:23 2014
New Revision: 1555124
URL: http://svn.apache.org/r1555124
Log:
TOBAGO-1350: response complete checks are missing in PhaseListeners
Modified:
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxNavigationListener.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/lifecycle/SecretPhaseListener.java
myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxNavigationListener.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxNavigationListener.java?rev=1555124&r1=1555123&r2=1555124&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxNavigationListener.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/internal/ajax/AjaxNavigationListener.java Fri Jan 3 15:22:23 2014
@@ -26,13 +26,15 @@ import javax.faces.event.PhaseListener;
public class AjaxNavigationListener implements PhaseListener {
public void afterPhase(final PhaseEvent phaseEvent) {
- if (phaseEvent.getPhaseId() == PhaseId.RESTORE_VIEW) {
+ if (!phaseEvent.getFacesContext().getResponseComplete() && phaseEvent.getPhaseId() == PhaseId.RESTORE_VIEW) {
AjaxNavigationState.afterRestoreView(phaseEvent.getFacesContext());
}
}
public void beforePhase(final PhaseEvent phaseEvent) {
- AjaxNavigationState.beforeRestoreView(phaseEvent.getFacesContext());
+ if (!phaseEvent.getFacesContext().getResponseComplete()) {
+ AjaxNavigationState.beforeRestoreView(phaseEvent.getFacesContext());
+ }
}
public PhaseId getPhaseId() {
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/lifecycle/SecretPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/lifecycle/SecretPhaseListener.java?rev=1555124&r1=1555123&r2=1555124&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/lifecycle/SecretPhaseListener.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/lifecycle/SecretPhaseListener.java Fri Jan 3 15:22:23 2014
@@ -35,7 +35,8 @@ public class SecretPhaseListener impleme
public void afterPhase(final PhaseEvent event) {
final FacesContext facesContext = event.getFacesContext();
- if (facesContext.isPostback()
+ if (!facesContext.getResponseComplete()
+ && facesContext.isPostback()
&& TobagoConfig.getInstance(facesContext).isCheckSessionSecret()
&& !Secret.check(facesContext)) {
if (LOG.isDebugEnabled()) {
Modified: myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java
URL: http://svn.apache.org/viewvc/myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java?rev=1555124&r1=1555123&r2=1555124&view=diff
==============================================================================
--- myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java (original)
+++ myfaces/tobago/trunk/tobago-core/src/main/java/org/apache/myfaces/tobago/util/DebugPhaseListener.java Fri Jan 3 15:22:23 2014
@@ -43,9 +43,9 @@ public class DebugPhaseListener implemen
private static final String KEY = DebugPhaseListener.class.getName() + "_ID_";
public void afterPhase(final PhaseEvent phaseEvent) {
- final FacesContext facesContext = FacesContext.getCurrentInstance();
+ final FacesContext facesContext = phaseEvent.getFacesContext();
final boolean productionMode = TobagoConfig.getInstance(facesContext).getProjectStage() == ProjectStage.Production;
- if (productionMode) {
+ if (facesContext.getResponseComplete() || productionMode) {
return;
}
@@ -91,8 +91,12 @@ public class DebugPhaseListener implemen
}
public void beforePhase(final PhaseEvent phaseEvent) {
- final FacesContext facesContext = FacesContext.getCurrentInstance();
+ final FacesContext facesContext = phaseEvent.getFacesContext();
final boolean productionMode = TobagoConfig.getInstance(facesContext).getProjectStage() == ProjectStage.Production;
+ if (facesContext.getResponseComplete()) {
+ LOG.info("Response is completed.");
+ return;
+ }
if (productionMode) {
LOG.warn("DebugPhaseListener disabled, because the project stage is 'production'.");
return;