From 548c8770e5ec6cb9bf73b7c341673d4077099a75 Mon Sep 17 00:00:00 2001 From: tknall Date: Thu, 7 Dec 2006 20:13:50 +0000 Subject: knowcenter adjustments from 2006-12-01 merged git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@13 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../egiz/web/AsynchronousRedirectResponder.java | 44 ++++++++++++---------- 1 file changed, 25 insertions(+), 19 deletions(-) (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/web') diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/AsynchronousRedirectResponder.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/AsynchronousRedirectResponder.java index fb5d2e3..b79dd87 100644 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/AsynchronousRedirectResponder.java +++ b/src/main/java/at/knowcenter/wag/egov/egiz/web/AsynchronousRedirectResponder.java @@ -128,19 +128,18 @@ public class AsynchronousRedirectResponder extends HttpServlet dispatchToRedirectRefreshPage(request, response, refresh_url); return; } - - si.finished = false; - + + // si.finished is true, but maybe there are more requests to process. if (si.current_operation < si.requests.length) { + si.finished = false; + LocalRequestHelper.prepareDispatchToLocalConnectionPage(si.requests[si.current_operation], request, response); dispatch(request, response, LocalRequestHelper.LOCAL_CONNECTION_PAGE_JSP); return; } // all requests have been carried out. - //session.removeAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION); - //SessionTable.remove(si.session_id); BKUConnector local_conn = (BKUConnector) ConnectorFactory.createConnector(si.connector); @@ -161,22 +160,29 @@ public class AsynchronousRedirectResponder extends HttpServlet //logger_.debug("AsyncRedirResponder: si.response_string[0] = " + si.response_string[0]); logger_.debug("AsyncRedirResponder: si.current_op = " + si.current_operation); - if (si.response_string[0] == null) + // The response string must not be null here - otherwise finished mustn't have been set! +// if (si.response_string[0] == null) +// { +// String url = request.getRequestURL().toString(); +// logger_.debug("RequestURL = " + url); +// String refresh_url = response.encodeURL(url); +// logger_.debug("RefreshURL = " + refresh_url); +// dispatchToRedirectRefreshPage(request, response, refresh_url); +// return ; +// } + + // A download blocker may have blocked the first download. + // So, if the user asks for the document a second time and the sign_result + // has already been computed - don't recompute it. + if (si.sign_result == null) { - String url = request.getRequestURL().toString(); - logger_.debug("RequestURL = " + url); - String refresh_url = response.encodeURL(url); - logger_.debug("RefreshURL = " + refresh_url); - dispatchToRedirectRefreshPage(request, response, refresh_url); - return ; + si.iui.signed_signature_object = local_conn.analyzeSignResponse(si.response_string[0], si.type); + + PdfASID algorithm = FormFields.translateSignatureModeToPdfASID(si.mode); + Signator signator = SignatorFactory.createSignator(algorithm); + + si.sign_result = signator.finishSign(si.iui); } - - si.iui.signed_signature_object = local_conn.analyzeSignResponse(si.response_string[0], si.type); - - PdfASID algorithm = FormFields.translateSignatureModeToPdfASID(si.mode); - Signator signator = SignatorFactory.createSignator(algorithm); - - si.sign_result = signator.finishSign(si.iui); Sign.returnSignResponse(si, response); } -- cgit v1.2.3