aboutsummaryrefslogtreecommitdiff
path: root/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyPreviewServlet.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyPreviewServlet.java')
-rw-r--r--src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyPreviewServlet.java723
1 files changed, 0 insertions, 723 deletions
diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyPreviewServlet.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyPreviewServlet.java
deleted file mode 100644
index 11f9db4..0000000
--- a/src/main/java/at/knowcenter/wag/egov/egiz/web/servlets/VerifyPreviewServlet.java
+++ /dev/null
@@ -1,723 +0,0 @@
-/**
- * <copyright> Copyright (c) 2006 by Know-Center, Graz, Austria </copyright>
- *
- * This software is the confidential and proprietary information of Know-Center,
- * Graz, Austria. You shall not disclose such Confidential Information and shall
- * use it only in accordance with the terms of the license agreement you entered
- * into with Know-Center.
- *
- * KNOW-CENTER MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF
- * THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
- * IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, OR
- * NON-INFRINGEMENT. KNOW-CENTER SHALL NOT BE LIABLE FOR ANY DAMAGES SUFFERED BY
- * LICENSEE AS A RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS
- * DERIVATIVES.
- *
- * $Id: VerifyPreview.java,v 1.4 2006/10/11 07:39:13 wprinz Exp $
- */
-package at.knowcenter.wag.egov.egiz.web.servlets;
-
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-import org.apache.commons.fileupload.FileItem;
-import org.apache.commons.fileupload.FileUploadException;
-import org.apache.commons.fileupload.disk.DiskFileItemFactory;
-import org.apache.commons.fileupload.servlet.ServletFileUpload;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
-import at.gv.egiz.pdfas.framework.input.TextDataSource;
-import at.gv.egiz.pdfas.utils.StreamUtils;
-import at.gv.egiz.pdfas.utils.WebUtils;
-import at.gv.egiz.pdfas.web.VerifySessionInformation;
-import at.gv.egiz.pdfas.web.helper.SessionHelper;
-import at.gv.egiz.pdfas.web.helper.TempDirHelper;
-import at.knowcenter.wag.egov.egiz.PdfAS;
-import at.knowcenter.wag.egov.egiz.PdfASID;
-import at.knowcenter.wag.egov.egiz.cfg.SettingsReader;
-import at.knowcenter.wag.egov.egiz.exceptions.InvalidIDException;
-import at.knowcenter.wag.egov.egiz.exceptions.PresentableException;
-import at.knowcenter.wag.egov.egiz.exceptions.SignatureException;
-import at.knowcenter.wag.egov.egiz.pdf.BinarySignatureHolder;
-import at.knowcenter.wag.egov.egiz.pdf.SignatureHolder;
-import at.knowcenter.wag.egov.egiz.pdf.TextualSignatureHolder;
-import at.knowcenter.wag.egov.egiz.sig.ConnectorFactory;
-import at.knowcenter.wag.egov.egiz.sig.SignatureEntry;
-import at.knowcenter.wag.egov.egiz.sig.SignatureObject;
-import at.knowcenter.wag.egov.egiz.sig.SignatureTypes;
-import at.knowcenter.wag.egov.egiz.web.FormFields;
-import at.knowcenter.wag.egov.egiz.web.LocalRequestHelper;
-
-/**
- * @author wprinz
- */
-public class VerifyPreviewServlet extends HttpServlet
-{
- /**
- * SVUID.
- */
- private static final long serialVersionUID = 6954343542890239109L;
-
- /**
- * The logger.
- */
- private static final Log logger_ = LogFactory.getLog(VerifyPreviewServlet.class);
-
- protected void dispatch(HttpServletRequest request,
- HttpServletResponse response, String resource) throws ServletException, IOException
- {
- response.setContentType("text/html");
- response.setCharacterEncoding("UTF-8");
-
- RequestDispatcher disp = getServletContext().getRequestDispatcher(resource);
- disp.forward(request, response);
- }
-
- protected void dispatchToPreview(HttpServletRequest request, HttpServletResponse response, int verify_which)throws ServletException, IOException
- {
- request.setAttribute(FormFields.FIELD_VERIFY_WHICH, new Integer(verify_which));
- request.setAttribute("btlurl", formBackToListURL(request, response));
- dispatch(request, response, "/jsp/verifypreview.jsp");
-
- }
-
- protected void dispatchToDataOk(HttpServletRequest request, HttpServletResponse response)throws ServletException, IOException
- {
- request.setAttribute("btlurl", formBackToListURL(request, response));
- dispatch(request, response, "/jsp/dataok.jsp");
- }
-
- protected String formBackToListURL(HttpServletRequest request, HttpServletResponse response) throws MalformedURLException
- {
- URL btlURL = new URL(LocalRequestHelper.getLocalContextAddress(request, response) + "/jsp/verifylist.jsp");
- String backToListURL = response.encodeURL(btlURL.toString());
-
- return backToListURL;
- }
-
- protected static String generateNamePrefix(int num)
- {
- return SIG_INPUT_PREFIX + num + "_";
- }
-
- // public static void formatPreview(List signature_holders, String connector,
- // HttpServletRequest request, HttpServletResponse response) throws
- // ServletException, IOException
- // {
- // response.setContentType("text/html");
- // response.setCharacterEncoding("UTF-8");
- //
- // PrintWriter writer = response.getWriter();
- //
- // writer.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0
- // Transitional//EN\"
- // \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
- // writer.println("<html>");
- // writer.println("<head>");
- // writer.println("<meta http-equiv=\"content-type\" content=\"text/html;
- // charset=UTF-8\" />");
- // writer.println("<title>PDF-AS Amtssignaturen Vorschau</title>");
- // writer.println("<link rel=\"stylesheet\" type=\"text/css\"
- // href=\"/pdf-as/css/styles.css\" />");
- //
- // writer.println("<script type=\"text/javascript\">");
- // writer.println(" function initSigValues()");
- // writer.println(" {");
- // for (int num = 0; num < signature_holders.size(); num++)
- // {
- // SignatureHolder signature_holder = (SignatureHolder)
- // signature_holders.get(num);
- // String name_prefix = generateNamePrefix(num);
- // String java_script =
- // renderRequiredKeysJavaScript(signature_holder.signature_object,
- // name_prefix);
- // writer.println(java_script);
- //
- // }
- // writer.println(" }");
- // writer.println("</script>");
- //
- // writer.println("</head>");
- //
- // writer.println("<body onload=\"initSigValues()\">");
- // writer.println("<div>");
- //
- // writer.println("<h1>PDF-AS Amtssignaturen</h1>");
- //
- // writer.println("<div id=\"nav\">");
- // writer.println("<div id=\"nh\">Vorschau: Dokument Pr&uuml;fen</div>");
- // writer.println("<form action=\"" +
- // response.encodeURL(request.getContextPath() + "/VerifyPreview") + "\"");
- // writer.println(" name=\"submitform\"");
- // writer.println(" enctype=\"multipart/form-data\"");
- // writer.println(" accept-charset=\"UTF-8\"");
- // writer.println(" method=\"post\">");
- // writer.println("<div id=\"ct\">");
- //
- // // writer.println("<input type=\"hidden\" name=\"" + FormFields.FIELD_MODE
- // +
- // // "\" value=\"" + mode + "\" />");
- // writer.println("<input type=\"hidden\" name=\"" +
- // FormFields.FIELD_CONNECTOR + "\" value=\"" + connector + "\" />");
- //
- // // if (mode.equals(FormFields.VALUE_MODE_TEXTUAL))
- // // {
- // // String raw_document_text = ((SignatureHolder)
- // // signature_holders.get(0)).signed_text;
- // // writer.println("<textarea class=\"pr\" cols=\"80\" rows=\"14\" name=\""
- // +
- // // FormFields.FIELD_RAW_DOCUMENT_TEXT + "\">" + raw_document_text +
- // // "</textarea>");
- // // writer.println("<br/>");
- // // }
- //
- // if (signature_holders.size() == 1)
- // {
- // writer.println("<div id=\"sh\">Rekonstruktion der Signaturmarke:</div>");
- // }
- // else
- // {
- // writer.println("<div id=\"sh\">Rekonstruktion der Signaturmarken:</div>");
- // }
- //
- // // this special <div> is only needed because internet explorer doesn't
- // // format the width of the
- // // tables right when the div is not given.
- // // probably this is because the table then tries to calculate the relative
- // // width from the surrounding form object.
- // writer.println("<div class=\"sigprevtablediv\">");
- // int num = 0;
- // Iterator it = signature_holders.iterator();
- // while (it.hasNext())
- // {
- // SignatureHolder signature_holder = (SignatureHolder) it.next();
- //
- // String name_prefix = generateNamePrefix(num);
- //
- // String input_key = name_prefix + FormFields.FIELD_RAW_DOCUMENT_TEXT;
- // if (signature_holder.signature_object.isBinary())
- // {
- // writer.println("<input type=\"hidden\" name=\"" + input_key + "\" value=\""
- // + signature_holder.signed_text + "\" />");
- // }
- // else
- // {
- // writer.println("<div>");
- // writer.println("<textarea class=\"pr\" cols=\"80\" rows=\"14\" name=\"" +
- // input_key + "\">" + signature_holder.signed_text + "</textarea>");
- // writer.println("</div>");
- // }
- //
- // String html = renderRequiredKeys(signature_holder.signature_object,
- // name_prefix, false);
- // writer.println(html);
- //
- // writer.println("<input class=\"ip\" type=\"submit\" value=\"Werte
- // &uuml;bernehmen und pr&uuml;fen...\" onclick=\"document.submitform." +
- // FormFields.FIELD_VERIFY_WHICH + ".value='" + num + "'\" />");
- //
- // num++;
- // }
- // writer.println("</div>");
- //
- // writer.println("<input type=\"hidden\" name=\"" +
- // FormFields.FIELD_VERIFY_WHICH + "\" value=\"xxx\" />");// +
- // // FormFields.VALUE_VERIFY_WHICH_ALL
- // // +
- // // "\"
- // // />");
- // writer.println("<input class=\"ip\" type=\"submit\" value=\"Alle
- // pr&uuml;fen...\" onclick=\"document.submitform." +
- // FormFields.FIELD_VERIFY_WHICH + ".value='" +
- // FormFields.VALUE_VERIFY_WHICH_ALL + "'\" />");
- //
- // writer.println("</div>");
- // writer.println("</form>");
- // writer.println("</div>");
- //
- // writer.println("<a class=\"big\" href=\"/pdf-as/\">zurück</a>");
- //
- // writer.println("</div>");
- // writer.println("</body>");
- //
- // writer.println("</html>");
- //
- // }
-
- public static String renderRequiredKeysJavaScript(
- SignatureObject signature_object, String name_prefix)
- {
- StringWriter sw = new StringWriter();
- PrintWriter writer = new PrintWriter(sw);
-
- String[] rkeys = SignatureTypes.REQUIRED_SIG_KEYS;
-
- for (int key_idx = 0; key_idx < rkeys.length; key_idx++)
- {
- String key = rkeys[key_idx];
- SignatureEntry entry = signature_object.getSigEntry(key);
- String value = entry.getValue();
- if (SignatureTypes.SIG_ID.equals(key) && value == null)
- {
- continue;
- }
- if (SignatureTypes.SIG_KZ.equals(key) && value == null)
- {
- continue;
- }
-
- value = value.replaceAll("\\s", " ");
- value = value.replaceAll("\\\"", "\\\"");
-
- String input_key = name_prefix + key;
-
- writer.println(" document.submitform." + input_key + ".value = \"" + value + "\";");
- }
-
- return sw.toString();
- }
-
- public static String renderRequiredKeys(SignatureObject signature_object,
- String name_prefix, boolean write_value)
- {
- StringWriter sw = new StringWriter();
- PrintWriter writer = new PrintWriter(sw);
-
- writer.println("<table cellpadding=\"1\" cellspacing=\"1\" class=\"st\">");
-
- String[] rkeys = SignatureTypes.REQUIRED_SIG_KEYS;
-
- for (int key_idx = 0; key_idx < rkeys.length; key_idx++)
- {
- String key = rkeys[key_idx];
- SignatureEntry entry = signature_object.getSigEntry(key);
- String caption = entry.getCaption();
- String value = entry.getValue();
- if (SignatureTypes.SIG_ID.equals(key) && value == null)
- {
- continue;
- }
- if (SignatureTypes.SIG_KZ.equals(key) && value == null)
- {
- continue;
- }
-
- writer.println(" <tr>");
- writer.println(" <td width=\"10%\"><span>" + caption + ":</span></td>");
- writer.println(" <td width=\"90%\">");
-
- value = value.replaceAll("\\s", " ");
- value = value.replaceAll("\\\"", "\\\"");
-
- String input_key = name_prefix + key;
- writer.println(" <input size=\"70\" name=\"" + input_key + "\" type=\"text\" value=\"" + (write_value ? value : "wird automatisch ausgefüllt") + "\" />");
-
- writer.println(" </td>");
- writer.println(" </tr>");
- }
- writer.println("</table>");
-
- return sw.toString();
- }
-
- public static String renderRequiredKeysText(SignatureObject signature_object)
- {
- StringWriter sw = new StringWriter();
- PrintWriter writer = new PrintWriter(sw);
-
- writer.println("<table cellpadding=\"2\" cellspacing=\"0\" class=\"pdfaslisttable\">");
-
- // just render useful information
- // FIXME: NPE in case SignatureTypes.SIG_NAME is not used (in case of friendly signer name)
- // Problem: SignatureTypes.SIG_NAME is defined as Signer-RFC2253Name, but there is not certain
- // key for friendly name (e.g. SIG_SUBJECT or SIG_FOO), therefore we do not know which key contains
- // the friendly signer name
-
- // workaround: include "SIG_SUBJECT" since it is usually used
- String[] rkeys = { SignatureTypes.SIG_NAME, "SIG_SUBJECT", SignatureTypes.SIG_DATE, SignatureTypes.SIG_ISSUER, SignatureTypes.SIG_NUMBER}; // SignatureTypes.REQUIRED_SIG_KEYS;
-
- for (int key_idx = 0; key_idx < rkeys.length; key_idx++)
- {
- String key = rkeys[key_idx];
- SignatureEntry entry = signature_object.getSigEntry(key);
- if (entry == null) {
- continue;
- }
- String caption = entry.getCaption();
- String value = entry.getValue();
- if (caption == null || value == null) {
- continue;
- }
-
-// if (SignatureTypes.SIG_KZ.equals(key) && value == null)
-// {
-// continue;
-// }
-
- writer.println(" <tr>");
- writer.println(" <td class=\"pdfascaption\">" + caption + ":</td>");
- writer.println(" <td class=\"pdfasvalue\">");
-
- value = value.replaceAll("\\s", " ");
- value = value.replaceAll("\\\"", "\\\"");
-
- writer.println(" " + value);
-
- writer.println(" </td>");
- writer.println(" </tr>");
- }
- writer.println("</table>");
-
- return sw.toString();
- }
-
- protected void dispatchToResults(List results, HttpServletRequest request,
- HttpServletResponse response, boolean backbutton, String backToListURL) throws ServletException, IOException
- {
- request.setAttribute("results", results);
- request.setAttribute("backbutton", backbutton ? "true" : "false");
- request.setAttribute("btlurl", backToListURL);
- dispatch(request, response, "/jsp/results.jsp");
- }
-
- // public static void formatVerifyResults(List results,
- // HttpServletResponse response) throws IOException, SettingNotFoundException
- // {
- // response.setContentType("text/html");
- // response.setCharacterEncoding("UTF-8");
- //
- // PrintWriter writer = response.getWriter();
- //
- // writer.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0
- // Transitional//EN\"
- // \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">");
- // writer.println("<html>");
- // writer.println("<head>");
- // writer.println("<meta http-equiv=\"content-type\" content=\"text/html;
- // charset=UTF-8\" />");
- // writer.println("<title>PDF-AS Amtssignaturen Resultat</title>");
- // writer.println("<link rel=\"stylesheet\" type=\"text/css\"
- // href=\"/pdf-as/css/styles.css\" />");
- // writer.println("</head>");
- //
- // writer.println("<body>");
- // writer.println("<div>");
- //
- // writer.println("<h1>PDF-AS Amtssignaturen</h1>");
- //
- // writer.println("<div id=\"nav\">");
- // writer.println("<div id=\"nh\">Resultat</div>");
- // writer.println("<div id=\"res\">");
- //
- // Iterator it = results.iterator();
- // while (it.hasNext())
- // {
- // SignatureResponse result = (SignatureResponse) it.next();
- // formatSignatureResponse(result, writer);
- //
- // if (it.hasNext())
- // {
- // writer.println("<br />");
- // }
- // }
- //
- // writer.println("</div>");
- // writer.println("</div>");
- //
- // writer.println("<a class=\"big\" href=\"/pdf-as/\">zurück</a>");
- //
- // writer.println("</div>");
- // writer.println("</body>");
- //
- // writer.println("</html>");
- //
- // }
- //
- // public static void formatSignatureResponse(SignatureResponse result,
- // PrintWriter writer) throws SettingNotFoundException
- // {
- // writer.println("<fieldset><legend><b>Zertifikat</b></legend>");
- // writer.println("<table class=\"srt\">");
- // writer.println(" <tr><td>Signator:</td><td class=\"srtd\">" +
- // result.getX509SubjectName() + "</td></tr>");
- // writer.println(" <tr><td>Aussteller:</td><td class=\"srtd\">" +
- // result.getX509IssuerName() + "</td></tr>");
- // writer.println(" <tr><td>Seriennummer:</td><td class=\"srtd\">" +
- // result.getX509SerialNumber() + "</td></tr>");
- // List public_properties = result.getPublicProperties();
- // Iterator it = public_properties.iterator();
- // while (it.hasNext())
- // {
- // String public_property = (String) it.next();
- // writer.println(" <tr><td> Eigenschaft:</td><td class=\"srtd\">" +
- // public_property + "</td></tr>");
- // }
- //
- // writer.println(" <tr><td>Zertifikat:</td><td class=\"srcc_" +
- // result.getCertificateCheckCode() + "\">" + result.getCertificateCheckInfo()
- // + "</td></tr>");
- //
- // writer.println("</table>");
- // writer.println("</fieldset>");
- // writer.println("<fieldset><legend><b>Signatur-Check</b></legend>");
- // writer.println("<div class=\"srsc_" + result.getSignatureCheckCode() +
- // "\">" + result.getSignatureCheckInfo() + "</div>");
- // writer.println("</fieldset>");
- // writer.println("<fieldset><legend><b>Manifest-Check</b></legend>");
- // writer.println("<div class=\"srmc_" +
- // result.getSignatureManifestCheckCode() + "\">" +
- // result.getSignatureManifestCheckInfo() + "</div>");
- // writer.println("</fieldset>");
- // }
-
- /**
- * Form field name prefix for signature table names
- */
- public static final String SIG_INPUT_PREFIX = "sig_inp_";
-
- protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
- {
- try
- {
- Object sessionObject = SessionHelper.getSession(request);
-
- VerifySessionInformation si = (VerifySessionInformation)sessionObject;
-
-
- int verify_which = -1;
- boolean preview = false;
-
- {
- String str_verify_which = request.getParameter(FormFields.FIELD_VERIFY_WHICH);
- logger_.debug("verify_which = " + str_verify_which);
- if (str_verify_which.equals(FormFields.VALUE_VERIFY_WHICH_ALL))
- {
- verify_which = -1;
- }
- else
- {
- verify_which = Integer.parseInt(str_verify_which);
- }
- logger_.debug("verify_which = " + verify_which);
- }
-
- {
- String preview_string = request.getParameter(FormFields.FIELD_PREVIEW);
- if (preview_string.equals("true"))
- {
- preview = true;
- }
- }
-
- List holders_to_verify = si.signature_holders;
-
- if (verify_which >= 0)
- {
- if (verify_which >= si.signature_holders.size())
- {
- throw new SignatureException(312, "The selected signature to be verified doesn't exist.");
- }
-
- SignatureHolder holder = (SignatureHolder) si.signature_holders.get(verify_which);
-// si.current_operation = verify_which;
- holders_to_verify = new ArrayList();
- holders_to_verify.add(holder);
-
- if (preview == true)
- {
- if (holder instanceof BinarySignatureHolder)
- {
- BinarySignatureHolder binary_holder = (BinarySignatureHolder) holder;
- response.setContentType("application/pdf");
- StreamUtils.writeInputStreamToOutputStream(binary_holder.getSignedPdf().createInputStream(), response.getOutputStream());
-// response.getOutputStream().write(binary_holder.getSignedPdf(), 0, binary_holder.getSignedPdfLength());
- }
- else
- // if (holder.getSignatureObject().isTextual())
- {
- // formatPreview(holders_to_verify, si.connector, request,
- // response);
-// request.setAttribute(FormFields.FIELD_VERIFY_WHICH, new Integer(verify_which));
-
- dispatchToPreview(request, response, verify_which);
- }
-
- return;
- }
-
- }
-
- if (ConnectorFactory.isConnectorLocal(si.connector))
- {
- // what is this for? si.signature_holders must not be modified after extraction
- // TODO this seems to be buggy bug fixing - remove
-// List temp_holder = new ArrayList(si.signature_holders);
-//
-// si.copy_of_signature_holders = temp_holder;
-// si.signature_holders = holders_to_verify;
-
- String dispatch_to = LocalRequestHelper.processLocalVerify(si, holders_to_verify, request, response);
- dispatch(request, response, dispatch_to);
-
- return;
- }
-
- String host = request.getServerName();
-// URL loc_ref_URL = new URL(WebUtils.addJSessionID(LocalRequestHelper.getLocalContextAddress(request, response) + "/RetrieveSignatureData", request));
- URL loc_ref_URL = new URL(WebUtils.buildRetrieveSignatureDataURL(request, response));
- String loc_ref_url = response.encodeURL(loc_ref_URL.toString());
-
- List results = PdfAS.verifySignatureHoldersWeb(holders_to_verify, si, loc_ref_url);
- boolean backbutton = true;
- if (verify_which >= 0)
- {
- backbutton = false;
- }
- URL btlURL = new URL(LocalRequestHelper.getLocalContextAddress(request, response) + "/jsp/verifylist.jsp");
- String backToListURL = response.encodeURL(btlURL.toString());
- dispatchToResults(results, request, response, backbutton, backToListURL);
-
- }
- catch (PresentableException e)
- {
- logger_.error(e.getMessage(), e);
- SignServlet.prepareDispatchToErrorPage(e, request);
- dispatch(request, response, "/jsp/error.jsp");
- }
- }
-
- protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
- {
- DiskFileItemFactory fif = new DiskFileItemFactory();
- fif.setRepository(SettingsReader.getTemporaryDirectory());
- ServletFileUpload sfu = new ServletFileUpload(fif);
-
- try
- {
- Object sessionObject = SessionHelper.getSession(request);
-
- VerifySessionInformation si = (VerifySessionInformation)sessionObject;
-
-
- String text_to_be_verified = null;
- SignatureObject signature_object = new SignatureObject();
-
- String default_type = SettingsReader.getInstance().getValueFromKey(SignatureTypes.DEFAULT_TYPE);
- signature_object.setSigType(default_type);
- signature_object.initByType();
-
- int verify_which = -1;
- boolean verify = false;
-
- List items = sfu.parseRequest(request);
-
- Iterator it = items.iterator();
- while (it.hasNext())
- {
- FileItem item = (FileItem) it.next();
- logger_.debug("item = " + item.getFieldName());
-
- if (item.getFieldName().equals(FormFields.FIELD_RAW_DOCUMENT_TEXT))
- {
- String raw_document_text = item.getString("UTF-8");
- text_to_be_verified = PdfAS.normalizeText(raw_document_text);
- continue;
- }
-
- if (item.getFieldName().equals(FormFields.FIELD_VERIFY_WHICH))
- {
- String which_str = item.getString("UTF-8");
- verify_which = Integer.parseInt(which_str);
- continue;
- }
-
- if (item.getFieldName().equals("verify"))
- {
- if (item.getString("UTF-8").equals("true"))
- {
- verify = true;
- }
- continue;
- }
-
- String key = item.getFieldName();
- String value = item.getString("UTF-8");
-
- signature_object.setSigValue(key, value);
- logger_.debug("sig_obj_number" + key + " = " + value);
- }
-
- SignatureHolder old_holder = (SignatureHolder) si.signature_holders.get(verify_which);
- TempDirHelper.deleteDataSourceIfFileBased(old_holder.getDataSource());
-
- TextDataSource tds = TempDirHelper.placeTextIntoTempDir(text_to_be_verified, "_previewholder.utf8.txt");
- SignatureHolder new_holder = new TextualSignatureHolder(tds, signature_object);
-
- si.signature_holders.set(verify_which, new_holder);
-
- if (verify == false)
- {
- dispatchToDataOk(request, response);
- return;
- }
-
- List holders_to_verify = si.signature_holders;
-
- if (verify_which >= 0)
- {
- if (verify_which >= si.signature_holders.size())
- {
- throw new SignatureException(312, "The selected signature to be verified doesn't exist.");
- }
-
- SignatureHolder holder = (SignatureHolder) si.signature_holders.get(verify_which);
- holders_to_verify = new ArrayList();
- holders_to_verify.add(holder);
- }
-
- if (ConnectorFactory.isConnectorLocal(si.connector))
- {
- String dispatch_to = LocalRequestHelper.processLocalVerify(si, holders_to_verify, request, response);
- dispatch(request, response, dispatch_to);
- return;
- }
-
- String host = request.getServerName();
-// URL loc_ref_URL = new URL(WebUtils.addJSessionID(LocalRequestHelper.getLocalContextAddress(request, response) + "/RetrieveSignatureData", request));
- URL loc_ref_URL = new URL(WebUtils.buildRetrieveSignatureDataURL(request, response));
- String loc_ref_url = response.encodeURL(loc_ref_URL.toString());
-
- List results = PdfAS.verifySignatureHoldersWeb(holders_to_verify, si, loc_ref_url);
-
- URL btlURL = new URL(LocalRequestHelper.getLocalContextAddress(request, response) + "/jsp/verifylist.jsp");
- String backToListURL = response.encodeURL(btlURL.toString());
- dispatchToResults(results, request, response, true, backToListURL);
- }
- catch (FileUploadException e)
- {
- request.setAttribute("error", "verifypreviewservlet.error");
- request.setAttribute("cause", "verifypreviewservlet.cause");
- request.setAttribute("resourcebundle", Boolean.TRUE);
- dispatch(request, response, "/jsp/error.jsp");
- }
- catch (PresentableException e)
- {
- logger_.error(e.getMessage(), e);
- SignServlet.prepareDispatchToErrorPage(e, request);
- dispatch(request, response, "/jsp/error.jsp");
- }
- }
-}