package co.codewizards.cloudstore.local.persistence;
import static co.codewizards.cloudstore.core.util.Util.*;
import javax.jdo.annotations.NullValue;
import javax.jdo.annotations.PersistenceCapable;
import javax.jdo.annotations.Persistent;
import javax.jdo.annotations.Query;
import javax.jdo.annotations.Unique;
@PersistenceCapable
@Unique(name="LastSyncToRemoteRepo_remoteRepository", members="remoteRepository")
@Query(name="getLastSyncToRemoteRepo_remoteRepository", value="SELECT UNIQUE WHERE this.remoteRepository == :remoteRepository")
public class LastSyncToRemoteRepo extends Entity {
@Persistent(nullValue=NullValue.EXCEPTION)
private RemoteRepository remoteRepository;
private long localRepositoryRevisionSynced = -1;
private long localRepositoryRevisionInProgress = -1;
public RemoteRepository getRemoteRepository() {
return remoteRepository;
}
public void setRemoteRepository(RemoteRepository remoteRepository) {
if (! equal(this.remoteRepository, remoteRepository))
this.remoteRepository = remoteRepository;
}
/**
* Gets the {@link LocalRepository#getRevision() LocalRepository.revision} that
* was synced to the remote repository.
* <p>
* This means all local changes with a {@link AutoTrackLocalRevision#getLocalRevision() localRevision}
* greater than (>) this revision are not yet sent to the remote repo.
* @return the {@link LocalRepository#getRevision() LocalRepository.revision} that
* was synced to the remote repository.
*/
public long getLocalRepositoryRevisionSynced() {
return localRepositoryRevisionSynced;
}
public void setLocalRepositoryRevisionSynced(long localRepositoryRevision) {
if (! equal(this.localRepositoryRevisionSynced, localRepositoryRevision))
this.localRepositoryRevisionSynced = localRepositoryRevision;
}
public long getLocalRepositoryRevisionInProgress() {
return localRepositoryRevisionInProgress;
}
public void setLocalRepositoryRevisionInProgress(long localRepositoryRevisionInProgress) {
if (! equal(this.localRepositoryRevisionInProgress, localRepositoryRevisionInProgress))
this.localRepositoryRevisionInProgress = localRepositoryRevisionInProgress;
}
}