package org.springframework.social.flickr.api.impl;
import org.springframework.social.flickr.api.Note;
import org.springframework.social.flickr.api.PhotoNoteOperations;
import org.springframework.util.LinkedMultiValueMap;
import org.springframework.util.MultiValueMap;
import org.springframework.web.client.RestTemplate;
/**
* @author HemantS
*
*/
public class PhotoNoteTemplate extends AbstractFlickrOperations implements PhotoNoteOperations{
private final RestTemplate restTemplate;
public PhotoNoteTemplate(RestTemplate restTemplate,boolean isAuthorizedForUser,String consumerKey) {
super(isAuthorizedForUser,consumerKey);
this.restTemplate = restTemplate;
}
@Override
public String add(String photoId, Note note) {
requireAuthorization();
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
parameters.set("photo_id", photoId);
parameters.set("note_x", String.valueOf(note.getX()));
parameters.set("note_y", String.valueOf(note.getY()));
parameters.set("note_w", String.valueOf(note.getW()));
parameters.set("note_h", String.valueOf(note.getH()));
parameters.set("note_text", note.get_content());
return restTemplate.postForObject(buildUri("flickr.photos.notes.add"),parameters, Note.class).getId();
}
@Override
public boolean delete(String noteId) {
requireAuthorization();
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
parameters.set("note_id", noteId);
restTemplate.postForObject(buildUri("flickr.photos.notes.delete"),parameters, Object.class);
return true;
}
@Override
public boolean edit(String noteId, Note note) {
requireAuthorization();
MultiValueMap<String, String> parameters = new LinkedMultiValueMap<String, String>();
parameters.set("note_id", noteId);
parameters.set("note_x", String.valueOf(note.getX()));
parameters.set("note_y", String.valueOf(note.getY()));
parameters.set("note_w", String.valueOf(note.getW()));
parameters.set("note_h", String.valueOf(note.getH()));
parameters.set("note_text", note.get_content());
restTemplate.postForObject(buildUri("flickr.photos.notes.edit"),parameters, Object.class);
return true;
}
}