in streams-contrib/streams-provider-twitter/src/main/java/org/apache/streams/twitter/provider/TwitterUserInformationProvider.java [280:338]
protected void submitUserInformationThreads(List<Long> ids, List<String> names) {
/*
while( idsIndex < ids.size() ) {
from = idsIndex
to = Math.min( idsIndex + 100, ids.size() - idsIndex
}
*/
int idsIndex = 0;
while( idsIndex + 100 < ids.size() ) {
List<Long> batchIds = ids.subList(idsIndex, idsIndex + 100);
TwitterUserInformationProviderTask providerTask = new TwitterUserInformationProviderTask(
this,
client,
new UsersLookupRequest().withUserId(batchIds));
tasks.add(providerTask);
Future future = executor.submit((Callable)providerTask);
futures.add(future);
LOGGER.info("Thread Submitted: {}", providerTask.request);
idsIndex += 100;
}
if (ids.size() >= idsIndex) {
List<Long> batchIds = ids.subList(idsIndex, ids.size());
TwitterUserInformationProviderTask providerTask = new TwitterUserInformationProviderTask(
this,
client,
new UsersLookupRequest().withUserId(batchIds));
tasks.add(providerTask);
Future future = executor.submit((Callable)providerTask);
futures.add(future);
LOGGER.info("Thread Submitted: {}", providerTask.request);
}
int namesIndex = 0;
while( namesIndex + 100 < names.size() ) {
List<String> batchNames = names.subList(namesIndex, namesIndex + 100);
TwitterUserInformationProviderTask providerTask = new TwitterUserInformationProviderTask(
this,
client,
new UsersLookupRequest().withScreenName(batchNames));
tasks.add(providerTask);
Future future = executor.submit((Callable)providerTask);
futures.add(future);
LOGGER.info("Thread Submitted: {}", providerTask.request);
namesIndex += 100;
}
if (names.size() >= namesIndex) {
List<String> batchNames = names.subList(namesIndex, names.size());
TwitterUserInformationProviderTask providerTask = new TwitterUserInformationProviderTask(
this,
client,
new UsersLookupRequest().withScreenName(batchNames));
tasks.add(providerTask);
Future future = executor.submit((Callable)providerTask);
futures.add(future);
LOGGER.info("Thread Submitted: {}", providerTask.request);
}
}