You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@myfaces.apache.org by gc...@apache.org on 2011/03/16 01:17:43 UTC

svn commit: r1082008 - /myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java

Author: gcrawford
Date: Wed Mar 16 00:17:43 2011
New Revision: 1082008

URL: http://svn.apache.org/viewvc?rev=1082008&view=rev
Log:
TRINIDAD-2054 Messages from exceptions in tr:fileDownloadActionListener are not displayed

Thanks to Kentaro

Modified:
    myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java

Modified: myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java
URL: http://svn.apache.org/viewvc/myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java?rev=1082008&r1=1082007&r2=1082008&view=diff
==============================================================================
--- myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java (original)
+++ myfaces/trinidad/trunk/trinidad-impl/src/main/java/org/apache/myfaces/trinidadinternal/taglib/listener/FileDownloadActionListener.java Wed Mar 16 00:17:43 2011
@@ -119,7 +119,16 @@ public class FileDownloadActionListener 
         }
         MethodExpression method = getMethod();
         OutputStream out = new BufferedOutputStream(new OnDemandOutputStream(hsr));
-        method.invoke(context.getELContext(), new Object[]{context, out});
+        try
+        {
+          method.invoke(context.getELContext(), new Object[]{context, out});
+        }
+        catch (Exception e)
+        {
+          FacesMessage error = MessageFactory.getMessage(e);
+          context.addMessage(null, error);
+          throw e;
+        }
         out.close();
          
       }