@PreAuthorize("hasRole('ROLE_ADMIN')") @Transactional(readOnly = false) public ResultClass<Boolean> addUser(User user) { ResultClass<Boolean> result = new ResultClass<>(); StringSHA sha = new StringSHA(); String pass = sha.getStringMessageDigest(user.getPassword()); user.setPassword(pass); if (repositoryUser.addUser(user)) { User u = findByUsername(user.getUsername()).getSingleElement(); manageAclService.addACLToObject(u.getId(), u.getClass().getName()); manageAclService.addPermissionToAnObject_WRITE(u, u.getId(), u.getClass().getName()); result.setSingleElement(true); } else result.setSingleElement(false); return result; }
@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; }