package com.project.website.canvas.client.shared.searchProviders.bing.adapters;
import java.util.ArrayList;
import com.google.gwt.core.client.JsArray;
import com.project.gwtbing.client.imagesearch.ImageResponse;
import com.project.website.canvas.client.shared.searchProviders.interfaces.MediaResult;
import com.project.website.canvas.client.shared.searchProviders.interfaces.MediaSearchResult;
public class ImageResponseToToImageSearchAdapter implements MediaSearchResult
{
private ImageResponse _imageResponse = null;
private int _pageSize = 0;
public ImageResponseToToImageSearchAdapter(int pageSize, ImageResponse imageResponse)
{
this._pageSize = pageSize;
this._imageResponse = imageResponse;
}
@Override
public int getTotalPages() {
if (0 == this._pageSize)
{
return 0;
}
//TODO: Consider a better calculation.
return (int)Math.ceil((double)this._imageResponse.getTotal() / this._pageSize);
}
@Override
public int getCurrentPage() {
int resultCount = this._imageResponse.getOffset() +
this._imageResponse.getResults().length();
//TODO: Consider a better calculation.
return (int)(Math.ceil((double)this._pageSize / (double)resultCount));
}
@Override
public ArrayList<MediaResult> getMediaResults() {
ArrayList<MediaResult> resultList = new ArrayList<MediaResult>();
JsArray<com.project.gwtbing.client.imagesearch.ImageResult> bingImageResults = this._imageResponse.getResults();
for (int index = 0; index < bingImageResults.length(); index++)
{
resultList.add(new BingImageResultAdapter(bingImageResults.get(index)));
}
return resultList;
}
}