001package co.codewizards.cloudstore.local.persistence;
002
003import static java.util.Objects.*;
004
005import javax.jdo.Query;
006
007public class LastSyncToRemoteRepoDao extends Dao<LastSyncToRemoteRepo, LastSyncToRemoteRepoDao> {
008
009        public LastSyncToRemoteRepo getLastSyncToRemoteRepo(final RemoteRepository remoteRepository) {
010                requireNonNull(remoteRepository, "remoteRepository");
011                final Query query = pm().newNamedQuery(getEntityClass(), "getLastSyncToRemoteRepo_remoteRepository");
012                try {
013                        final LastSyncToRemoteRepo lastSyncToRemoteRepo = (LastSyncToRemoteRepo) query.execute(remoteRepository);
014                        return lastSyncToRemoteRepo;
015                } finally {
016                        query.closeAll();
017                }
018        }
019
020        public LastSyncToRemoteRepo getLastSyncToRemoteRepoOrFail(final RemoteRepository remoteRepository) {
021                final LastSyncToRemoteRepo lastSyncToRemoteRepo = getLastSyncToRemoteRepo(remoteRepository);
022                if (lastSyncToRemoteRepo == null)
023                        throw new IllegalStateException("There is no LastSyncToRemoteRepo for the RemoteRepository with repositoryId=" + remoteRepository.getRepositoryId());
024
025                return lastSyncToRemoteRepo;
026        }
027}