SimpleOwnerService.java 2.65 KB
Newer Older
1 2
package at.ac.tuwien.sepm.assignment.individual.service.impl;

3
import at.ac.tuwien.sepm.assignment.individual.entity.Horse;
4
import at.ac.tuwien.sepm.assignment.individual.entity.Owner;
5
import at.ac.tuwien.sepm.assignment.individual.exception.NotFoundException;
6 7
import at.ac.tuwien.sepm.assignment.individual.persistence.OwnerDao;
import at.ac.tuwien.sepm.assignment.individual.service.OwnerService;
8
import at.ac.tuwien.sepm.assignment.individual.util.ValidationException;
9
import at.ac.tuwien.sepm.assignment.individual.util.Validator;
10

11
import java.lang.invoke.MethodHandles;
12 13 14
import java.util.List;
import java.util.Map;

15 16 17
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
18
import org.springframework.dao.DataAccessException;
19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
import org.springframework.stereotype.Service;

@Service
public class SimpleOwnerService implements OwnerService {

    private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
    private final OwnerDao ownerDao;
    private final Validator validator;

    @Autowired
    public SimpleOwnerService(OwnerDao ownerDao, Validator validator) {
        this.ownerDao = ownerDao;
        this.validator = validator;
    }

    @Override
    public Owner findOneById(Long id) {
36
        LOGGER.debug("findOneById({})", id);
37 38 39
        return ownerDao.findOneById(id);
    }

40 41
    @Override
    public List<Owner> getAll() throws NotFoundException {
42
        LOGGER.debug("getAll()");
43 44 45 46 47
        return ownerDao.getAll();
    }

    @Override
    public List<Owner> getFiltered(Map<String, String> filters) throws NotFoundException, ValidationException {
48
        LOGGER.debug("getFiltered({})", filters.entrySet());
49 50 51 52
        this.validator.validateOwnerFilter(filters);
        return ownerDao.getFiltered(filters);
    }

53 54
    @Override
    public List<Horse> getOwnedHorses(Long id) throws NotFoundException {
55
        LOGGER.debug("getOwnedHorses({})", id);
56 57 58
        return ownerDao.getOwnedHorses(id);
    }

59 60
    @Override
    public Owner addOwner(Owner owner) throws ValidationException, DataAccessException {
61
        LOGGER.debug("addOwner({})", owner);
62 63 64
        this.validator.validateNewOwner(owner);
        return ownerDao.addOwner(owner);
    }
65 66 67

    @Override
    public Owner updateOwner(Owner owner) throws ValidationException, DataAccessException {
68
        LOGGER.debug("updateOwner({})", owner);
69 70 71
        this.validator.validateUpdateOwner(owner);
        return ownerDao.updateOwner(owner);
    }
72 73 74

    @Override
    public void deleteOwner(Long id) throws NotFoundException, DataAccessException {
75
        LOGGER.debug("deleteOwner({})", id);
76 77
        ownerDao.deleteOwner(id);
    }
78
}