diff --git a/src/main/java/pl/psnc/dl/ege/webapp/servlethelpers/Conversion.java b/src/main/java/pl/psnc/dl/ege/webapp/servlethelpers/Conversion.java index 7b9cf8b..65c3b08 100644 --- a/src/main/java/pl/psnc/dl/ege/webapp/servlethelpers/Conversion.java +++ b/src/main/java/pl/psnc/dl/ege/webapp/servlethelpers/Conversion.java @@ -315,7 +315,7 @@ protected static void performConversion(HttpServletResponse response, ValidationResult vRes = ege.performValidation(ins, cpath.getInputDataType()); if (vRes.getStatus().equals(ValidationResult.Status.FATAL)) { Validation valServ = new Validation(); - valServ.printValidationResult(response, vRes, rr); + valServ.printValidationResult(response, vRes, rr, fname); try { ins.close(); } finally { diff --git a/src/main/java/pl/psnc/dl/ege/webapp/servlethelpers/Validation.java b/src/main/java/pl/psnc/dl/ege/webapp/servlethelpers/Validation.java index 5eab14a..feb5a40 100644 --- a/src/main/java/pl/psnc/dl/ege/webapp/servlethelpers/Validation.java +++ b/src/main/java/pl/psnc/dl/ege/webapp/servlethelpers/Validation.java @@ -137,6 +137,7 @@ private void performValidation(DataType dt, RequestResolver rr, { EGE ege = new EGEImpl(); InputStream is = null; + String fname; if (ServletFileUpload.isMultipartContent(rr.getRequest())) { try { ServletFileUpload upload = new ServletFileUpload(); @@ -145,9 +146,13 @@ private void performValidation(DataType dt, RequestResolver rr, FileItemStream item = iter.next(); if (!item.isFormField()) { is = item.openStream(); + int dotIndex = item.getName().lastIndexOf("."); + fname = null; + if (dotIndex == -1 || dotIndex == 0) fname = item.getName(); + else fname = item.getName().substring(0, dotIndex); //perform validation and print result to response. ValidationResult result = ege.performValidation(is, dt); - printValidationResult(response,result, rr); + printValidationResult(response,result, rr, fname); is.close(); } } @@ -172,9 +177,8 @@ private void performValidation(DataType dt, RequestResolver rr, } } - public void printValidationResult(HttpServletResponse response, ValidationResult result, RequestResolver rr) throws IOException{ + public void printValidationResult(HttpServletResponse response, ValidationResult result, RequestResolver rr, String fname) throws IOException{ response.setContentType("text/xml;charset=utf-8"); - String fname = rr.getRequest().getParameter("filename"); String fileextension = "_validation.xml"; response.setHeader("Content-Disposition", "attachment;filename=\"" + fname + fileextension + "\""); PrintWriter out = response.getWriter();