aboutsummaryrefslogtreecommitdiff
path: root/spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/filters
diff options
context:
space:
mode:
authorgregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2003-12-01 09:29:01 +0000
committergregor <gregor@d688527b-c9ab-4aba-bd8d-4036d912da1d>2003-12-01 09:29:01 +0000
commit1bfa47c942022dbf4b294cdd494b728deb84298b (patch)
tree0cbd96b0997f1c3ddbd0fe5b8ab6305a58a2281d /spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/filters
parent75181af53bbe97bee472e5e8923c54bbd06ac32b (diff)
downloadmoa-id-spss-1bfa47c942022dbf4b294cdd494b728deb84298b.tar.gz
moa-id-spss-1bfa47c942022dbf4b294cdd494b728deb84298b.tar.bz2
moa-id-spss-1bfa47c942022dbf4b294cdd494b728deb84298b.zip
Zwischenstand
git-svn-id: https://joinup.ec.europa.eu/svn/moa-idspss/trunk@65 d688527b-c9ab-4aba-bd8d-4036d912da1d
Diffstat (limited to 'spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/filters')
-rw-r--r--spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/filters/SL2MOAFilter.java46
1 files changed, 35 insertions, 11 deletions
diff --git a/spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/filters/SL2MOAFilter.java b/spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/filters/SL2MOAFilter.java
index 08b8635ba..f4a4a1243 100644
--- a/spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/filters/SL2MOAFilter.java
+++ b/spss.slinterface/WEB-INF/src/at/gv/egovernment/moa/spss/slinterface/filters/SL2MOAFilter.java
@@ -20,6 +20,7 @@ import java.util.Properties;
import javax.servlet.Filter;
import javax.servlet.FilterChain;
import javax.servlet.FilterConfig;
+import javax.servlet.RequestDispatcher;
import javax.servlet.ServletContext;
import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
@@ -44,6 +45,9 @@ import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import at.gv.egovernment.moa.spss.slinterface.Constants;
+import at.gv.egovernment.moa.spss.slinterface.beans.ChecksInfoBean;
+import at.gv.egovernment.moa.spss.slinterface.beans.DataInfoBean;
+import at.gv.egovernment.moa.spss.slinterface.beans.SignerInfoBean;
import at.gv.egovernment.moa.spss.slinterface.moainvoker.MOAInvoker;
import at.gv.egovernment.moa.spss.slinterface.servlets.SLRequest;
import at.gv.egovernment.moa.spss.slinterface.transformers.MOA2SL;
@@ -106,34 +110,54 @@ public class SL2MOAFilter implements Filter
ResponseWrapper responseWrapper = new ResponseWrapper((HttpServletResponse) response);
chain.doFilter(requestWrapper, responseWrapper);
- // Transform MOA response into a SL response
+ // Parse MOA response
DOMParser xmlParser = (DOMParser) config_.getServletContext().getAttribute(Constants.WSCP_XMLPARSER_);
ServletOutputStream moaResponseSOS = (ServletOutputStream) responseWrapper.getOutputStream();
ByteArrayInputStream moaResponseBIS = new ByteArrayInputStream(moaResponseSOS.toByteArray());
InputSource responseSource = new InputSource(moaResponseBIS);
- Document slResponseDoc;
+ Document moaResponseDoc;
try
{
xmlParser.parse(responseSource);
- Document moaResponseDoc = xmlParser.getDocument();
- slResponseDoc = MOA2SL.toSlVerifyXMLSignatureResponse(moaResponseDoc);
+ moaResponseDoc = xmlParser.getDocument();
}
catch (SAXException e)
{
- String message = "Transforming MOA XML response into SL XML response failed.";
+ String message = "Parsing MOA XML response failed.";
logger_.error(message, e);
throw new ServletException(message, e);
}
+
+ // Create bean with info about signed data
+ DataInfoBean dataInfo = new DataInfoBean(moaResponseDoc);
+ request.setAttribute("dataInfo", dataInfo);
+
+ // Transform MOA response into a SL response
+ Document slResponseDoc;
+ slResponseDoc = MOA2SL.toSlVerifyXMLSignatureResponse(moaResponseDoc);
session.setAttribute("slResponseDoc", slResponseDoc);
- String continueURL = ((HttpServletRequest) request).getContextPath() + "/results";
- continueURL = ((HttpServletResponse) response).encodeURL(continueURL);
- String responseStr = "<html><body><a href=\"" + continueURL + ">Und weiter geht es ...</a></body></html>";
+ // Create bean with info about signer
+ SignerInfoBean signerInfo = new SignerInfoBean(slResponseDoc);
+ request.setAttribute("signerInfo", signerInfo);
+
+ // Create bean with info about checks
+ ChecksInfoBean checksInfo = new ChecksInfoBean(slResponseDoc);
+ request.setAttribute("checksInfo", checksInfo);
+ // Include jsp page, which writes the overview information about the verified signature
response.setContentType("text/html");
- OutputStream responseOS = response.getOutputStream();
- responseOS.write(responseStr.getBytes("UTF-8"));
- responseOS.flush();
+ try
+ {
+ RequestDispatcher dispatcher = request.getRequestDispatcher("/pages/resultOverview.jsp");
+ dispatcher.include(request, response);
+ }
+ catch (IOException e)
+ {
+ String message = "Failed to create result overview page.";
+ logger_.error(message, e);
+ throw new ServletException(message, e);
+ }
}
/* ---------------------------------------------------------------------------------------------------- */