Skip to content

Commit

Permalink
first draft
Browse files Browse the repository at this point in the history
Issue #554
  • Loading branch information
rsoika committed Oct 2, 2023
1 parent 8aac477 commit 4e88471
Show file tree
Hide file tree
Showing 6 changed files with 229 additions and 217 deletions.
21 changes: 13 additions & 8 deletions imixs-office-workflow-app/src/main/webapp/WEB-INF/web.xml
Original file line number Diff line number Diff line change
Expand Up @@ -64,20 +64,25 @@
<!-- Error handling -->
<error-page>
<exception-type>jakarta.enterprise.context.NonexistentConversationException</exception-type>
<location>/errorhandler.jsf?nocid=true</location>
<location>/errorhandler1.jsf?nocid=true</location>
</error-page>
<error-page>
<exception-type>jakarta.faces.view.facelets.TagAttributeException</exception-type>
<location>/errorhandler.jsf</location>
<location>/errorhandler2.jsf</location>
</error-page>
<error-page>
<exception-type>jakarta.servlet.ServletException</exception-type>
<location>/errorhandler.jsf</location>
</error-page>


<error-page>
<exception-type>java.lang.Exception</exception-type>
<location>/errorHandler</location>
</error-page>





<error-page>
<exception-type>java.lang.RuntimeException</exception-type>
<location>/errorhandler.jsf</location>
<location>/errorhandler4.jsf</location>
</error-page>
<error-page>
<error-code>401</error-code>
Expand Down
90 changes: 35 additions & 55 deletions imixs-office-workflow-app/src/main/webapp/errorhandler.xhtml
Original file line number Diff line number Diff line change
Expand Up @@ -15,112 +15,92 @@

<!-- Show different Error Message types -->



<c:choose>
<!-- Handle ModelException .... -->
<c:when
test="#{errorController.isCausedBy(requestScope['jakarta.servlet.error.exception'],'ModelException')}">
test="#{errorHandlerData.exceptionType eq 'ModelException'}">

<h3>
<span class="typcn typcn-flow-merge"></span>
#{message['model_exception_title']}
</h3>
<p>#{message['model_exception_help']}:</p>
<p>#{errorController.message}</p>

<h:outputText value="#{session.lastAccessedTime}">
<f:convertDateTime pattern="#{message.dateTimePatternLong}" timeZone="#{message.timeZone}"
type="date" />
</h:outputText>

</c:when>

<!-- Handle PluginException .... -->
<c:when
test="#{errorController.isCausedBy(requestScope['jakarta.servlet.error.exception'],'PluginException')}">

test="#{errorHandlerData.exceptionType eq 'PluginException'}">
<h3>
<span class="typcn typcn-plug"></span>
#{message['plugin_exception_title']}
</h3>
<p>#{message['plugin_exception_help']}:</p>
<p>#{errorController.message}</p>

<h:outputText value="#{session.lastAccessedTime}">
<f:convertDateTime pattern="#{message.dateTimePatternLong}" timeZone="#{message.timeZone}"
type="date" />
</h:outputText>
</c:when>

<!-- Handle WELD-000321: No conversation found to restore for .... -->
<c:when
test="#{errorController.isCausedBy(requestScope['jakarta.servlet.error.exception'],'ConversationException')}">

test="#{errorHandlerData.exceptionType eq 'ConversationException'}">
<h3>
<span class="typcn typcn-stopwatch"></span>
#{message['login.conversation_expired_title']}
</h3>
<p>#{message['login.conversation_expired_help']}</p>
<h:outputText value="#{session.lastAccessedTime}">
<f:convertDateTime pattern="#{message.dateTimePatternLong}" timeZone="#{message.timeZone}"
type="date" />
</h:outputText>
</c:when>

<!-- Handle jakarta.persistence.OptimisticLockException .... -->
<c:when
test="#{errorController.isCausedBy(requestScope['jakarta.servlet.error.exception'],'OptimisticLockException')}">

test="#{errorHandlerData.exceptionType eq 'OptimisticLockException'}">
<h3>
<span class="typcn typcn-messages"> </span>
#{message['login.optimisticlock_exception_title']}
</h3>
<p>#{message['login.optimisticlock_exception_help']}</p>
<h:outputText value="#{session.lastAccessedTime}">
<f:convertDateTime pattern="#{message.dateTimePatternLong}" timeZone="#{message.timeZone}"
type="date" />
</h:outputText>
</c:when>

<!-- handle rollback exceptions -->
<c:when
test="#{errorController.isCausedBy(requestScope['jakarta.servlet.error.exception'],'RolledbackException')}">

test="#{errorHandlerData.exceptionType eq 'RolledbackException'}">
<h3>
<span class="typcn typcn-weather-stormy"></span>
#{message.error_message_rollback_title}
</h3>
<p>#{message['error_message_rollback']}</p>
<h:outputText value="#{session.lastAccessedTime}">
<f:convertDateTime pattern="#{message.dateTimePatternLong}" timeZone="#{message.timeZone}"
type="date" />
</h:outputText>

</c:when>

<!-- Display Stacktrace Inforamtion as we encountered a undefiend error -->
<c:otherwise>
<h3>
<span class="typcn typcn-weather-stormy"></span>
#{message.error_message_rollback_title}
#{message.error_message_general_title}
</h3>
<p>#{message.error_message_rollback}</p>
<strong><h:outputText value="#{session.lastAccessedTime}">
<f:convertDateTime pattern="#{message.dateTimePatternLong}" timeZone="#{message.timeZone}"
type="date" />
</h:outputText> :</strong>
<br />
<!-- display exception details -->
<h:panelGroup layout="block"
style="background: #EEE; padding: 10px; margin: 5px 0 20px 0;border: 1px solid #999;"
rendered="#{! empty requestScope['jakarta.servlet.error.exception']}">
<h:outputText
value="#{requestScope['jakarta.servlet.error.exception']}" />
</h:panelGroup>
</c:otherwise>
</c:choose>




<p><h4>#{errorHandlerData.exceptionType}: #{errorHandlerData.message}</h4>
<br />
<strong>Exception:</strong> #{errorHandlerData.exception}
<br />
<strong>Error Code:</strong>#{errorHandlerData.statusCode}
<br />
<strong>URI:</strong>#{errorHandlerData.uri}

</p>
<h:outputText value="#{session.lastAccessedTime}">
<f:convertDateTime pattern="#{message.dateTimePatternLong}" timeZone="#{message.timeZone}"
type="date" />
</h:outputText>
<br />



</div>
<h:form>

<input type="button" value="#{message.prev}"
class="imixs-action"
onclick="document.location='#{errorHandlerData.uri}'" />
<h:commandButton action="home" value="#{message.close}"
immediate="true" />
immediate="true" />
</h:form>
</h:panelGroup>
</ui:define>
Expand Down

This file was deleted.

Loading

0 comments on commit 4e88471

Please sign in to comment.