Hi Shaikh

Also you might want to check at www.jexbox.com

This is an exception logging and management service with very
straightforward integration with Tapestry using RequestExceptionHandler
decoration (https://jexbox.com/connectors)

Best wishes

Tsvetelin


On Wed, Jun 11, 2014 at 3:15 PM, Shaikh, Shahid <ssha...@navicure.com>
wrote:

> I am trying to have the Exception page shown in Tapestry when my
> GridDataSource throws an exception. How do i catch a
> ComponentEventException and have Tapestry redirect to the Exception page.
>
> Your help is much appreciated!
>
> Here is the logs..
> org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
> Caused by: org.apache.tapestry5.runtime.ComponentEventException [at
> classpath:com/navicure/ui/admin/pages/incoming/IncomingFilesPage.tml, line
> 67] at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1141)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.access$3100(ComponentPageElementImpl.java:61)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1062)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl$5.invoke(ComponentPageElementImpl.java:1059)
> at
> org.apache.tapestry5.ioc.internal.OperationTrackerImpl.invoke(OperationTrackerImpl.java:74)
> ... 100 more Caused by: java.lang.NullPointerException at
> com.navicure.ui.admin.tables.FragmentDataSource.getAvailableRows(FragmentDataSource.java:91)
> at
> org.got5.tapestry5.jquery.internal.DefaultDataTableModel.getResponse(DefaultDataTableModel.java:243)
> at
> org.got5.tapestry5.jquery.internal.DefaultDataTableModel.sendResponse(DefaultDataTableModel.java:375)
> at
> org.got5.tapestry5.jquery.components.DataTable.onData(DataTable.java:128)
> at
> org.got5.tapestry5.jquery.components.DataTable.dispatchComponentEvent(DataTable.java)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.dispatchEvent(ComponentPageElementImpl.java:940)
> at
> org.apache.tapestry5.internal.structure.ComponentPageElementImpl.processEventTriggering(ComponentPageElementImpl.java:1117)
> ... 104 more
>
> Here is my object that implements ExceptionReporter
>
> package com.navicure.ui.admin.pages;
>
> import java.io.PrintWriter;
> import java.io.StringWriter;
> import java.util.Date;
>
> import org.apache.log4j.Logger;
> import org.apache.tapestry5.annotations.Log;
> import org.apache.tapestry5.annotations.Property;
> import org.apache.tapestry5.ioc.annotations.Inject;
> import org.apache.tapestry5.services.ExceptionReporter;
> import org.apache.tapestry5.services.ajax.AjaxResponseRenderer;
> import org.apache.tapestry5.services.ajax.JavaScriptCallback;
> import org.apache.tapestry5.services.javascript.JavaScriptSupport;
>
> public class ExceptionReport implements ExceptionReporter {
>
>     private static Logger log = Logger.getLogger(ExceptionReport.class);
>
>
>     @Property
>     private Date filterToDate;
>
>     @Property
>     private Throwable exception;
>
>     @Inject
>     private AjaxResponseRenderer ajaxResponseRenderer;
>
>     @Property
>     private String messageStackTrace;
>
>     @Override
>     public void reportException(Throwable exception) {
>         this.exception = exception;
>         log.error(exception);
>         this.messageStackTrace = this.getStackMessageTrace();
>     }
>
>
>     private String getStackMessageTrace()
>     {
>         StringWriter errors = new StringWriter();
>         exception.printStackTrace(new PrintWriter(errors));
>         return errors.toString();
>     }
>
>
> }
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
> For additional commands, e-mail: users-h...@tapestry.apache.org
>
>

Reply via email to