/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
package org.mozilla.android.sync.test.helpers;
import java.io.IOException;
import java.net.URISyntaxException;
import org.json.simple.parser.ParseException;
import org.mozilla.gecko.sync.GlobalSession;
import org.mozilla.gecko.sync.NoCollectionKeysSetException;
import org.mozilla.gecko.sync.NonObjectJSONException;
import org.mozilla.gecko.sync.SynchronizerConfiguration;
import org.mozilla.gecko.sync.repositories.RecordFactory;
import org.mozilla.gecko.sync.repositories.Repository;
import org.mozilla.gecko.sync.stage.ServerSyncStage;
/**
* A stage that joins two Repositories with no wrapping.
*/
public abstract class BaseMockServerSyncStage extends ServerSyncStage {
public Repository local;
public Repository remote;
public String name;
public String collection;
public int version = 1;
public BaseMockServerSyncStage(GlobalSession session) {
super(session);
}
@Override
public boolean isEnabled() {
return true;
}
@Override
protected String getCollection() {
return collection;
}
@Override
protected Repository getLocalRepository() {
return local;
}
@Override
protected Repository getRemoteRepository() throws URISyntaxException {
return remote;
}
@Override
protected String getEngineName() {
return name;
}
@Override
public Integer getStorageVersion() {
return version;
}
@Override
protected RecordFactory getRecordFactory() {
return null;
}
@Override
protected Repository wrappedServerRepo()
throws NoCollectionKeysSetException, URISyntaxException {
return getRemoteRepository();
}
public SynchronizerConfiguration leakConfig()
throws NonObjectJSONException, IOException, ParseException {
return this.getConfig();
}
}