package fr.plil.sio.persistence.jdbc; import fr.plil.sio.persistence.api.Group; import fr.plil.sio.persistence.api.GroupService; import fr.plil.sio.persistence.api.Right; import java.sql.SQLException; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @Service public class GroupServiceJdbc implements GroupService { @Autowired private GroupRepository groupRepository; @Override public Group create(String name) { if (name == null) { throw new IllegalArgumentException("name cannot be null"); } Group group = groupRepository.findByName(name); if (group != null) { throw new IllegalStateException("a group with the same name already exists"); } group = new Group(); group.setName(name); groupRepository.save(group); return group; } @Override public boolean delete(String name) { if (name == null) { throw new IllegalArgumentException("name cannot be null"); } Group group = groupRepository.findByName(name); if(group!=null){ groupRepository.delete(group.getId()); return true; } return false; } @Override public Group findByName(String name) { if (name == null) { throw new IllegalArgumentException("name cannot be null"); } return groupRepository.findByName(name); } @Override public boolean addRight(String groupName, Right right) { if(groupName == null ) throw new IllegalArgumentException("Group name cannot bel null"); if(right == null) throw new IllegalArgumentException("Right cannot be null"); return groupRepository.addRight(groupName, right); } @Override public boolean removeRight(String groupName, Right right) { if(groupName == null) throw new IllegalArgumentException("Group name cannot be null"); if(right == null) throw new IllegalArgumentException("Right cannot be null"); return groupRepository.removeRight(groupName, right); } }