From 527484bcc0a65c61d50209849f7b3db34f0128f7 Mon Sep 17 00:00:00 2001 From: knowcenter Date: Thu, 17 May 2007 15:28:32 +0000 Subject: web git-svn-id: https://joinup.ec.europa.eu/svn/pdf-as/trunk@87 7b5415b0-85f9-ee4d-85bd-d5d0c3b42d1c --- .../at/knowcenter/wag/egov/egiz/web/Verify.java | 285 --------------------- 1 file changed, 285 deletions(-) delete mode 100644 src/main/java/at/knowcenter/wag/egov/egiz/web/Verify.java (limited to 'src/main/java/at/knowcenter/wag/egov/egiz/web/Verify.java') diff --git a/src/main/java/at/knowcenter/wag/egov/egiz/web/Verify.java b/src/main/java/at/knowcenter/wag/egov/egiz/web/Verify.java deleted file mode 100644 index a8a5a5b..0000000 --- a/src/main/java/at/knowcenter/wag/egov/egiz/web/Verify.java +++ /dev/null @@ -1,285 +0,0 @@ -/* - * Copyright (c) 2006 by Know-Center, Graz, Austria - * - * 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: Verify.java,v 1.7 2006/10/11 07:39:13 wprinz Exp $ - */ -package at.knowcenter.wag.egov.egiz.web; - -import java.io.IOException; -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.log4j.Logger; - -import at.knowcenter.wag.egov.egiz.PdfAS; -import at.knowcenter.wag.egov.egiz.cfg.ConfigLogger; -import at.knowcenter.wag.egov.egiz.cfg.SettingsReader; -import at.knowcenter.wag.egov.egiz.exceptions.PDFDocumentException; -import at.knowcenter.wag.egov.egiz.exceptions.PresentableException; -import at.knowcenter.wag.egov.egiz.framework.VerificationFilter; -import at.knowcenter.wag.egov.egiz.sig.ConnectorFactory; - -/** - * This method is the verify servlet for the pdf-as web application. It takes - * get and post requests fill out jsp templates and give the user feedback about - * the results of the verify process. - * - * @author wlackner - * @author wprinz - */ -public class Verify extends HttpServlet -{ - - /** - * SVUID. - */ - private static final long serialVersionUID = 309198792358636766L; - - /** - * The logger. - */ - private static final Logger logger_ = ConfigLogger.getLogger(Verify.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 dispatchToResults(List results, HttpServletRequest request, - HttpServletResponse response) throws ServletException, IOException - { - request.setAttribute("results", results); - dispatch(request, response, "/jsp/results.jsp"); - } - - - public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException - { - dispatch(request, response, "/jsp/verifyupload.jsp"); - } - - public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException - { - - DiskFileItemFactory fif = new DiskFileItemFactory(); - fif.setRepository(SettingsReader.getTemporaryDirectory()); - ServletFileUpload sfu = new ServletFileUpload(fif); - - try - { - - List items = sfu.parseRequest(request); - - FileItem upload_fi = null; - FileItem connector_fi = null; -// FileItem mode_fi = null; - FileItem preview_fi = null; - - { - Iterator it = items.iterator(); - while (it.hasNext()) - { - FileItem item = (FileItem) it.next(); - logger_.debug("item = " + item.getFieldName()); - - if (item.isFormField()) - { - byte[] item_data = item.get(); - String item_string = new String(item_data, "UTF-8"); - logger_.debug(" form field string = " + item_string); - } - else - { - logger_.debug(" filename = " + item.getName()); - logger_.debug(" filesize = " + item.getSize()); - } - - if (item.getFieldName().equals(FormFields.FIELD_UPLOAD)) - { - upload_fi = item; - continue; - } - - if (item.getFieldName().equals(FormFields.FIELD_CONNECTOR)) - { - connector_fi = item; - continue; - } - -// if (item.getFieldName().equals(FormFields.FIELD_MODE)) -// { -// mode_fi = item; -// continue; -// } - - if (item.getFieldName().equals(FormFields.FIELD_PREVIEW)) - { - preview_fi = item; - continue; - } - - throw new ServletException("unrecognized POST data."); - } - } - - if (upload_fi == null || connector_fi == null || /*mode_fi == null ||*/ preview_fi == null) - { - throw new ServletException("Unsufficient data provided in request."); - } - - String connector = connector_fi.getString("UTF-8"); - -// String mode = mode_fi.getString("UTF-8"); -// if (!mode.equals(FormFields.VALUE_MODE_BINARY) && !mode.equals(FormFields.VALUE_MODE_TEXTUAL)) -// { -// throw new ServletException("The mode '" + mode + "' is unrecognized."); -// } - - String preview_str = preview_fi.getString("UTF-8"); - if (!preview_str.equals(FormFields.VALUE_TRUE) && !preview_str.equals(FormFields.VALUE_FALSE)) - { - throw new ServletException("The preview '" + preview_str + "' is unrecognized."); - } - boolean preview = false; - if (preview_str.equals(FormFields.VALUE_TRUE)) - { - preview = true; - } - - // process the request - logger_.debug("file content type =" + upload_fi.getContentType()); - logger_.debug("file size = " + upload_fi.getSize()); - if (upload_fi.getSize() <= 0) - { - throw new PDFDocumentException(250, "The document is empty."); - } - byte[] document_bytes = upload_fi.get(); - - VerificationFilter vf = new VerificationFilter(); - List signature_holders = null; - - String doc_file_name = upload_fi.getName(); - String extension = extractExtension(doc_file_name); - - String raw_text = null; - if (doc_file_name == null || (extension != null && extension.equals("txt"))) - { - raw_text = new String(document_bytes, "UTF-8"); - signature_holders = vf.extractSignaturesFromPlainText(raw_text); - } - else - { - signature_holders = vf.extractSignaturesFromPdf(document_bytes); - } - - if (signature_holders.size() == 0) - { - throw new PDFDocumentException(206, "PDF document not signed."); - } - - if (preview) - { - SessionInformation si = new SessionInformation(); - si.application = "verify"; - si.connector = connector; - si.signature_holders = signature_holders; - request.getSession().setAttribute(SessionAttributes.ATTRIBUTE_SESSION_INFORMATION, si); - - dispatch(request, response, "/jsp/verifylist.jsp"); - //VerifyPreview.formatPreview(signature_holders, connector, request, response); - } - else - { - if (ConnectorFactory.isConnectorLocal(connector)) - { - SessionInformation si = new SessionInformation(); //SessionTable.generateSessionInformationObject(); - si.connector = connector; - si.application = "verify"; - si.mode = null; - si.pdf = null; - si.type = null; - si.user_name = null; - si.user_password = null; - - si.signature_holders = signature_holders; - - LocalRequestHelper.processLocalVerify(si, si.signature_holders, request, response); - dispatch(request, response, LocalRequestHelper.LOCAL_CONNECTION_PAGE_JSP); - return; - } - - List results = PdfAS.verifySignatureHolders(signature_holders, connector); - dispatchToResults(results, request, response); - } - - } - catch (FileUploadException e) - { - request.setAttribute("error", "Fehler beim Upload der Daten"); - request.setAttribute("cause", "Beim Upload der Daten ist ein Fehler aufgetreten."); - dispatch(request, response, "/jsp/error.jsp"); - } - catch (PresentableException e) - { - e.printStackTrace(); - Sign.prepareDispatchToErrorPage(e, request); - dispatch(request, response, "/jsp/error.jsp"); - } - - } - - /** - * Extracts the extension from a file name string. - * - *

- * The extension of a file name is whatever text follows the last '.'. - *

- * - * @param file_name - * The file name. - * @return Returns the extension. If the file name ends with the '.', then an - * empty string is returned. If the file name doesn't contain any '.' - * or file_name is null, null is returned. - */ - public static String extractExtension(String file_name) - { - if (file_name == null) - { - return null; - } - - int dot_index = file_name.lastIndexOf('.'); - if (dot_index < 0) - { - return null; - } - return file_name.substring(dot_index + 1); - } -} \ No newline at end of file -- cgit v1.2.3