/* Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/ */
package org.mozilla.android.sync.test.helpers;
import java.util.ArrayList;
import java.util.concurrent.ExecutorService;
import junit.framework.AssertionFailedError;
import org.mozilla.gecko.sync.repositories.delegates.RepositorySessionFetchRecordsDelegate;
import org.mozilla.gecko.sync.repositories.domain.Record;
public class ExpectSuccessRepositorySessionFetchRecordsDelegate extends
ExpectSuccessDelegate implements RepositorySessionFetchRecordsDelegate {
public ArrayList<Record> fetchedRecords = new ArrayList<Record>();
public ExpectSuccessRepositorySessionFetchRecordsDelegate(WaitHelper waitHelper) {
super(waitHelper);
}
@Override
public void onFetchFailed(Exception ex, Record record) {
log("Fetch failed.", ex);
performNotify(new AssertionFailedError("onFetchFailed: fetch should not have failed."));
}
@Override
public void onFetchedRecord(Record record) {
fetchedRecords.add(record);
log("Fetched record with guid '" + record.guid + "'.");
}
@Override
public void onFetchCompleted(long end) {
log("Fetch completed.");
performNotify();
}
@Override
public RepositorySessionFetchRecordsDelegate deferredFetchDelegate(ExecutorService executor) {
return this;
}
}