package fr.plil.sio.persistence.jdbc; import fr.plil.sio.persistence.api.Right; import fr.plil.sio.persistence.api.Group; import fr.plil.sio.persistence.api.User; import fr.plil.sio.persistence.api.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class UserServiceJdbc implements UserService { @Autowired private UserRepository userRepository; private GroupRepository groupRepository; @Override public User create(String name, String groupName) { if(name==null || groupName==null){ throw new IllegalArgumentException("name cannot be null"); } User user = userRepository.findByName(name); if(user!=null){ throw new IllegalStateException("a user with the same name already exists"); } user = new User(); user.setName(name); Group group = new Group(); group.setName(groupName); // Group group = groupRepository.findByName(groupName); userRepository.save(user, group); return user; } @Override public boolean delete(String name) { if(name == null){ throw new IllegalStateException("not implemented !"); } User user = findByName(name); if(user==null){ return false; } userRepository.delete(user.getId()); return true; } @Override public User findByName(String name) { if(name==null){ throw new IllegalArgumentException("name cannot be null"); } return userRepository.findByName(name); } @Override public boolean isUserHasRight(String userName, Right right) { if(right==null){ throw new IllegalArgumentException("name cannot be null"); } else{ return false; } } }