package net.dev123.yibo.service.task;
import java.util.List;
import net.dev123.commons.util.ListUtil;
import net.dev123.exception.LibException;
import net.dev123.mblog.MicroBlog;
import net.dev123.mblog.entity.Status;
import net.dev123.mblog.sina.Sina;
import net.dev123.mblog.sohu.Sohu;
import net.dev123.yibo.common.Constants;
public class Util {
private static int COUNT_BATCH_MAX_NUM = 100;
static boolean getResponseCounts(List<Status> listStatus, MicroBlog microBlog) {
boolean isSuccess = false;
if (ListUtil.isEmpty(listStatus) || microBlog == null) {
return isSuccess;
}
if (!(microBlog instanceof Sina) && !(microBlog instanceof Sohu)) {
return isSuccess;
}
try {
int times = (int)Math.ceil((double)listStatus.size() / COUNT_BATCH_MAX_NUM);
int start = 0;
int end = 0;
for (int i = 0; i < times; i++) {
start = i * COUNT_BATCH_MAX_NUM;
end = start + COUNT_BATCH_MAX_NUM;
if (end > listStatus.size()) {
end = listStatus.size();
}
microBlog.getResponseCountList(listStatus.subList(start, end));
}
isSuccess = true;
} catch (LibException e) {
if (Constants.DEBUG) e.printStackTrace();
}
return isSuccess;
}
public static void getResponseCountsAsync(List<Status> listStatus, MicroBlog microBlog) {
if (ListUtil.isEmpty(listStatus) || microBlog == null) {
return;
}
QueryBatchStatusCountTask task = new QueryBatchStatusCountTask(listStatus, microBlog);
task.execute();
}
}