SimpleHorseService.java 1.47 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14
package at.ac.tuwien.sepm.assignment.individual.service.impl;

import at.ac.tuwien.sepm.assignment.individual.entity.Horse;
import at.ac.tuwien.sepm.assignment.individual.persistence.HorseDao;
import at.ac.tuwien.sepm.assignment.individual.service.HorseService;
import at.ac.tuwien.sepm.assignment.individual.util.ValidationException;
import at.ac.tuwien.sepm.assignment.individual.util.Validator;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.dao.DataAccessException;
import org.springframework.stereotype.Service;

import java.lang.invoke.MethodHandles;
15
import java.text.SimpleDateFormat;
16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37

@Service
public class SimpleHorseService implements HorseService {
    private static final Logger LOGGER = LoggerFactory.getLogger(MethodHandles.lookup().lookupClass());
    private final HorseDao horseDao;
    private final Validator validator;

    @Autowired
    public SimpleHorseService(HorseDao horseDao, Validator validator) {
        this.horseDao = horseDao;
        this.validator = validator;
    }

    @Override
    public Horse findOneById(Long id) {
        LOGGER.trace("findOneById({})", id);
        return horseDao.findOneById(id);
    }

    @Override
    public Horse addHorse(Horse horse) throws ValidationException, DataAccessException {
        this.validator.validateNewHorse(horse);
38
        LOGGER.trace("addHorse({})", horse.toString());
39 40 41
        return horseDao.addHorse(horse);
    }
}