empire-db-jakarta-faces/src/main/java/org/apache/empire/jakarta/app/WebApplication.java [397:442]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public void handleException(FacesContext context, Page source, Throwable e)
    {
        // log source
        String origin = (source!=null ? source.getPageDefinition().getPageBeanName() : "[Unknown]");
        log.error("Fatal error of type {} from \"{}\": {}: {}", e.getClass().getName(), origin, e.getMessage());
        
        // check handled
        boolean handled = (context.getMaximumSeverity()==FacesMessage.SEVERITY_ERROR);

        // For page errors, give the ExceptionHandler a chance to handle
        if (!handled && source!=null)
        {
            // Queue event 
            ExceptionQueuedEventContext event = new ExceptionQueuedEventContext(context, e, null, context.getCurrentPhaseId());
            event.getAttributes().put (ExceptionQueuedEventContext.IN_BEFORE_PHASE_KEY, Boolean.TRUE);
            context.getApplication().publishEvent (context, ExceptionQueuedEvent.class, event);
            
            // Handle Exception
            context.getExceptionHandler().handle(); 
            if (context.getResponseComplete())
                return;
        }
        
        // Find message
        FacesMessage facesMsg = null;
        Iterator<FacesMessage> messages = context.getMessages();
        while (messages.hasNext())
        {
            FacesMessage msg = messages.next();
            if (msg.getSeverity()==FacesMessage.SEVERITY_ERROR)
            {   // found
                facesMsg = msg;
                break;
            }
        }
        if (facesMsg==null)
            facesMsg = getFacesErrorMessage(context, origin, e);
        // Set Session Message
        ExternalContext ec = context.getExternalContext();
        ec.getSessionMap().put(Page.SESSION_MESSAGE, facesMsg);

        // If parentPage is null then redirect to ContextPath (root)
        PageDefinition parentPage = (source!=null ? source.getParentPage() : null);
        String redirectUrl = (parentPage!=null ? parentPage.getOutcome().toString() : StringUtils.EMPTY);
        redirectDirectly(context, redirectUrl);
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



empire-db-jsf2/src/main/java/org/apache/empire/jsf2/app/WebApplication.java [396:441]:
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
    public void handleException(FacesContext context, Page source, Throwable e)
    {
        // log source
        String origin = (source!=null ? source.getPageDefinition().getPageBeanName() : "[Unknown]");
        log.error("Fatal error of type {} from \"{}\": {}: {}", e.getClass().getName(), origin, e.getMessage());
        
        // check handled
        boolean handled = (context.getMaximumSeverity()==FacesMessage.SEVERITY_ERROR);

        // For page errors, give the ExceptionHandler a chance to handle
        if (!handled && source!=null)
        {
            // Queue event 
            ExceptionQueuedEventContext event = new ExceptionQueuedEventContext(context, e, null, context.getCurrentPhaseId());
            event.getAttributes().put (ExceptionQueuedEventContext.IN_BEFORE_PHASE_KEY, Boolean.TRUE);
            context.getApplication().publishEvent (context, ExceptionQueuedEvent.class, event);
            
            // Handle Exception
            context.getExceptionHandler().handle(); 
            if (context.getResponseComplete())
                return;
        }
        
        // Find message
        FacesMessage facesMsg = null;
        Iterator<FacesMessage> messages = context.getMessages();
        while (messages.hasNext())
        {
            FacesMessage msg = messages.next();
            if (msg.getSeverity()==FacesMessage.SEVERITY_ERROR)
            {   // found
                facesMsg = msg;
                break;
            }
        }
        if (facesMsg==null)
            facesMsg = getFacesErrorMessage(context, origin, e);
        // Set Session Message
        ExternalContext ec = context.getExternalContext();
        ec.getSessionMap().put(Page.SESSION_MESSAGE, facesMsg);

        // If parentPage is null then redirect to ContextPath (root)
        PageDefinition parentPage = (source!=null ? source.getParentPage() : null);
        String redirectUrl = (parentPage!=null ? parentPage.getOutcome().toString() : StringUtils.EMPTY);
        redirectDirectly(context, redirectUrl);
    }
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -



