package com.khmelenko.lab.varis.task.travis;
import android.text.TextUtils;
import com.khmelenko.lab.varis.event.travis.RequestsFailedEvent;
import com.khmelenko.lab.varis.event.travis.RequestsLoadedEvent;
import com.khmelenko.lab.varis.network.response.BuildHistory;
import com.khmelenko.lab.varis.network.response.Requests;
import com.khmelenko.lab.varis.task.Task;
import com.khmelenko.lab.varis.task.TaskError;
import com.khmelenko.lab.varis.task.TaskException;
/**
* @author Dmytro Khmelenko
*/
public class RequestsTask extends Task<Requests> {
private long mRepoId;
private String mRepoSlug;
public RequestsTask(long repoId) {
mRepoId = repoId;
}
public RequestsTask(String repoSlug) {
mRepoSlug = repoSlug;
}
@Override
public Requests execute() throws TaskException {
Requests requests;
BuildHistory buildHistory;
if(!TextUtils.isEmpty(mRepoSlug)) {
requests = travisClient().getApiService().getRequests(mRepoSlug);
buildHistory = travisClient().getApiService().getPullRequestBuilds(mRepoSlug);
requests.setBuilds(buildHistory.getBuilds());
} else {
requests = travisClient().getApiService().getRequests(mRepoId);
buildHistory = travisClient().getApiService().getPullRequestBuilds(mRepoId);
requests.setBuilds(buildHistory.getBuilds());
}
return requests;
}
@Override
public void onSuccess(Requests result) {
RequestsLoadedEvent event = new RequestsLoadedEvent(result);
eventBus().post(event);
}
@Override
public void onFail(TaskError error) {
RequestsFailedEvent event = new RequestsFailedEvent(error);
eventBus().post(event);
}
}