You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by lu...@apache.org on 2010/08/10 01:30:08 UTC

svn commit: r983840 - /myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/ErrorPageWriter.java

Author: lu4242
Date: Mon Aug  9 23:30:08 2010
New Revision: 983840

URL: http://svn.apache.org/viewvc?rev=983840&view=rev
Log:
MYFACES-2865 ErrorPageWriter fails with NotSerializableException (thanks to Christian Kaltepoth for provide this patch)

Modified:
    myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/ErrorPageWriter.java

Modified: myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/ErrorPageWriter.java
URL: http://svn.apache.org/viewvc/myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/ErrorPageWriter.java?rev=983840&r1=983839&r2=983840&view=diff
==============================================================================
--- myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/ErrorPageWriter.java (original)
+++ myfaces/core/trunk/impl/src/main/java/org/apache/myfaces/renderkit/ErrorPageWriter.java Mon Aug  9 23:30:08 2010
@@ -639,8 +639,18 @@ public final class ErrorPageWriter
         Object state = c.saveState(faces);
         if (state != null)
         {
-            byte[] stateBytes = StateUtils.getAsByteArray(state, faces.getExternalContext());
-            stateSize = stateBytes.length;
+            try
+            {
+                byte[] stateBytes = StateUtils.getAsByteArray(state, faces.getExternalContext());
+                stateSize = stateBytes.length;
+            }
+            catch (FacesException e)
+            {
+                if (log.isLoggable(Level.FINEST))
+                {
+                    log.fine("Could not determine state size: " + e.getMessage());
+                }
+            }
         }
         _writeStart(writer, c, hasChildren, true);
         writer.write(" - State size:" + stateSize + " bytes");