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}