List of usage examples for org.springframework.web.multipart MultipartFile getBytes
byte[] getBytes() throws IOException;
From source file:vn.webapp.controller.cp.RegularTimetableController.java
/** * Save a paper//from w w w . j a v a2 s . c o m * @param paperValid * @param result * @param model * @param session * @return String */ @RequestMapping(value = "saveRegularTimetable", method = RequestMethod.POST) public String saveRegularTimetable(HttpServletRequest request, @Valid @ModelAttribute("regularTimetableFormAdd") RegularTimetableValidation regularTimetableValidation, BindingResult result, Map model, HttpSession session) { List<AcademicYear> academicYearList = academicYearService.list(); model.put("academicYearList", academicYearList); if (result.hasErrors()) { return "cp.addRegularTimetable"; } else { /** * Uploading file */ MultipartFile sourceUploadFile = regularTimetableValidation.getRegularTimetableFileUpload(); String fileName = sourceUploadFile.getOriginalFilename(); String sourceUploadFileSrc = ""; try { //Creating Date in java with today's date. Date currentDate = new Date(); //change date into string yyyyMMdd format example "20110914" SimpleDateFormat dateformatyyyyMMdd = new SimpleDateFormat("HHmmssddMMyyyy"); String sCurrentDate = dateformatyyyyMMdd.format(currentDate); byte[] bytes = sourceUploadFile.getBytes(); String path = request.getServletContext().getRealPath("uploads"); File dir = new File(path + "/regularTimetables"); if (!dir.exists()) { dir.mkdirs(); } // Create a file String currentUserName = session.getAttribute("currentUserName").toString(); fileName = currentUserName + "_" + sCurrentDate + "_" + fileName; File serverFile = new File(dir.getAbsolutePath() + File.separator + fileName); if (serverFile.exists()) { sourceUploadFileSrc = dir.getAbsolutePath() + File.separator + fileName; } // Save data into file BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(serverFile)); stream.write(bytes); stream.close(); List<RegularCourseTimetableStatus> RCTTS_List = regularCourseTimetableStatusService.loadRCTTSList(); boolean isToAdd = true; for (RegularCourseTimetableStatus RCTTS : RCTTS_List) { if ((RCTTS.getRCTTS_AcaYear_Code().equals(regularTimetableValidation.getAcademicYear())) && (RCTTS.getRCTTS_Semester() == regularTimetableValidation.getSemester())) { isToAdd = false; break; } } if (isToAdd) regularCourseTimetableStatusService.save(regularTimetableValidation.getAcademicYear(), regularTimetableValidation.getSemester(), 1); ArrayList<ClassRoom> classRooms = ReadTimeTableExcel .readFileExcel(dir.getAbsolutePath() + File.separator + fileName); int err = 0; int rc = 0; int rctte = 0; ArrayList<String> error1 = new ArrayList<String>(); ArrayList<String> error2 = new ArrayList<String>(); ArrayList<String> error3 = new ArrayList<String>(); ArrayList<String> error4 = new ArrayList<String>(); int cnt = 0; String StatusMessages = ""; try (DataOutputStream out = new DataOutputStream( new FileOutputStream("regularTimeTableUploadStatus.bin", false))) { out.writeInt(classRooms.size()); for (ClassRoom classroom : classRooms) { cnt++; out.writeInt(cnt); System.out.println(cnt + ":" + classroom.getClassCode()); try { String roomCode = classroom.getRoom(); String note = ""; String roomBuilding = ""; int clusterID = 5; int cap = -1; int floor = 0; Rooms room = roomsService.loadByCode(roomCode); if (room == null) { String[] tokens = roomCode.split("-"); for (int i = 1; i < tokens.length - 1; i++) tokens[0] += "-" + tokens[i]; switch (tokens[0]) { case "D3": case "D5": case "D3-5": case "D3,5": case "D7": case "D9": clusterID = 1; break; case "D4": case "D6": clusterID = 2; break; case "TC": clusterID = 3; break; case "T": clusterID = 4; break; default: clusterID = 5; break; } roomBuilding = tokens[0]; try { floor = Integer.parseInt(tokens[tokens.length - 1].substring(0, 1)); } catch (NumberFormatException e) { floor = -1; } if (roomsService.save(roomCode, roomBuilding, cap, note, floor, roomClusterService.loadByCode(clusterID)) != 0) { room = roomsService.loadByCode(roomCode); StatusMessages += "<b>Cp nht thm phng: </b>" + room.getR_Code() + "<br/>"; } else { err++; error4.add(classroom.getClassCode() + ": cannot find or add " + classroom.getRoom()); } } /* List<RegularCourseTimetableInterface> RCTTI_List = regularCourseTimetableInterfaceService.loadRCTTIList(regularTimetableValidation.getAcademicYear(),regularTimetableValidation.getSemester()); HashSet<String> classCodeSet=new HashSet<String>(); for(RegularCourseTimetableInterface rCTTI:RCTTI_List){ classCodeSet.add(rCTTI.getClasscode()); } */ if (room != null) { String tempRCTTECode = regularTimetableValidation.getAcademicYear() + "-" + regularTimetableValidation.getSemester() + "-" + classroom.getClassCode(); RegularCourse RC = regularCourseService.loadByCode(classroom.getCourseCode()); if (RC == null) { rc++; if (regularCourseService.save(classroom.getCourseCode(), classroom.getCourseName(), classroom.getSlotNum(), classroom.getFacultyCode()) == 0) { err++; error1.add(classroom.getCourseCode()); } RC = regularCourseService.loadByCode(classroom.getCourseCode()); } /*if(!classCodeSet.contains(classroom.getClassCode())){ if(regularCourseTimetableEntryService.save(regularTimetableValidation.getSemester(), classroom.getClassCode(), RC, tempRCTTECode, regularTimetableValidation.getAcademicYear(),classroom.getClassType(),classroom.getSemesterType(),"",classroom.getClassInfo(),classroom.getCourseInfo(),classroom.getClassStatus())==0){ err++; error2.add(classroom.getClassCode()); } } */ RegularCourseTimetableEntry rCTTE = regularCourseTimetableEntryService .loadRCTTEByCode(tempRCTTECode); if (rCTTE == null) { rctte++; if (regularCourseTimetableEntryService.save( regularTimetableValidation.getSemester(), classroom.getClassCode(), RC, tempRCTTECode, regularTimetableValidation.getAcademicYear(), classroom.getClassType(), classroom.getSemesterType(), "", classroom.getClassInfo(), classroom.getCourseInfo(), classroom.getClassStatus()) == 0) { err++; error2.add(classroom.getClassCode()); } else { rCTTE = regularCourseTimetableEntryService.loadRCTTEByCode(tempRCTTECode); } } int day = 0; try { day = Integer.parseInt(classroom.getDay()); } catch (NumberFormatException e) { day = 0; } //System.out.println(classroom.getCourseCode() + " "+ classroom.getSlotNum()); RegularCourseTimetable rCTT = regularCourseTimetableService .loadByCode(rCTTE.getRCTTE_Code() + "-" + day); if (rCTT == null) { if (regularCourseTimetableService.save(day, classroom.getSlots(), classroom.getWeeks(), room.getR_Code(), rCTTE) == 0) { err++; error3.add(classroom.getCourseCode() + " " + classroom.getClassCode() + " " + classroom.getDay()); } else { //rCTT=regularCourseTimetableService.loadByCode(rCTTE.getRCTTE_Code()+"-"+day); //StatusMessages="Lp "+cnt+"/"+classRooms.size()+"<br/><b>Thm mi lp "+rCTTE.getRCTTE_Class_Code()+": </b><br/>"+"Tit "+classroom.getSlots()+" Th "+rCTT.getRCTT_Day()+" Tun "+classroom.getDay()+ " Phng "+classroom.getRoom()+"<br/>"; //System.out.println("Thm mi lp "+rCTTE.getRCTTE_Class_Code()); //model.put("status", StatusMessages); } } else { if (!((rCTT.getRCTT_Day() == day) && (rCTT.getRCTT_Slots().equals(classroom.getSlots())) && (rCTT.getRCTT_Weeks().equals(classroom.getWeeks())) && (rCTT.getRCTT_Room_Code().equals(classroom.getRoom())))) { regularCourseTimetableService.edit(rCTT.getRCTT_ID(), day, classroom.getSlots(), classroom.getWeeks(), room.getR_Code(), rCTTE); //StatusMessages="Lp "+cnt+"/"+classRooms.size()+"<br/><b>Cp nht li lp "+rCTTE.getRCTTE_Class_Code()+": </b><br/>"+"Tit "+rCTT.getRCTT_Slots()+" Th "+rCTT.getRCTT_Day()+" Tun "+rCTT.getRCTT_Weeks()+ " Phng "+rCTT.getRCTT_Room_Code()+"<br/>"; //rCTT=regularCourseTimetableService.loadByCode(rCTTE.getRCTTE_Code()+"-"+day); //StatusMessages+="===> Tit "+rCTT.getRCTT_Slots()+" Th "+rCTT.getRCTT_Day()+" Tun "+rCTT.getRCTT_Weeks()+ " Phng "+rCTT.getRCTT_Room_Code()+"<br/>"; //System.out.println("Cp nht li lp "+rCTTE.getRCTTE_Class_Code()); //model.put("status", StatusMessages); } } } } catch (Exception e) { e.printStackTrace(); System.out.println("M lp: " + classroom.getClassCode() + " li khng nhp c d liu!"); } } } catch (FileNotFoundException e) { System.out.println(e.getMessage()); } catch (IOException e) { System.out.println(e.getMessage()); } finally { try (DataOutputStream out = new DataOutputStream( new FileOutputStream("regularTimeTableUploadStatus.bin", false))) { } catch (Exception e) { } } model.put("status", StatusMessages); return "redirect:" + this.baseUrl + "/cp/RegularTimetables.html"; } catch (Exception e) { e.printStackTrace(); model.put("status", "You failed to upload " + fileName + " => " + e.getMessage()); } return "cp.addRegularTimetable"; } }
From source file:vn.webapp.controller.cp.RoomsController.java
/** * Save a room//from ww w. j a v a 2 s .c o m */ @RequestMapping(value = "saveRoom", method = RequestMethod.POST) public String saveRoom(HttpServletRequest request, @Valid @ModelAttribute("roomAdd") RoomValidation roomValidation, BindingResult result, Map model, HttpSession session) { /* * Get list of paper category and journalList */ /* * Put data back to view */ if (result.hasErrors()) { return "cp.addRoom"; } else { /* * Prepare data for inserting DB */ /** * Uploading file */ MultipartFile sourceUploadFile = roomValidation.getRoomsUpload(); String fileName = sourceUploadFile.getOriginalFilename(); String sourceUploadFileSrc = ""; try { //Creating Date in java with today's date. Date currentDate = new Date(); //change date into string yyyyMMdd format example "20110914" SimpleDateFormat dateformatyyyyMMdd = new SimpleDateFormat("HHmmssddMMyyyy"); String sCurrentDate = dateformatyyyyMMdd.format(currentDate); byte[] bytes = sourceUploadFile.getBytes(); String path = request.getServletContext().getRealPath("uploads"); File dir = new File(path + "/rooms"); if (!dir.exists()) { dir.mkdirs(); } // Create a file String currentUserName = session.getAttribute("currentUserName").toString(); fileName = currentUserName + "_" + sCurrentDate + "_" + fileName; File serverFile = new File(dir.getAbsolutePath() + File.separator + fileName); if (serverFile.exists()) { sourceUploadFileSrc = dir.getAbsolutePath() + File.separator + fileName; } // Save data into file BufferedOutputStream stream = new BufferedOutputStream(new FileOutputStream(serverFile)); stream.write(bytes); stream.close(); HustRoomData roomData = new HustRoomData(); List<RoomInfo> roominfos = roomData .readFileExcel(dir.getAbsolutePath() + File.separator + fileName); for (RoomInfo ri : roominfos) { RoomCluster roomCluster = roomClusterService.loadByCode(ri.getClusterID()); Rooms r = roomsService.loadByCode(ri.getRoomCode()); if (r == null) roomsService.save(ri.getRoomCode(), ri.getBuilding(), ri.getCapacity(), ri.getNote(), ri.getFloor(), roomCluster); else roomsService.edit(r.getR_ID(), ri.getRoomCode(), ri.getBuilding(), ri.getCapacity(), ri.getNote(), ri.getFloor(), roomCluster); } /** * Preparing data for adding into DB */ //if(i_InsertAPaper > 0){ //model.put("status", "Successfully saved a paper: "); return "redirect:" + this.baseUrl + "/cp/Rooms.html"; //} } catch (Exception e) { model.put("status", "You failed to upload " + fileName + " => " + e.getMessage()); } return "cp.rooms"; } }
From source file:war.controller.WorkboardController.java
@RequestMapping(value = "/upload", method = RequestMethod.POST) public String uploadfileinWorkboard(@RequestParam(value = "file", required = true) MultipartFile uploadfile, @RequestParam(value = "id", required = true) Integer userStoryId, RedirectAttributes attributes) { logger.info("Inside uploadfileinWorkBoard"); UserStory userStory = null;/* ww w .jav a 2 s. c om*/ try { userStory = userStoryDao.find(userStoryId); if (!(SecurityHelper.IsCurrentUserAllowedToAccess(userStory))) // Security: ownership check throw new AccessDeniedException(ERR_ACCESS_DENIED); int lastIndex = uploadfile.getOriginalFilename().lastIndexOf('.'); String fileName = uploadfile.getOriginalFilename().substring(0, lastIndex); String fileExtension = uploadfile.getOriginalFilename().substring(lastIndex + 1); String contentType = uploadfile.getContentType(); String[] arrPlainTextFiletypes = { "text/plain", "application/txt", "browser/internal", "text/anytext", "widetext/plain", "widetext/paragraph" }; String[] arrJpegFiletypes = { "image/jpeg", "image/jpg", "image/jp_", "application/jpg", "application/x-jpg", "image/pjpeg", "image/pipeg", "image/vnd.swiftview-jpeg", "image/x-xbitmap" }; String[] arrCsvFiletypes = { "text/comma-separated-values", "text/csv", "application/csv", "application/excel", "application/vnd.ms-excel", "application/vnd.msexcel" }; if (ArrayUtils.contains(arrPlainTextFiletypes, contentType) || ArrayUtils.contains(arrJpegFiletypes, contentType) || ArrayUtils.contains(arrCsvFiletypes, contentType)) { DisplayType displayType = DisplayType.PLAIN; if (ArrayUtils.contains(arrJpegFiletypes, contentType)) // File is a JPEG displayType = DisplayType.PICTURE; else if (ArrayUtils.contains(arrCsvFiletypes, contentType)) // File is a CSV displayType = DisplayType.TABLE; DataElementFile dataElement = new DataElementFile(new Date(), fileName, true, 0, displayType, userStory, fileExtension, uploadfile.getBytes()); dataElementDao.save(dataElement); userStory.getDataElements().add(dataElement); attributes.addFlashAttribute("successMessage", MSG_FILE_UPLOAD_SUCCESS); } else attributes.addFlashAttribute("errorMessage", ERR_INVALID_FILETYPE); } catch (IOException e) { attributes.addFlashAttribute("errorMessage", ERR_FILE_UPLOAD); } return "redirect:/auth/workboard?user=" + SecurityHelper.getCurrentlyLoggedInUsername() + "#tabs-non-climate-context"; }
From source file:war.controller.WorkboardController.java
@RequestMapping(value = "/addEngineeringData", method = RequestMethod.POST) public String addEngineeringDataToWorkboard( @RequestParam(value = "file", required = true) MultipartFile uploadfile, @RequestParam(value = "sourceType", required = true) String sourceType, @RequestParam(value = "engVariable", required = true) String engVariableName, @RequestParam(value = "engVariableCategory", required = true) String engVariableCategory, @RequestParam(value = "id", required = true) Integer userStoryId, @RequestParam(value = "displayType", required = true) String displayTypeString, RedirectAttributes attributes) { logger.info("Inside addEngineeringDataToWorkBoard"); UserStory userStory = null;//from w w w .j av a2s . c o m try { userStory = userStoryDao.find(userStoryId); if (!(SecurityHelper.IsCurrentUserAllowedToAccess(userStory))) // Security: ownership check throw new AccessDeniedException(ERR_ACCESS_DENIED); EngineeringModelVariable engVariable = null; try { engVariable = engineeringModelVariableDao.find(engVariableName, engVariableCategory); } catch (NoResultException e) { logger.info(e.getMessage() + "(" + engVariableName + ")"); throw (e); } DataElement.DisplayType displayType = DataElement.DisplayType.fromString(displayTypeString); if (sourceType.equals("upload")) { logger.info("Excel File Upload"); int lastIndex = uploadfile.getOriginalFilename().lastIndexOf('.'); //String fileName = uploadfile.getOriginalFilename().substring(0, lastIndex); String fileExtension = uploadfile.getOriginalFilename().substring(lastIndex + 1); String fileType = uploadfile.getContentType(); // Checks the file extension & MIME type if (uploadfile.getSize() == 0) { throw new IllegalArgumentException(WorkboardController.ERR_UPLOAD_NO_FILE); } else if (!(fileType.equals("application/vnd.ms-excel") || fileType.equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet")) || !(fileExtension.equals("xls") || fileExtension.equals("xlsx"))) { throw new InvalidFormatException(WorkboardController.ERR_INVALID_FILE_FORMAT); } ByteArrayInputStream bis = new ByteArrayInputStream(uploadfile.getBytes()); // HSSFWorkbook and HSSFSheet for XLS, XSSFWorkbook and XSSFSheet for XLSX HSSFWorkbook workbook = new HSSFWorkbook(bis); // Extract & save Engineering Model Asset EngineeringModelAsset asset = extractEngineeringOutputAsset(workbook); asset = engineeringModelAssetDao.save(asset); // Extract and save Engineering Model Data List<EngineeringModelData> extractedDataList = extractEngineeringOutputData(workbook, userStory, engVariable, asset); // Create a data element using the extracted data if there is some if (extractedDataList != null && extractedDataList.size() > 0) { for (EngineeringModelData data : extractedDataList) { engineeringModelDataDao.save(data); } DataElementEngineeringModel de = new DataElementEngineeringModel(new Date(), "Concrete deterioration for " + asset.getAssetCode(), true, 0, displayType, userStory, extractedDataList); dataElementDao.save(de); userStory = userStoryDao.find(userStoryId); attributes.addFlashAttribute("successMessage", WorkboardController.MSG_ENG_DATA_ADDED); } else { throw new NoResultException(WorkboardController.ERR_NO_DATA_ENG_MODEL); } } else if (sourceType.equals("example")) { logger.info("Example selected"); //Find the Data List<EngineeringModelData> engineeringModelDataList = engineeringModelDataDao .find(userStory.getSeaport().getRegion(), engVariable); // Create the data element if (engineeringModelDataList != null && engineeringModelDataList.size() > 0) { String dataElementTitle = "Concrete deterioration for " + engineeringModelDataList.get(0).getAsset().getAssetCode(); DataElementEngineeringModel de = new DataElementEngineeringModel(new Date(), dataElementTitle, true, 0, displayType, userStory, engineeringModelDataList); dataElementDao.save(de); userStory = userStoryDao.find(userStoryId); attributes.addFlashAttribute("successMessage", WorkboardController.MSG_ENG_DATA_ADDED); } else { throw new NoResultException(WorkboardController.ERR_NO_DATA_ENG_MODEL_EXAMPLE); } } } catch (NoResultException e) { attributes.addFlashAttribute("warningMessage", e.getMessage()); } catch (InvalidFormatException e) { attributes.addFlashAttribute("warningMessage", e.getMessage()); } catch (IllegalArgumentException e) { attributes.addFlashAttribute("warningMessage", e.getMessage()); } catch (IOException e) { attributes.addFlashAttribute("errorMessage", e.getMessage()); } return "redirect:/auth/workboard?user=" + SecurityHelper.getCurrentlyLoggedInUsername() + "#tabs-applications"; }