/** * Issue parallel requests to all the resources that are needed ignoring * duplicates. * * @param requests list of urls for which we want the image resourses * @return futureTasks map of url -> futureTask for all the requests sent. */ public Map<Uri, FutureTask<RequestContext>> fetchUnique(List<HttpRequest> requests) { Map<Uri, FutureTask<RequestContext>> futureTasks = Maps.newHashMap(); for (HttpRequest request : requests) { Uri uri = request.getUri(); if (!futureTasks.containsKey(uri)) { futureTasks.put(uri, createHttpFetcher(request)); } } return futureTasks; }
/** * Issue parallel requests to all resources that are needed. * * @param requests list of requests for which we want the resourses * @return futureTasks List of Pairs of url,futureTask for all the requests * in same order as specified. */ public List<Pair<Uri, FutureTask<RequestContext>>> fetchAll(List<HttpRequest> requests) { List<Pair<Uri, FutureTask<RequestContext>>> futureTasks = Lists.newArrayList(); for (HttpRequest request : requests) { futureTasks.add(Pair.of(request.getUri(), createHttpFetcher(request))); } return futureTasks; }