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 > >