List of usage examples for org.springframework.web.multipart MultipartFile getInputStream
@Override
InputStream getInputStream() throws IOException;
From source file:seava.j4e.web.controller.upload.FileUploadController.java
/** * Generic file upload. Expects an uploaded file and a handler alias to * delegate the uploaded file processing. * //from ww w . j a v a 2 s .co m * @param handler * spring bean alias of the * {@link seava.j4e.api.service.IFileUploadService} which should * process the uploaded file * @param file * Uploaded file * @param request * @param response * @return * @throws Exception */ @RequestMapping(value = "/{handler}", method = RequestMethod.POST) @ResponseBody public String fileUpload(@PathVariable("handler") String handler, @RequestParam("file") MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws Exception { try { if (logger.isInfoEnabled()) { logger.info("Processing file upload request with-handler {} ", new Object[] { handler }); } if (file.isEmpty()) { throw new BusinessException(ErrorCode.G_FILE_NOT_UPLOADED, "Upload was not succesful. Try again please."); } this.prepareRequest(request, response); IFileUploadService srv = this.getFileUploadService(handler); Map<String, String> paramValues = new HashMap<String, String>(); for (String p : srv.getParamNames()) { paramValues.put(p, request.getParameter(p)); } IUploadedFileDescriptor fileDescriptor = new UploadedFileDescriptor(); fileDescriptor.setContentType(file.getContentType()); fileDescriptor.setOriginalName(file.getOriginalFilename()); fileDescriptor.setNewName(file.getName()); fileDescriptor.setSize(file.getSize()); Map<String, Object> result = srv.execute(fileDescriptor, file.getInputStream(), paramValues); result.put("success", true); ObjectMapper mapper = getJsonMapper(); return mapper.writeValueAsString(result); } catch (Exception e) { return this.handleManagedException(null, e, response); } finally { this.finishRequest(); } }
From source file:com.ssic.education.provider.controller.ProSupplierController.java
/** * ??/*from w ww. j a va2s . c o m*/ * * @param file * @param request * @param response * @return * @author chenminghai * @throws IOException */ @RequestMapping("/supplierImport") @ResponseBody public Json supplierImport(MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException { Json j = new Json(); SessionInfo info = (SessionInfo) request.getSession().getAttribute(ConfigUtil.SESSIONINFONAME); // ???id String supplierId = info.getSupplierId(); String errorMsg = null; Map<String, Map<ProSupplierReceiver, ProSupplier>> map = new HashMap(); Set<String> set = new HashSet(); try (Workbook wb = WorkbookFactory.create(file.getInputStream());) { Sheet sheet = wb.getSheetAt(0); Date now = new Date(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy.M.d"); if (sheet == null) { return null; } for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) { if (errorMsg != null) { break; } Map<ProSupplierReceiver, ProSupplier> suppliers = new HashMap(); ProSupplier supplier = null; ProSupplierReceiver psr = null; Row row = sheet.getRow(rowNum); int n = 0; for (int i = 0; i < row.getLastCellNum(); i++) { if (errorMsg != null) { break; } Cell cell = row.getCell(i); String value = ParseExcelUtil.getStringCellValue(cell); if (value != null) { value = value.trim(); } if (i == 0) { // ?? if (StringUtils.isBlank(value)) { errorMsg = "" + (rowNum + 1) + "???????"; break; } ProSupplier s = supplierService.findProSupplierByName(value, supplierId); if (s != null) { errorMsg = "" + (rowNum + 1) + "??????"; break; } if (map.get(value) != null) { errorMsg = "" + (rowNum + 1) + "????????"; break; } supplier = new ProSupplier(); supplier.setSupplierName(value); supplier.setCreateTime(now); supplier.setUpdater(info.getId()); supplier.setLastUpdateTime(now); supplier.setStat(1); } else if (i == 1) { // ??? if (StringUtils.isBlank(value)) { errorMsg = "" + (rowNum + 1) + "??????"; break; } supplier.setAddress(value); // } else if (i == 2) { // // ? // if (StringUtils.isBlank(value)) { // n += 1; // break; // } // supplier.setFoodServiceCode(value); // } else if (i == 2) { // if (StringUtils.isBlank(value)) { // n += 1; // break; // } // supplier.setFoodBusinessCode(value); } else if (i == 2) { if (StringUtils.isBlank(value)) { n += 1; continue; } supplier.setFoodCirculationCode(value); } else if (i == 3) { if (StringUtils.isBlank(value)) { if (n == 1) { errorMsg = "" + (rowNum + 1) + "???"; } break; } supplier.setFoodProduceCode(value); // } else if (i == 6) { // if (StringUtils.isBlank(value)) { // if (n == 4) { // errorMsg = "" + (rowNum + 1) // + "?????"; // } // break; // } // supplier.setBusinessLicense(value); // } else if (i == 7 && !StringUtils.isBlank(value)) { // // ??? // int x = srService.findBySupplierCode(value, supplierId); // if (x != 0) { // errorMsg = "" + (rowNum + 1) + "?????"; // break; // } // if(value!=null&& !StringUtils.isBlank(value)){ // int s=set.size(); // set.add(value); // if(s==set.size()){ // errorMsg = "" + (rowNum + 1) + "???????"; // break; // } // } // psr = new ProSupplierReceiver(); // psr.setSupplierCode(value); } else if (i == 4) { // ? if (StringUtils.isBlank(value)) { errorMsg = "" + (rowNum + 1) + "????"; break; } supplier.setCorporation(value); } else if (i == 5) { // ?? if (StringUtils.isBlank(value)) { errorMsg = "" + (rowNum + 1) + "????"; break; } supplier.setContactWay(value); } } if (supplier != null && errorMsg == null) { supplier.setId(UUID.randomUUID().toString()); supplier.setSupplierType(0); supplier.setReviewed((byte) 1); if (psr == null) { psr = new ProSupplierReceiver(); } psr.setId(UUID.randomUUID().toString()); psr.setSupplierId(supplier.getId()); psr.setReceiverId(supplierId); psr.setCreateTime(new Date()); psr.setLastUpdateTime(psr.getCreateTime()); suppliers.put(psr, supplier); map.put(supplier.getSupplierName(), suppliers); } } } catch (EncryptedDocumentException | InvalidFormatException e) { errorMsg = "Excel??"; } if (errorMsg != null) { j.setMsg(errorMsg); j.setSuccess(false); } else { int r = supplierService.importSupplier(map); j.setMsg("?" + r + "??"); j.setSuccess(true); } return j; }
From source file:com.ssic.education.provider.controller.WaresController.java
@RequestMapping(value = "/import") @ResponseBody// ww w .j a va 2s .co m /** * ?excel * * @param file * @param request * @param response * @return * @author zhangjiwei * @since 2016.5.21 */ public Json importExcel(@RequestParam("filename") MultipartFile file, HttpServletRequest request, HttpServletResponse response) throws IOException { Json j = new Json(); SessionInfo info = (SessionInfo) request.getSession().getAttribute(ConfigUtil.SESSIONINFONAME); // ?id String supplierId = info.getSupplierId(); String errorMsg = null; // ?excellist List<ProWares> list = new ArrayList(); Set<String> set = new HashSet(); // ?excel try (Workbook wb = WorkbookFactory.create(file.getInputStream());) { Sheet sheet = wb.getSheetAt(0); if (sheet == null) { return null; } Date now = new Date(); for (int rowNum = 1; rowNum <= sheet.getLastRowNum(); rowNum++) { if (errorMsg != null) { break; } ProWares dto = new ProWares(); Row row = sheet.getRow(rowNum); for (int i = 0; i < row.getLastCellNum(); i++) { if (errorMsg != null) { break; } Cell cell = row.getCell(i); String value = ParseExcelUtil.getStringCellValue(cell); if (value != null) { value = value.trim(); } if (i == 0) { if (StringUtils.isBlank(value)) { errorMsg = "" + (rowNum + 1) + "?????"; break; } // ??? dto.setWaresName(value); } else if (i == 1) { if (StringUtils.isBlank(value)) { errorMsg = "" + (rowNum + 1) + "??????"; break; } // ? dto.setAmountUnit(value); } else if (i == 2) { // ? dto.setSpec(value); } else if (i == 3) { if (StringUtils.isBlank(value)) { errorMsg = "" + (rowNum + 1) + "???"; break; } // ? try { dto.setWaresType(ProductClass.fromName(value)); if (dto.getWaresType() == null) { errorMsg = "" + (rowNum + 1) + "???"; break; } } catch (Exception e) { errorMsg = "" + (rowNum + 1) + "???"; break; } } else if (i == 4) { // ? if (StringUtils.isBlank(value)) { errorMsg = "" + (rowNum + 1) + "????"; break; } dto.setManufacturer(value); // ??? ProWares pw = waresService.findProWarsByNameSpecManu(dto.getWaresName(), dto.getAmountUnit(), dto.getManufacturer(), supplierId); if (pw != null) { errorMsg = "" + (rowNum + 1) + "???"; break; } String mark = dto.getWaresName() + "," + dto.getAmountUnit() + "," + dto.getManufacturer(); int m = set.size(); set.add(mark); if (m == set.size()) { errorMsg = "" + (rowNum + 1) + "?????"; break; } // } else if (i == 4 && StringUtils.isNotBlank(value)) { // // ?? // dto.setEnName(value); // } else if (i == 5 && StringUtils.isNotBlank(value)) { // // ??? // dto.setBarCode(value); // } else if (i == 6 && StringUtils.isNotBlank(value)) { // // ?? // dto.setCustomCode(value); } else if (i == 5 && StringUtils.isNotBlank(value)) { // ? try { dto.setShelfLife(Integer.parseInt(value)); } catch (Exception e) { errorMsg = "" + (rowNum + 1) + "?????"; break; } } else if (i == 6) { // ??? if (dto.getShelfLife() != null) { if (StringUtils.isBlank(value)) { errorMsg = "" + (rowNum + 1) + "????"; break; } dto.setUnit(value); } else { if (StringUtils.isNotBlank(value)) { dto.setShelfLife(0); dto.setUnit(value); } } } else if (i == 7 && StringUtils.isNotBlank(value)) { // dto.setPlace(value); } } if (errorMsg != null) { break; } dto.setSupplierId(supplierId); dto.setWay(0); dto.setDishes(false); dto.setCreator(info.getId()); dto.setCreateTime(now); dto.setUpdater(info.getId()); dto.setLastUpdateTime(now); dto.setStat(1); list.add(dto); } } catch (EncryptedDocumentException | InvalidFormatException e) { errorMsg = "Excel??"; } if (errorMsg != null) { // TODO ??? j.setMsg(errorMsg); j.setSuccess(false); return j; } else { // ? waresService.addProWares(list); j.setMsg("??"); j.setSuccess(true); return j; } }
From source file:com.zhenhappy.ems.action.user.VisaAction.java
@RequestMapping(value = "/visa/saveVisa", method = RequestMethod.POST) public ModelAndView saveVisa(@ModelAttribute(Principle.PRINCIPLE_SESSION_ATTRIBUTE) Principle principle, @ModelAttribute SaveVisaInfoRequest visa, @RequestParam(value = "license", required = false) MultipartFile license, @RequestParam(value = "passportPageFile", required = false) MultipartFile passportPage) { ModelAndView modelAndView = new ModelAndView("/user/callback"); try {// w w w.j a v a2 s .c o m SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.isNotEmpty(visa.getBirthDay())) { visa.setBirth(sdf.parse(visa.getBirthDay())); } if (StringUtils.isNotEmpty(visa.getFromDate())) { visa.setFrom(sdf.parse(visa.getFromDate())); } if (StringUtils.isNotEmpty(visa.getToDate())) { visa.setTo(sdf.parse(visa.getToDate())); } if (StringUtils.isNotEmpty(visa.getExpireDate())) { visa.setExpDate(sdf.parse(visa.getExpireDate())); } if (license != null) { String fileName = systemConfig.getVal(Constants.appendix_directory) + "/" + new Date().getTime() + "." + FilenameUtils.getExtension(license.getOriginalFilename()); if (license != null && license.getSize() != 0) { FileUtils.copyInputStreamToFile(license.getInputStream(), new File(fileName)); visa.setBusinessLicense(fileName); } } if (passportPage != null) { String fileName = systemConfig.getVal(Constants.appendix_directory) + "/" + new Date().getTime() + "." + FilenameUtils.getExtension(passportPage.getOriginalFilename()); if (passportPage != null && passportPage.getSize() != 0) { FileUtils.copyInputStreamToFile(passportPage.getInputStream(), new File(fileName)); visa.setPassportPage(fileName); } } visa.setEid(principle.getExhibitor().getEid()); TVisa temp = new TVisa(); BeanUtils.copyProperties(visa, temp); visaService.saveOrUpdate(temp); modelAndView.addObject("method", "addSuccess"); } catch (Exception e) { log.error("add visa error", e); modelAndView.addObject("method", "addFailure"); } return modelAndView; }
From source file:com.xx.backend.controller.EmployeeController.java
@RequestMapping("/form_upload.json") public @ResponseBody String fileUpload(@RequestParam(value = "file") MultipartFile file, HttpServletRequest request) {/*from w w w. j av a2s .c o m*/ //?? @RequestParam(value = "file")jspid?? //jspid=filefile??@RequestParam(value = "filefile") Map<String, Object> map = new HashMap<String, Object>(); // if (file.isEmpty()) { // map.put("message", "?"); // return map; // } // if (!isTrue) { // map.put("message", "?"); // return map; // } // if (file.getSize()>file_size) { // map.put("message", "??2M"); // return map; // } String pathsrv = request.getSession().getServletContext().getRealPath("upload"); String fileName = file.getOriginalFilename(); String path = pathsrv + "/" + fileName; try { FileUtils.copyInputStreamToFile(file.getInputStream(), new File(path)); map.put("message", "Y");// ? } catch (IOException e) { map.put("message", "N");// } path = path.replace("\\", "/"); map.put("fileName", path); return JSONObject.toJSONString(map); }
From source file:com.ephesoft.dcma.webservice.service.EphesoftWebService.java
/** * Sign up method./*from w w w.j a v a2 s . c o m*/ * @param request {@link HttpServletRequest} * @param response {@link HttpServletResponse} */ @RequestMapping(value = "/signUp", method = RequestMethod.POST) @ResponseBody public void signUp(final HttpServletRequest request, final HttpServletResponse response) { LOGGER.info("Start processing sign up process"); String workingDir = WebServiceUtil.EMPTY_STRING; InputStream instream = null; if (request instanceof DefaultMultipartHttpServletRequest) { UserInformation userInformation = null; User user = null; String receiverName = null; try { final String webServiceFolderPath = batchSchemaService.getWebServicesFolderPath(); workingDir = WebServiceUtil.createWebServiceWorkingDir(webServiceFolderPath); LOGGER.info("workingDir:" + workingDir); final String outputDir = WebServiceUtil.createWebServiceOutputDir(workingDir); LOGGER.info("outputDir:" + outputDir); final DefaultMultipartHttpServletRequest multipartRequest = (DefaultMultipartHttpServletRequest) request; final String batchClassId = request.getParameter("batchClassId"); final String batchClassPriority = request.getParameter("batchClassPriority"); final String batchClassDescription = request.getParameter("batchClassDescription"); String batchClassName = request.getParameter("batchClassName"); batchClassName = getUniqueBatchClassName(batchClassName); final String batchInstanceLimit = request.getParameter("batchInstanceLimit"); final String noOfDays = request.getParameter("noOfDays"); final String pageCount = request.getParameter("pageCount"); String uncFolder = "unc" + ICommonConstants.HYPHEN + batchClassName; LOGGER.info("Batch Class ID value is: " + batchClassId); LOGGER.info("Batch Class Priority value is: " + batchClassPriority); LOGGER.info("Batch Class Description value is: " + batchClassDescription); LOGGER.info("Batch Class Name value is: " + batchClassName); LOGGER.info("UNC Folder value is: " + uncFolder); final MultiValueMap<String, MultipartFile> fileMap = multipartRequest.getMultiFileMap(); for (final String fileName : fileMap.keySet()) { if (fileName.toLowerCase(Locale.getDefault()) .indexOf(FileType.XML.getExtension().toLowerCase()) > -WebserviceConstants.ONE) { final MultipartFile multipartFile = multipartRequest.getFile(fileName); instream = multipartFile.getInputStream(); final Source source = XMLUtil.createSourceFromStream(instream); userInformation = (UserInformation) batchSchemaDao.getJAXB2Template().getJaxb2Marshaller() .unmarshal(source); user = createUserObjectFromUserInformation(userInformation); break; } } if (userInformation != null && user != null) { LOGGER.info("Recevier name created: " + receiverName); userConnectivityService.addUser(userInformation); LOGGER.info("Successfully added user for email id: " + userInformation.getEmail()); userConnectivityService.addGroup(userInformation); LOGGER.info("Successfully added group for email id: " + userInformation.getEmail()); BatchClass batchClass = batchClassService.copyBatchClass( batchClassId, batchClassName, batchClassDescription, userInformation.getCompanyName() + ICommonConstants.UNDERSCORE + userInformation.getEmail(), batchClassPriority, uncFolder, true); LOGGER.info("Adding user information into database"); user.setBatchClass(batchClass); userService.createUser(user); LOGGER.info("Successfully added user information into database"); BatchClassCloudConfig batchClassCloudConfig = createBatchClassCloudConfig(batchInstanceLimit, noOfDays, pageCount, batchClass); batchClassCloudConfigService.createBatchClassCloudConfig(batchClassCloudConfig); LOGGER.info("Successfully copied batch class for batch class: " + batchClassId); deploymentService.createAndDeployBatchClassJpdl(batchClass); LOGGER.info("Batch Class deployed successfully"); wizardMailService.sendConfirmationMail(userInformation, false, null); LOGGER.info("User login information sent for email id: " + userInformation.getEmail()); } else { LOGGER.error( "user Information file is invalid. Unable create the User Information Object from XML."); } } catch (WizardMailException wizardMailException) { try { response.sendError(HttpServletResponse.SC_CREATED); } catch (IOException e) { LOGGER.error(ERROR_IN_SENDING_STATUS_USING_WEB_SERVICE); } } catch (Exception e) { LOGGER.error("Exception occurs while sign up process: " + e.getMessage(), e); if (userInformation != null && user != null) { LOGGER.info("Deleting created user/groups while signup for : " + userInformation.getEmail()); userConnectivityService.deleteUser(userInformation.getEmail()); userConnectivityService.deleteGroup(userInformation.getCompanyName() + ICommonConstants.UNDERSCORE + userInformation.getEmail()); userService.deleteUser(user); LOGGER.info( "Successfully deleted user/groups while signup for : " + userInformation.getEmail()); LOGGER.info("Sending error mail"); try { wizardMailService.sendConfirmationMail(userInformation, true, ExceptionUtils.getStackTrace(e)); LOGGER.info("Error mail sent succesfully"); } catch (WizardMailException e1) { LOGGER.error("Error in sending error mail to client"); } } try { response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR); } catch (IOException e1) { LOGGER.error(ERROR_IN_SENDING_STATUS_USING_WEB_SERVICE); } } } }
From source file:aiai.ai.launchpad.server.ServerController.java
private UploadResult uploadResource(MultipartFile file, Long taskId) { String originFilename = file.getOriginalFilename(); if (originFilename == null) { return new UploadResult(false, "#442.01 name of uploaded file is null"); }//w w w.jav a2s . c o m if (taskId == null) { return new UploadResult(false, "#442.87 taskId is null"); } Task task = taskRepository.findById(taskId).orElse(null); if (task == null) { return new UploadResult(false, "#442.83 taskId is null"); } final TaskParamYaml taskParamYaml = taskParamYamlUtils.toTaskYaml(task.getParams()); try { File tempDir = DirUtils.createTempDir("upload-resource-"); if (tempDir == null || tempDir.isFile()) { final String location = System.getProperty("java.io.tmpdir"); return new UploadResult(false, "#442.04 can't create temporary directory in " + location); } final File resFile = new File(tempDir, "resource."); log.debug("Start storing an uploaded resource data to disk"); try (OutputStream os = new FileOutputStream(resFile)) { IOUtils.copy(file.getInputStream(), os, 64000); } try (InputStream is = new FileInputStream(resFile)) { binaryDataService.save(is, resFile.length(), Enums.BinaryDataType.DATA, taskParamYaml.outputResourceCode, taskParamYaml.outputResourceCode, false, null); } } catch (Throwable th) { log.error("Error", th); return new UploadResult(false, "#442.05 can't load snippets, Error: " + th.toString()); } task.resultReceived = true; taskRepository.save(task); return OK_UPLOAD_RESULT; }
From source file:it.smartcommunitylab.climb.domain.controller.ChildController.java
@RequestMapping(value = "/api/child/image/upload/png/{ownerId}/{objectId}", method = RequestMethod.POST) public @ResponseBody String uploadImage(@RequestParam("file") MultipartFile file, @PathVariable String ownerId, @PathVariable String objectId, HttpServletRequest request) throws Exception { Criteria criteria = Criteria.where("objectId").is(objectId); Child child = storage.findOneData(Child.class, criteria, ownerId); if (child == null) { throw new EntityNotFoundException("child not found"); }//from w w w. ja v a 2 s .co m if (!validateAuthorization(ownerId, child.getInstituteId(), child.getSchoolId(), null, null, Const.AUTH_RES_Image, Const.AUTH_ACTION_ADD, request)) { throw new UnauthorizedException("Unauthorized Exception: token not valid"); } String name = objectId + ".png"; if (logger.isInfoEnabled()) { logger.info("uploadImage:" + name); } if (!file.isEmpty()) { BufferedOutputStream stream = new BufferedOutputStream( new FileOutputStream(new File(imageUploadDir + "/" + name))); FileCopyUtils.copy(file.getInputStream(), stream); stream.close(); } return "{\"status\":\"OK\"}"; }
From source file:com.baidu.upload.controller.ImageController.java
@RequestMapping(value = "/upload", method = RequestMethod.POST) public @ResponseBody Map<String, Object> upload(MultipartHttpServletRequest request, HttpServletResponse response, Integer reqid) { log.debug("uploadPost called"); System.out.println("id" + reqid); //????/*from w w w.ja va2s. c o m*/ Iterator<String> itr = request.getFileNames(); MultipartFile mpf; List<Image> list = new LinkedList<Image>(); InputStream is = null; List<File> newfiles = new ArrayList<File>(); while (itr.hasNext()) { mpf = request.getFile(itr.next()); //?uuid?? String newFilenameBase = UUID.randomUUID().toString(); //???? String originalFileExtension = mpf.getOriginalFilename() .substring(mpf.getOriginalFilename().lastIndexOf(".")); //??? String newFilename = newFilenameBase + originalFileExtension; //? //String storageDirectory = request.getSession().getServletContext().getRealPath("/")+"pic"; //fileUploadDirectory = storageDirectory; String storageDirectory = fileUploadDirectory; String contentType = mpf.getContentType(); // File newFile = new File(storageDirectory + "/" + newFilename); try { //?? is = mpf.getInputStream(); byte[] bytes = FileCopyUtils.copyToByteArray(is); // mpf.transferTo(newFile); // BufferedImage thumbnail = Scalr.resize(ImageIO.read(newFile), 290); //??uuid-thumbnail.png String thumbnailFilename = newFilenameBase + "-thumbnail.png"; // File thumbnailFile = new File(storageDirectory + "/" + thumbnailFilename); ImageIO.write(thumbnail, "png", thumbnailFile); //image Image image = new Image(); //?blob image.setImgblob(bytes); //image.setName(mpf.getOriginalFilename()); image.setName(newFilename); image.setThumbnailFilename(thumbnailFilename); image.setNewFilename(newFilename); image.setContentType(contentType); image.setSize(mpf.getSize()); image.setThumbnailSize(thumbnailFile.length()); //?id int id = this.imageService.findId(); image.setId(id); //url image.setUrl("../img/picture/" + image.getId() + ".do"); image.setThumbnailUrl("../img/thumbnail/" + image.getId() + ".do"); image.setDeleteUrl("../img/delete/" + image.getId() + ".do"); image.setDeleteType("DELETE"); //? image.setReqid(reqid); image = imageService.create(image); newfiles.add(newFile); //?? list.add(image); } catch (IOException e) { log.error("Could not upload file " + mpf.getOriginalFilename(), e); } finally { IOUtils.closeQuietly(is); } } Map<String, Object> files = new HashMap<String, Object>(); files.put("files", list); return files; }
From source file:com.iana.dver.controller.DverAdminController.java
@RequestMapping(value = "/admin/bulkChangeOwnerXLS", method = RequestMethod.POST) public @ResponseBody String performBulkChangeOwnerWithXLS(MultipartHttpServletRequest request, HttpServletResponse response) {// w ww. j a v a2 s .c om Iterator<String> itr = request.getFileNames(); if (!itr.hasNext()) { return "Please provide XLS file to process."; } MultipartFile bulkFile = request.getFile(itr.next()); logger.info(bulkFile.getOriginalFilename() + " uploaded!"); try { String extension = FilenameUtils.getExtension(bulkFile.getOriginalFilename()); if (extension.equalsIgnoreCase("xls")) { if (bulkFile.getSize() == 0) { return "Uploaded file should not be empty."; } if (bulkFile.getSize() > 2097152) { return "Uploaded file should not exceed 2 MB"; } Map<Integer, String[]> dversToBeProcessed = this.dverDetailsService .findDversForBulkProcessing(bulkFile.getInputStream()); if (dversToBeProcessed.isEmpty()) { return "No DVER's found for 'Change Owner Bulk Processing'."; } else { int successCount = 0; int failCount = 0; StringBuilder failDverDetails = new StringBuilder( "DVER Bulk Change Owner XLS processed successfully. <br/>"); failDverDetails.append( "Following is the list of DVER's which were not processed successfully for Bulk Change Owner: <br/>"); for (Integer dverDetailId : dversToBeProcessed.keySet()) { String[] dots = dversToBeProcessed.get(dverDetailId); RejectedDverVO rejectedDverVO = new RejectedDverVO(); rejectedDverVO.setDverDetailId(dverDetailId); rejectedDverVO.setIepdot(dots[0] != null ? dots[0] : ""); rejectedDverVO.setMcdot(dots[1] != null ? dots[1] : ""); rejectedDverVO.setIepUserId(0); rejectedDverVO.setMcUserId(0); StringBuilder errors = new StringBuilder(); validateDOTFields(rejectedDverVO, errors); if (errors.length() == 0) { this.dverDetailsService.moveRejectedDverToFound(rejectedDverVO, dverDetailId); successCount++; } else { failCount++; failDverDetails.append("(" + failCount + ") "); failDverDetails.append("DverDetailId : " + dverDetailId + " <br/>"); failDverDetails.append("MC DOT: " + rejectedDverVO.getMcdot() + " <br/>"); failDverDetails.append("IEP DOT: " + rejectedDverVO.getMcdot() + " <br/>"); failDverDetails.append("Reason for failure: " + errors.toString() + " <br/>"); } } if (failCount > 0) { logger.info("Fail DVER Notice :" + failDverDetails.toString()); DVERUtil.sendBulkUpdateFailureNotice(failDverDetails.toString()); } return "Change Owner for " + successCount + " DVER's completed successfully. Failed to complete " + failCount + " DVER's due to wrong provided values of IEP/MC DOTs"; } } else { return "The uploaded file type is not allowed."; } } catch (Exception e) { DVERUtil.sendExceptionEmails("upload method of DverAdminController \n " + e); logger.error("Error in submitEditCompanyForAdmin()....." + e); return "The uploaded file could not be processed!!"; } }