package com.project.website.canvas.client.shared.searchProviders.youtube.adapters; import java.util.ArrayList; import com.google.gwt.user.client.rpc.AsyncCallback; import com.project.gwtyoutube.client.YouTubeItem; import com.project.gwtyoutube.client.YouTubeThumbnail; import com.project.shared.utils.StringUtils; import com.project.website.canvas.client.shared.searchProviders.MediaInfoImpl; import com.project.website.canvas.client.shared.searchProviders.interfaces.MediaInfo; import com.project.website.canvas.client.shared.searchProviders.interfaces.MediaResult; public class YouTubeItemToMediaResultAdapter implements MediaResult { private final static int DEFAULT_VIDEO_WIDTH = 425; private final static int DEFAULT_VIDEO_HEIGHT = 349; private YouTubeItem _youTubeItem; public YouTubeItemToMediaResultAdapter(YouTubeItem youTubeItem) { this._youTubeItem = youTubeItem; } @Override public String getUrl() { // TODO Auto-generated method stub return null; } @Override public String getTitle() { return this._youTubeItem.getTitle(); } @Override public void getMediaSizes(AsyncCallback<ArrayList<MediaInfo>> callback) { ArrayList<MediaInfo> mediaSizes = new ArrayList<MediaInfo>(); mediaSizes.add(new MediaInfoImpl(this._youTubeItem.getEmbeddedUrl(), "Standard", DEFAULT_VIDEO_WIDTH, DEFAULT_VIDEO_HEIGHT)); callback.onSuccess(mediaSizes); } @Override public String getThumbnailUrl() { YouTubeThumbnail thumbnail = this._youTubeItem.getThumbnail(); return StringUtils.defaultIfNullOrEmpty(thumbnail.getDefaultUrl(), StringUtils.defaultIfNullOrEmpty(thumbnail.getSQDefaultUrl(), thumbnail.getHQDefaultUrl())); } }