001package co.codewizards.cloudstore.local.persistence; 002 003import javax.jdo.annotations.NullValue; 004import javax.jdo.annotations.PersistenceCapable; 005import javax.jdo.annotations.Persistent; 006import javax.jdo.annotations.Query; 007import javax.jdo.annotations.Unique; 008 009@PersistenceCapable 010@Unique(name="LastSyncToRemoteRepo_remoteRepository", members="remoteRepository") 011@Query(name="getLastSyncToRemoteRepo_remoteRepository", value="SELECT UNIQUE WHERE this.remoteRepository == :remoteRepository") 012public class LastSyncToRemoteRepo extends Entity { 013 014 @Persistent(nullValue=NullValue.EXCEPTION) 015 private RemoteRepository remoteRepository; 016 private long localRepositoryRevisionSynced = -1; 017 private long localRepositoryRevisionInProgress = -1; 018 019 public RemoteRepository getRemoteRepository() { 020 return remoteRepository; 021 } 022 public void setRemoteRepository(RemoteRepository remoteRepository) { 023 this.remoteRepository = remoteRepository; 024 } 025 026 /** 027 * Gets the {@link LocalRepository#getRevision() LocalRepository.revision} that 028 * was synced to the remote repository. 029 * <p> 030 * This means all local changes with a {@link AutoTrackLocalRevision#getLocalRevision() localRevision} 031 * greater than (>) this revision are not yet sent to the remote repo. 032 * @return the {@link LocalRepository#getRevision() LocalRepository.revision} that 033 * was synced to the remote repository. 034 */ 035 public long getLocalRepositoryRevisionSynced() { 036 return localRepositoryRevisionSynced; 037 } 038 public void setLocalRepositoryRevisionSynced(long localRepositoryRevision) { 039 this.localRepositoryRevisionSynced = localRepositoryRevision; 040 } 041 042 public long getLocalRepositoryRevisionInProgress() { 043 return localRepositoryRevisionInProgress; 044 } 045 public void setLocalRepositoryRevisionInProgress(long localRepositoryRevisionInProgress) { 046 this.localRepositoryRevisionInProgress = localRepositoryRevisionInProgress; 047 } 048}