/** * */ package com.gmail.charleszq.picorner.service.flickr; import com.gmail.charleszq.picorner.model.FlickrTagSearchParameter; import com.gmail.charleszq.picorner.model.MediaObjectCollection; import com.gmail.charleszq.picorner.utils.FlickrHelper; import com.gmail.charleszq.picorner.utils.ModelUtils; import com.googlecode.flickrjandroid.Flickr; import com.googlecode.flickrjandroid.photos.PhotoList; import com.googlecode.flickrjandroid.photos.PhotosInterface; import com.googlecode.flickrjandroid.photos.SearchParameters; /** * @author charles(charleszq@gmail.com) * */ public class FlickrTagSearchService extends FlickrAbstractPhotoListService { private SearchParameters mSearchParameter; private String mToken = null; private String mSecret = null; /** * */ public FlickrTagSearchService() { super(); mSearchParameter = new SearchParameters(); mSearchParameter.setExtras(this.mExtras); mSearchParameter.setMachineTagMode("any"); //$NON-NLS-1$ mSearchParameter.setSort(SearchParameters.DATE_POSTED_DESC); mSearchParameter.setHasGeo(false); mSearchParameter.setInCommons(false); } public FlickrTagSearchService(String token, String secret) { this(); this.mToken = token; this.mSecret = secret; } public void setSearchParameter(FlickrTagSearchParameter param) { String[] ts = param.getTags().split(" "); //$NON-NLS-1$ mSearchParameter.setTags(ts); mSearchParameter.setTagMode(param.getSearchMode().toString()); mSearchParameter.setHasGeo(param.isHasGeoInformation()); mSearchParameter.setInCommons(param.isSearchInCommon()); if (param.getUserId() != null) { mSearchParameter.setUserId(param.getUserId()); } } /* * (non-Javadoc) * * @see com.gmail.charleszq.picorner.service.IPhotoService#getPhotos(int, * int) */ @Override public MediaObjectCollection getPhotos(int pageSize, int pageNo) throws Exception { Flickr f = mToken == null ? FlickrHelper.getInstance().getFlickr() : FlickrHelper.getInstance().getFlickrAuthed(mToken, mSecret); PhotosInterface pi = f.getPhotosInterface(); PhotoList list = pi.search(mSearchParameter, pageSize, pageNo + 1); return ModelUtils.convertFlickrPhotoList(list); } }