public User registerUser(User user) throws IOException { UUID filename = UUID.randomUUID(); String filePath = System.getProperty("geofertas.images.dir").toString().concat(filename.toString()); File newFile = new File(filePath); FileUtils.writeByteArrayToFile(newFile, user.getPicture()); user.setPicturePath(filename.toString()); Object outcome = userDAO.registerUser(user); if (outcome != null) { User outcomeUser = (User) outcome; File file = new File(filePath); outcomeUser.setPicture(FileUtils.readFileToByteArray(file)); return user; } return null; }
public User authenticate(String username, String password) { Object outcome = userDAO.authenticate(username, password); if (outcome != null) { try { User user = (User) outcome; if (System.getProperty("geofertas.images.dir") == null) { log.warn("Geofertas Images Directory not defined"); } else { File file = new File( System.getProperty("geofertas.images.dir") .toString() .concat(File.separator) .concat(user.getPicturePath())); user.setPicture(FileUtils.readFileToByteArray(file)); } } catch (IOException e) { log.error(e); } } return (outcome != null) ? (User) outcome : null; }
@Override public User updateUser(User user) { Object toUpdate = userDAO.getUserByUsername(user.getUsername()); if (toUpdate != null) { User userToUpdate = (User) toUpdate; if (!userToUpdate.getPassword().equals(user.getPassword())) userToUpdate.setPassword(user.getPassword()); if (!userToUpdate.getLastName().equals(user.getLastName())) userToUpdate.setLastName(user.getLastName()); if (!userToUpdate.getPicture().equals(user.getPicture())) userToUpdate.setPicture(user.getPicture()); if (!userToUpdate.getFirstName().equals(user.getFirstName())) userToUpdate.setFirstName(user.getFirstName()); if (!userToUpdate.getEmail().equals(user.getEmail())) userToUpdate.setEmail(user.getEmail()); Object outcome = userDAO.updateUser(userToUpdate); if (outcome != null) { return (User) outcome; } } return null; }