You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by mc...@apache.org on 2009/09/17 17:13:49 UTC
svn commit: r816228 - in
/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/lifecycle:
LifecycleImpl.java PhaseListenerManager.java
Author: mconcini
Date: Thu Sep 17 15:13:49 2009
New Revision: 816228
URL: http://svn.apache.org/viewvc?rev=816228&view=rev
Log:
MYFACES-2355 - need to account for queued exceptions and the 1.2 compatible exception handler during render phase.
Modified:
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/lifecycle/LifecycleImpl.java
myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/lifecycle/PhaseListenerManager.java
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/lifecycle/LifecycleImpl.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/lifecycle/LifecycleImpl.java?rev=816228&r1=816227&r2=816228&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/lifecycle/LifecycleImpl.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/lifecycle/LifecycleImpl.java Thu Sep 17 15:13:49 2009
@@ -34,6 +34,7 @@
import org.apache.commons.logging.LogFactory;
import org.apache.myfaces.util.DebugUtils;
import org.apache.myfaces.config.FacesConfigurator;
+import org.apache.myfaces.shared_impl.util.ClassUtils;
import org.apache.myfaces.shared_impl.webapp.webxml.WebXml;
/**
@@ -184,8 +185,8 @@
{
return;
}
- if(renderResponse)
- renderExecutor.execute(facesContext);
+ if(renderResponse || facesContext.getExceptionHandler().getClass().equals(ClassUtils.classForName("javax.faces.webapp.PreJsf2ExceptionHandlerFactory$PreJsf2ExceptionHandlerImpl")))
+ renderExecutor.execute(facesContext);
}
catch (Throwable e) {
Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/lifecycle/PhaseListenerManager.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/lifecycle/PhaseListenerManager.java?rev=816228&r1=816227&r2=816228&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/lifecycle/PhaseListenerManager.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/lifecycle/PhaseListenerManager.java Thu Sep 17 15:13:49 2009
@@ -20,6 +20,7 @@
package org.apache.myfaces.lifecycle;
import java.util.HashMap;
+import java.util.List;
import java.util.Map;
import javax.faces.context.FacesContext;
import javax.faces.event.ExceptionQueuedEvent;
@@ -87,6 +88,12 @@
}
}
}
+
+ if( facesContext.getExceptionHandler().getUnhandledExceptionQueuedEvents().iterator().hasNext())
+ {
+ return false; //an exception was queued, do not render so we can go to the error page
+ }
+
return true; //if this is the render phase, render the response
}