I have a framework that has overridden WOResponse HandleException for many years.
Today I have discovered that there is a problem with the page I display to the user. The page shows text and a button at the bottom of the page is labelled "Go to Login Page". It used to go to the login page of the application but now when clicked on it seems to do nothing. When clicked on a second time it then correctly goes to the login page.
I can't seem to figure out why it's no longer working. I can confirm that it was working properly in May of 2011. I haven't a clue when it stopped working. Some kind of upgrade may have caused it to stop. Java version, Eclipse.... no idea.
This is how it is handled:
public WOResponse handleException(Exception anException, WOContext aContext)
{
super.handleException(anException, aContext);
COREErrorPage errorPage = (COREErrorPage) pageWithName("COREErrorPage", aContext);
errorPage.initialize(true, anException, theUser, "", "", null);
return errorPage.generateResponse();
}
My error page does this when the user clicks on the button, but only the second time it is clicked:
public WOComponent loginPage() {
WORedirect redirect = new WORedirect(context());
try {
redirect.setUrl(((COREApplication)application()).logoutLink());
} catch (Exception e) {
e.printStackTrace();
e = null;
redirect.setUrl(((COREApplication)application()).logoutLink());
}
((CORESession)session()).terminate();
return redirect;
}
Any help in solving this mystery is appreciated.
Calven