I am trying to have the Exception page shown in Tapestry when my GridDataSource throws an exception. How do i catch a ComponentEventException nad 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