final URI uri = query.buildURI(); final HttpGet request = new HttpGet(uri); request.setHeader("Ocp-Apim-Subscription-Key", query.accountKey);
private static List<ImageDataSourceResponse> performQuery(ImageDataSourceQuery query, int number) { if (number <= 0) number = 1000; query.setOffset(0); query.setCount(50); final List<ImageDataSourceResponse> images = new ArrayList<ImageDataSourceResponse>(); for (int i = 0; i < 20; i++) { final List<ImageDataSourceResponse> res = performSinglePageQuery(query); if (res == null || res.size() == 0) break; images.addAll(res); if (images.size() >= number) break; query.setOffset(query.getOffset() + 50); } if (images.size() <= number) return images; return images.subList(0, number); }
final URI uri = query.buildURI(); final HttpGet request = new HttpGet(uri); request.setHeader("Ocp-Apim-Subscription-Key", query.accountKey);
/** * Perform a search with the given query string. * * @param reader * the reader with which to load the images * @param token * the api authentication token * @param query * the query * @param number * the target number of results; the resultant dataset may * contain fewer images than specified. * @return a new {@link BingImageDataset} created from the query. */ public static <IMAGE extends Image<?, IMAGE>> BingImageDataset<IMAGE> create(InputStreamObjectReader<IMAGE> reader, BingAPIToken token, String query, int number) { final ImageDataSourceQuery aq = new ImageDataSourceQuery(); aq.setSubscriptionKey(token.accountKey); aq.setQuery(query); return new BingImageDataset<IMAGE>(reader, performQuery(aq, number), aq); }
/** * Perform a search with the given query. The given api token will be used * to set the appid in the query object. * * @param reader * the reader with which to load the images * @param token * the api authentication token * @param query * the query * @param number * the target number of results; the resultant dataset may * contain fewer images than specified. * @return a new {@link BingImageDataset} created from the query. */ public static <IMAGE extends Image<?, IMAGE>> BingImageDataset<IMAGE> create(InputStreamObjectReader<IMAGE> reader, BingAPIToken token, ImageDataSourceQuery query, int number) { query.setSubscriptionKey(token.accountKey); return new BingImageDataset<IMAGE>(reader, performQuery(query, number), query); }
/** * Perform a search with the given query. The given api token will be used * to set the appid in the query object. * * @param reader * the reader with which to load the images * @param token * the api authentication token * @param query * the query * @param number * the target number of results; the resultant dataset may * contain fewer images than specified. * @return a new {@link BingImageDataset} created from the query. */ public static <IMAGE extends Image<?, IMAGE>> BingImageDataset<IMAGE> create(InputStreamObjectReader<IMAGE> reader, BingAPIToken token, ImageDataSourceQuery query, int number) { query.setSubscriptionKey(token.accountKey); return new BingImageDataset<IMAGE>(reader, performQuery(query, number), query); }
/** * Perform a search with the given query string. * * @param reader * the reader with which to load the images * @param token * the api authentication token * @param query * the query * @param number * the target number of results; the resultant dataset may * contain fewer images than specified. * @return a new {@link BingImageDataset} created from the query. */ public static <IMAGE extends Image<?, IMAGE>> BingImageDataset<IMAGE> create(InputStreamObjectReader<IMAGE> reader, BingAPIToken token, String query, int number) { final ImageDataSourceQuery aq = new ImageDataSourceQuery(); aq.setSubscriptionKey(token.accountKey); aq.setQuery(query); return new BingImageDataset<IMAGE>(reader, performQuery(aq, number), aq); }
private static List<ImageDataSourceResponse> performQuery(ImageDataSourceQuery query, int number) { if (number <= 0) number = 1000; query.setOffset(0); query.setCount(50); final List<ImageDataSourceResponse> images = new ArrayList<ImageDataSourceResponse>(); for (int i = 0; i < 20; i++) { final List<ImageDataSourceResponse> res = performSinglePageQuery(query); if (res == null || res.size() == 0) break; images.addAll(res); if (images.size() >= number) break; query.setOffset(query.getOffset() + 50); } if (images.size() <= number) return images; return images.subList(0, number); }
@Override public String getID() { return query.getQuery(); }
@Override public String getID() { return query.getQuery(); }