package org.springframework.social.flickr.api.impl;
import org.springframework.social.flickr.api.MachinetagsOperations;
import org.springframework.social.flickr.api.Namespaces;
import org.springframework.social.flickr.api.Pairs;
import org.springframework.social.flickr.api.Predicates;
import org.springframework.social.flickr.api.Values;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
/**
* @author HemantS
*
*/
public class MachinetagsTemplate extends AbstractFlickrOperations implements
MachinetagsOperations {
private final RestTemplate restTemplate;
public MachinetagsTemplate(RestTemplate restTemplate,
boolean isAuthorizedForUser,String consumerKey) {
super(isAuthorizedForUser,consumerKey);
this.restTemplate = restTemplate;
}
@Override
public Namespaces getNamespaces(String predicate,
String perPage, String page) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (predicate != null)
parameters.set("predicate", predicate);
if (perPage != null)
parameters.set("per_page", perPage);
if (page != null)
parameters.set("page", page);
return restTemplate.getForObject(
buildUri("flickr.machinetags.getNamespaces", parameters),
Namespaces.class);
}
@Override
public Pairs getPairs(String namespace, String predicate,
String perPage, String page) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (namespace != null)
parameters.set("namespace", namespace);
if (predicate != null)
parameters.set("predicate", predicate);
if (perPage != null)
parameters.set("per_page", perPage);
if (page != null)
parameters.set("page", page);
return restTemplate.getForObject(
buildUri("flickr.machinetags.getPairs", parameters),
Pairs.class);
}
@Override
public Predicates getPredicates(String namespace,
String perPage, String page) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (namespace != null)
parameters.set("namespace", namespace);
if (perPage != null)
parameters.set("per_page", perPage);
if (page != null)
parameters.set("page", page);
return restTemplate.getForObject(
buildUri("flickr.machinetags.getPredicates", parameters),
Predicates.class);
}
@Override
public Values getRecentValues(String namespace,
String predicate, String addedSince) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (namespace != null)
parameters.set("namespace", namespace);
if (predicate != null)
parameters.set("predicate", predicate);
if (addedSince != null)
parameters.set("added_since", addedSince);
return restTemplate.getForObject(
buildUri("flickr.machinetags.getRecentValues", parameters),
Values.class);
}
@Override
public Values getValues(String namespace, String predicate,
String perPage, String page) {
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
if (namespace != null)
parameters.set("namespace", namespace);
if (predicate != null)
parameters.set("predicate", predicate);
if (perPage != null)
parameters.set("per_page", perPage);
if (page != null)
parameters.set("page", page);
return restTemplate.getForObject(
buildUri("flickr.machinetags.getValues", parameters),
Values.class);
}
}