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