package org.springframework.social.flickr.api.impl;
import org.springframework.social.flickr.api.Gallery;
import org.springframework.social.flickr.api.Group;
import org.springframework.social.flickr.api.UrlsOperations;
import org.springframework.social.flickr.api.User;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
/**
* @author HemantS
*
*/
public class UrlsTemplate extends AbstractFlickrOperations implements
UrlsOperations {
private final RestTemplate restTemplate;
public UrlsTemplate(RestTemplate restTemplate, boolean isAuthorizedForUser) {
super(isAuthorizedForUser);
this.restTemplate = restTemplate;
}
@Override
public Group getGroup(String apiKey, String groupId) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (apiKey != null)
parameters.set("api_key", apiKey);
if (groupId != null)
parameters.set("group_id", groupId);
return restTemplate.getForObject(
buildUri("flickr.urls.getGroup", parameters), Group.class);
}
@Override
public User getUserPhotos(String apiKey, String userId) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (apiKey != null)
parameters.set("api_key", apiKey);
if (userId != null)
parameters.set("user_id", userId);
return restTemplate.getForObject(
buildUri("flickr.urls.getUserPhotos", parameters), User.class);
}
@Override
public User getUserProfile(String apiKey, String userId) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (apiKey != null)
parameters.set("api_key", apiKey);
if (userId != null)
parameters.set("user_id", userId);
return restTemplate.getForObject(
buildUri("flickr.urls.getUserProfile", parameters), User.class);
}
@Override
public Gallery lookupGallery(String apiKey, String url) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (apiKey != null)
parameters.set("api_key", apiKey);
if (url != null)
parameters.set("url", url);
return restTemplate.getForObject(
buildUri("flickr.urls.lookupGallery", parameters),
Gallery.class);
}
@Override
public Group lookupGroup(String apiKey, String url) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (apiKey != null)
parameters.set("api_key", apiKey);
if (url != null)
parameters.set("url", url);
return restTemplate.getForObject(
buildUri("flickr.urls.lookupGroup", parameters), Group.class);
}
@Override
public User lookupUser(String apiKey, String url) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (apiKey != null)
parameters.set("api_key", apiKey);
if (url != null)
parameters.set("url", url);
return restTemplate.getForObject(
buildUri("flickr.urls.lookupUser", parameters), User.class);
}
}