in empire-db-jsf2/src/main/java/org/apache/empire/jsf2/pages/Page.java [139:233]
public void preRenderPage(FacesContext context)
{
if (this.initialized)
{
// PageBean.log.error("PageBean {} is already initialized.", name());
try
{
Page.log.debug("PageBean {} is already initialized. Calling doRefresh().", getPageName());
doRefresh();
}
catch (Exception e)
{
logAndHandleActionException("doRefresh", e);
}
return; // already Initialized
}
// Check access
try
{
checkPageAccess();
// redirected?
if (context.getResponseComplete())
return;
}
catch (Exception e)
{
logAndHandleActionException("checkAccess", e);
// redirected?
if (context.getResponseComplete())
return;
// Oops, not redirected yet?
if (getParentPage()!=null)
navigateTo(getParentOutcome(true));
// Done
return;
}
// Initialize
this.initialized = true;
// String value of "null"?
if (this.action!=null && "null".equals(this.action))
{ log.warn("Invalid action name 'null' for {}", getClass().getName());
this.action = null;
}
// Execute Action
if (this.action != null)
{ try
{ // Process action
log.info("Processing action {} on {}.", String.valueOf(action), getPageName());
Method method = getClass().getMethod(action);
Object result = method.invoke(this);
if (result != null)
{
String outcome = result.toString();
// Retrieve the NavigationHandler instance..
NavigationHandler navHandler = context.getApplication().getNavigationHandler();
// Invoke nav handling..
navHandler.handleNavigation(context, action, outcome);
// Trigger a switch to Render Response if needed
context.renderResponse();
return;
}
restoreSessionMessage();
}
catch (NoSuchMethodException nsme)
{
logAndHandleActionException(action, nsme);
}
catch (Exception e)
{
logAndHandleActionException(action, e.getCause());
}
finally
{
// Clear action
this.action = null; // Page.INVALID_ACTION;
}
}
else
{ // call default Action
try
{
Page.log.debug("Initializing PageBean {}. Calling doInit()", getPageName());
doInit();
restoreSessionMessage();
}
catch (Exception e)
{
logAndHandleActionException("doInit", e);
}
}
}