public static void main(String[] args) throws BackingStoreException { final BingAPIToken apiToken = DefaultTokenFactory.get(BingAPIToken.class); final BingImageDataset<FImage> ds = BingImageDataset .create(ImageUtilities.FIMAGE_READER, apiToken, "foo", 10); DisplayUtilities.display(ds.getRandomInstance()); } }
/** * Perform a search with the given query. The appid must have been set * externally. * * * @param reader * the reader with which to load the images * @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, ImageDataSourceQuery query, int number) { return new BingImageDataset<IMAGE>(reader, performQuery(query, number), query); }
final BingImageDataset<MBFImage> arnie = BingImageDataset.create(ImageUtilities.MBFIMAGE_READER, bingToken, "Arnold Schwarzenegger", 10); DisplayUtilities.display("Arnie", arnie);
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); }
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); }
public static void main(String[] args) throws BackingStoreException { final BingAPIToken apiToken = DefaultTokenFactory.get(BingAPIToken.class); final BingImageDataset<FImage> ds = BingImageDataset .create(ImageUtilities.FIMAGE_READER, apiToken, "foo", 10); DisplayUtilities.display(ds.getRandomInstance()); } }
/** * Perform a search with the given query. The appid must have been set * externally. * * * @param reader * the reader with which to load the images * @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, ImageDataSourceQuery query, int number) { 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. 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); }
/** * 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); }