@PreAuthorize("hasRole('ROLE_ADMIN')") @Transactional(readOnly = true) public void downloadCSV(HttpServletResponse response) throws IOException { Collection<User> users = new ArrayList<User>(); users = repositoryUser.getAllUsers(); if (!users.isEmpty()) { UserCSV userCSV = new UserCSV(); userCSV.downloadCSV(response, users); } }
@PreAuthorize("hasRole('ROLE_ADMIN')") @Transactional(readOnly = false) public ResultClass<Boolean> uploadCVS(UploadForm upload, String typeOfUser, Locale locale) { ResultClass<Boolean> result = new ResultClass<>(); if (!upload.getFileData().isEmpty()) { CsvPreference prefers = new CsvPreference.Builder( upload.getQuoteChar().charAt(0), upload.getDelimiterChar().charAt(0), upload.getEndOfLineSymbols()) .build(); List<User> list = null; try { FileItem fileItem = upload.getFileData().getFileItem(); UserCSV userUpload = new UserCSV(); list = userUpload.readCSVUserToBean( fileItem.getInputStream(), upload.getCharset(), prefers, typeOfUser); if (list == null) { result.setHasErrors(true); result.getErrorsList().add(messageSource.getMessage("error.params", null, locale)); } else { if (repositoryUser.persistListUsers(list)) { for (User u : list) { User aux = findByUsername(u.getUsername()).getSingleElement(); manageAclService.addACLToObject(u.getId(), u.getClass().getName()); manageAclService.addPermissionToAnObject_WRITE( aux, aux.getId(), aux.getClass().getName()); } result.setSingleElement(true); } } } catch (IOException e) { e.printStackTrace(); result.setSingleElement(false); } } else { result.setHasErrors(true); result.getErrorsList().add(messageSource.getMessage("error.fileEmpty", null, locale)); } return result; }