package com.project.website.canvas.client.shared.searchProviders;
import java.util.ArrayList;
import java.util.List;
import com.project.website.canvas.client.shared.searchProviders.flickr.FlickrSearchProvider;
import com.project.website.canvas.client.shared.searchProviders.interfaces.ImageSearchProvider;
import com.project.website.canvas.client.shared.searchProviders.interfaces.VideoSearchProvider;
import com.project.website.canvas.client.shared.searchProviders.youtube.YouTubeSearchProvider;
import com.project.website.canvas.shared.ApiKeys;
//TODO: Replace this class with appropriate configuration.
public class SearchProviders
{
private static final List<ImageSearchProvider> _defaultImageSearchProviders =
createDefaultImageSearchProviderList();
private static final List<VideoSearchProvider> _defaultVideoSearchProviders =
createDefaultVideoSearchProviderList();
private static List<ImageSearchProvider> createDefaultImageSearchProviderList()
{
ArrayList<ImageSearchProvider> searchProvides = new ArrayList<ImageSearchProvider>();
// TODO: Fix the bing search API client, it is broken since Microsfot moved it
// to Azure Marketplace and changed the API (now it requires OAuth or HTTP authentication)
// searchProvides.add(new BingSearchProvider(ApiKeys.BING_SEARCH));
searchProvides.add(new FlickrSearchProvider(ApiKeys.FLICKR_SEARCH));
return searchProvides;
}
private static List<VideoSearchProvider> createDefaultVideoSearchProviderList()
{
ArrayList<VideoSearchProvider> searchProvides = new ArrayList<VideoSearchProvider>();
searchProvides.add(new YouTubeSearchProvider());
return searchProvides;
}
public static List<ImageSearchProvider> getDefaultImageSearchProviders()
{
return SearchProviders._defaultImageSearchProviders;
}
public static List<VideoSearchProvider> getDefaultVideoSearchProviders()
{
return SearchProviders._defaultVideoSearchProviders;
}
}