Error Exception Handling

2014-06-11 Thread Shaikh, Shahid
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



Exception Handling

2014-06-10 Thread Shaikh, Shahid
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