package com.collabinate.server.resources;
import org.restlet.data.Status;
import org.restlet.resource.Get;
import org.restlet.resource.ServerResource;
import com.collabinate.server.activitystreams.ActivityStreamsCollection;
import com.collabinate.server.engine.CollabinateReader;
/**
* Restful resource representing a collection of likes for an activity.
*
* @author mafuba
*
*/
public class LikesResource extends ServerResource
{
@Get("json")
public String getLikes()
{
// extract necessary information from the context
CollabinateReader reader = (CollabinateReader)getContext()
.getAttributes().get("collabinateReader");
String tenantId = getAttribute("tenantId");
String entityId = getAttribute("entityId");
String activityId = getAttribute("activityId");
String skipString = getQueryValue("skip");
String takeString = getQueryValue("take");
int skip = null == skipString ? 0 : Integer.parseInt(skipString);
int take = null == takeString ? DEFAULT_TAKE :
Integer.parseInt(takeString);
ActivityStreamsCollection likes = reader.getLikes(
tenantId, entityId, activityId, skip, take);
if (null != likes)
{
setStatus(Status.SUCCESS_OK);
return likes.toString();
}
else
{
// TODO: set error message
setStatus(Status.CLIENT_ERROR_NOT_FOUND);
return null;
}
}
private static final int DEFAULT_TAKE = 20;
}