%@ page isErrorPage="true" %>
<%@ page import="at.knowcenter.wag.egov.egiz.web.LocalRequestHelper" %>
<%@ page import="at.knowcenter.wag.egov.egiz.web.servlets.SignServlet" %>
<%@ page import="at.knowcenter.wag.egov.egiz.exceptions.*" %>
<%@ page import="at.gv.egiz.pdfas.web.SignSessionInformation" %>
<%@ page import="at.knowcenter.wag.egov.egiz.web.SessionAttributes" %>
<%@ page import="org.apache.commons.httpclient.util.EncodingUtil" %>
<%@ page import="org.apache.commons.httpclient.NameValuePair" %>
<%@ page import="java.io.*" %>
<%@ include file="language.jsp" %>
<%
PresentableException pe = (PresentableException)request.getAttribute("PresentableException");
if (exception != null && exception instanceof PresentableException)
{
pe = (PresentableException)exception;
SignServlet.prepareDispatchToErrorPage(pe, request);
}
String error = request.getParameter("error");
boolean paramInvok = false;
if (error == null) {
error = (request.getAttribute("error") == null ? "" : request.getAttribute("error").toString());
} else {
paramInvok = true;
}
String cause = request.getParameter("cause");
if (cause == null) {
cause = (request.getAttribute("cause") == null ? "" : request.getAttribute("cause").toString());
} else {
paramInvok = true;
}
boolean rb = Boolean.TRUE.equals((Boolean) request.getAttribute("resourcebundle"));
SignSessionInformation si = (SignSessionInformation) session.getAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION);
boolean isExternalInvocation = (si != null && si.exappinf != null);
if (isExternalInvocation) {
String urlParams = EncodingUtil.formUrlEncode(new NameValuePair[] { new NameValuePair("error", error), new NameValuePair("cause", cause) }, "ISO8859_1");
if (si.exappinf.invoke_error_url == null) {
// prevent circular redirect
si.exappinf = null;
String redirectUrl = response.encodeRedirectURL(request.getContextPath() + "/jsp/error.jsp" + "?" + urlParams);
session.setAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL, redirectUrl);
} else {
String errorUrl = si.exappinf.invoke_error_url + "?" + urlParams;
session.setAttribute(SessionAttributes.PARENT_WEBAPP_REDIRECT_URL, errorUrl);
}
String redirectHelper = response.encodeRedirectURL(request.getContextPath() + "/jsp/redirect_to_parent.jsp");
response.sendRedirect(redirectHelper);
}
%>
<% if (rb) { %>
<% } else { out.write(error); } %>
:
<% if (rb) { %>
<% } else { out.write(cause); } %>
<% if (!isExternalInvocation && !paramInvok) { %>
<% } // end if %>
<%
if (pe != null) {
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
pe.printStackTrace(pw);
sw.close();
pw.close();
out.print(sw);
}
%>