package org.springframework.social.flickr.api.impl;
import org.springframework.social.flickr.api.Contacts;
import org.springframework.social.flickr.api.ContactsOperations;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
/**
* @author HemantS
*
*/
public class ContactsTemplate extends AbstractFlickrOperations implements
ContactsOperations {
private final RestTemplate restTemplate;
public ContactsTemplate(RestTemplate restTemplate,
boolean isAuthorizedForUser,String consumerKey) {
super(isAuthorizedForUser,consumerKey);
this.restTemplate = restTemplate;
}
@Override
public void getListRecentlyUploaded(String dateLastupload,
String filter) {
requireAuthorization();
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (dateLastupload != null)
parameters.set("date_lastupload", dateLastupload);
if (filter != null)
parameters.set("filter", filter);
restTemplate
.getForObject(
buildUri("flickr.contacts.getListRecentlyUploaded",
parameters), Object.class);
}
@Override
public Contacts getPublicList(String userId, String page,
String perPage) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (userId != null)
parameters.set("user_id", userId);
if (page != null)
parameters.set("page", page);
if (perPage != null)
parameters.set("per_page", perPage);
return restTemplate.getForObject(
buildUri("flickr.contacts.getPublicList", parameters),
Contacts.class);
}
@Override
public Contacts getTaggingSuggestions(String perPage, String page) {
requireAuthorization();
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (perPage != null)
parameters.set("per_page", perPage);
if (page != null)
parameters.set("page", page);
return restTemplate.getForObject(
buildUri("flickr.contacts.getTaggingSuggestions", parameters),
Contacts.class);
}
@Override
public Contacts getList(String filter, String page, String perPage,String sort) {
requireAuthorization();
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (filter != null)
parameters.set("filter", filter);
if (perPage != null)
parameters.set("per_page", perPage);
if (page != null)
parameters.set("page", page);
if (sort != null)
parameters.set("sort", sort);
return restTemplate.getForObject(buildUri("flickr.contacts.getList", parameters),Contacts.class);
}
}