001package co.codewizards.cloudstore.local.persistence;
002
003import static co.codewizards.cloudstore.core.util.Util.assertNotNull;
004
005import javax.jdo.Query;
006
007public class LastSyncToRemoteRepoDAO extends DAO<LastSyncToRemoteRepo, LastSyncToRemoteRepoDAO> {
008
009        public LastSyncToRemoteRepo getLastSyncToRemoteRepo(RemoteRepository remoteRepository) {
010                assertNotNull("remoteRepository", remoteRepository);
011                Query query = pm().newNamedQuery(getEntityClass(), "getLastSyncToRemoteRepo_remoteRepository");
012                try {
013                        LastSyncToRemoteRepo lastSyncToRemoteRepo = (LastSyncToRemoteRepo) query.execute(remoteRepository);
014                        return lastSyncToRemoteRepo;
015                } finally {
016                        query.closeAll();
017                }
018        }
019
020        public LastSyncToRemoteRepo getLastSyncToRemoteRepoOrFail(RemoteRepository remoteRepository) {
021                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}