@RequestMapping( value = "/workspace/trade-union-activists/update-event-images", method = RequestMethod.POST, produces = "text/plain; charset=utf-8") public String getUpdateEventImg( @ModelAttribute("uploadForm") FileUploadForm uploadForm, ModelMap map, @RequestParam String eventId, @RequestParam(required = false) String[] idPictures) { EventEntity eventEntity = eventService.findById(eventId); Set<ImageEntity> imageEntityList = new HashSet<>(); if (null != idPictures) { imageEntityList = eventService.deleteFromEventsImage(eventEntity, idPictures); } byte fileBytes[]; FileOutputStream fos = null; List<MultipartFile> list = uploadForm.getFiles(); List<String> filenames = new ArrayList<>(); if (list != null && list.size() > 0) { for (MultipartFile multipartFile : list) { final String fileName = multipartFile.getOriginalFilename(); String webappRoot = servletContext.getRealPath("/"); final String relativeFolder = "/resources" + File.separator + "img" + File.separator + "files" + File.separator; String path = webappRoot + relativeFolder + fileName; if (checkFormatFileUtils.checkingForImage(fileName)) { ImageEntity imageEntity = new ImageEntity() { { setIdImage(Utils.generateIdentifier()); setPathToTheFileSystem(relativeFolder + fileName); } }; imageEntityList.add(imageEntity); } try { fos = new FileOutputStream(new File(path)); fileBytes = multipartFile.getBytes(); fos.write(fileBytes); filenames.add(fileName); } catch (IOException e) { e.printStackTrace(); } } } if (null != imageEntityList) { eventEntity.setEventImages(imageEntityList); } eventService.update(eventEntity); map.addAttribute("textPage", ActionMessage.READ_EVENT); return "pages/general/success-template-page"; }
@RequestMapping( value = {"/workspace/trade-union-activists/add-event"}, method = RequestMethod.POST) public String addEvents( @ModelAttribute("uploadForm") FileUploadForm uploadForm, @RequestParam String eventName, @RequestParam String typeOfEvent, @RequestParam String countParticipants, @RequestParam String dateBegin, @RequestParam String dateEnd, @RequestParam String descriptionEvent, @RequestParam String roleUser, @RequestParam String intervalsOfAMailingGroup, Principal principal, ModelMap modelMap) { TypeOfEventEntity typeOfEventEntity = eventTypeService.findById(typeOfEvent); EventEntity eventEntity = new EventEntity(); eventEntity.setRoleParticipants("[" + roleUser + "]"); eventEntity.setIdEvent(Utils.generateIdentifier()); eventEntity.setEventDescription(descriptionEvent); eventEntity.setIntervalsOfAMailingGroup(intervalsOfAMailingGroup); eventEntity.setEventName(eventName); eventEntity.setCountParticipants(new Integer(countParticipants)); eventEntity.setDateAndTimeBegin(Utils.convertStringToSqlFormatDate(dateBegin)); eventEntity.setDateAndTimeEnd(Utils.convertStringToSqlFormatDate(dateEnd)); eventEntity.setIdTypeOfEvent(typeOfEventEntity.getIdTypeOfEvent()); eventEntity.setEventStatus(eventService.checkStatusEvent(dateBegin, dateEnd)); eventEntity.setTheCurrentNumberOfParticipants(0); eventEntity.setIdOrganizer(userService.findByUsername(principal.getName()).getIdUser()); eventEntity.setEventOrganizer(userService.findByUsername(principal.getName())); Set<ImageEntity> imageEntityList = new HashSet<>(); byte fileBytes[]; FileOutputStream fos = null; List<MultipartFile> list = uploadForm.getFiles(); Set<String> filenames = new HashSet<>(); if (list != null && list.size() > 0) { for (MultipartFile multipartFile : list) { String fileName = multipartFile.getOriginalFilename(); String webappRoot = servletContext.getRealPath("/"); String relativeFolder = "/resources" + File.separator + "img" + File.separator + "files" + File.separator; String path = webappRoot + relativeFolder + fileName; if (checkFormatFileUtils.checkingForImage(fileName)) { ImageEntity imageEntity = new ImageEntity(); imageEntity.setIdImage(Utils.generateIdentifier()); imageEntity.setPathToTheFileSystem(relativeFolder + fileName); imageEntityList.add(imageEntity); } File file = new File(path); try { fos = new FileOutputStream(file); fileBytes = multipartFile.getBytes(); fos.write(fileBytes); filenames.add(fileName); } catch (IOException e) { e.printStackTrace(); } } } /*newsEntity.setNewsDocuments(documentEntities);*/ eventEntity.setEventImages(imageEntityList); eventService.save(eventEntity); modelMap.addAttribute("textPage", ActionMessage.SUCCESS_EVENT_REGISTER); return "pages/general/success-template-page"; }