try {
final String output = tracker.getOutput(timeout);
return output == null ? "" : output;
} catch (Exception e) {
final IPortletFailureExecutionWorker failureWorker = this.portletWorkerFactory.createFailureWorker(request, response, portletWindowId, e);
// TODO publish portlet error event?
try {
failureWorker.submit();
return failureWorker.getOutput(timeout);
}
catch (Exception e1) {
logger.error("Failed to render error portlet for: " + portletWindowId, e1);
return "Error Portlet Unavailable. Please contact your portal administrators.";
}