package net.sf.jacclog.persistence.jpa; import java.net.Inet4Address; import java.util.ArrayList; import java.util.List; import net.sf.jacclog.persistence.jpa.entity.Country; import net.sf.jacclog.persistence.jpa.internal.CountryMapper; import net.sf.jacclog.persistence.jpa.internal.CountryRepository; public class CountryRepositoryService implements net.sf.jacclog.service.repository.CountryRepositoryService<net.sf.jacclog.service.repository.domain.Country> { private final CountryRepository repository; public CountryRepositoryService(final CountryRepository repository) { if (repository == null) { throw new IllegalArgumentException("Argument 'repository' can not be null."); } this.repository = repository; } @Override public long countAll() { return repository.countAll(); } @Override public void create(final List<net.sf.jacclog.service.repository.domain.Country> countries) { final List<Country> list = new ArrayList<Country>(); for (final net.sf.jacclog.service.repository.domain.Country country : countries) { list.add(CountryMapper.map(country)); } repository.persist(list); } @Override public void create(final net.sf.jacclog.service.repository.domain.Country country) { repository.persist(CountryMapper.map(country)); } @Override public void delete(final net.sf.jacclog.service.repository.domain.Country country) { repository.remove(CountryMapper.map(country)); } @Override public net.sf.jacclog.service.repository.domain.Country find(final Inet4Address ipAddress) { return repository.find(ipAddress); } @Override public List<net.sf.jacclog.service.repository.domain.Country> find(final int startPosition, final int maxResults) { return CountryMapper.map(repository.find(startPosition, maxResults)); } public CountryRepository getRepository() { return repository; } @Override public net.sf.jacclog.service.repository.domain.Country read(final Long id) { return repository.find(id); } @Override public List<net.sf.jacclog.service.repository.domain.Country> readAll() { return CountryMapper.map(repository.findAll()); } @Override public net.sf.jacclog.service.repository.domain.Country update( final net.sf.jacclog.service.repository.domain.Country country) { return repository.merge(CountryMapper.map(country)); } }