* @param parameterName
* The name under which the Sone ID is stored in the simple field
* set
+ * @param localOnly
+ * {@code true} to only return local Sones, {@code false} to
+ * return any Sones
* @return The Sone
* @throws FcpException
* if there is no Sone ID stored under the given parameter name,
* or if the Sone ID is invalid
*/
- protected Sone getSone(SimpleFieldSet simpleFieldSet, String parameterName) throws FcpException {
+ protected Sone getSone(SimpleFieldSet simpleFieldSet, String parameterName, boolean localOnly) throws FcpException {
try {
String soneId = simpleFieldSet.getString(parameterName);
- Sone sone = core.getSone(soneId, false);
+ Sone sone = localOnly ? core.getLocalSone(soneId, false) : core.getSone(soneId, false);
if (sone == null) {
throw new FcpException("Could not load Sone from “" + soneId + "”.");
}
*/
@Override
public Response execute(SimpleFieldSet parameters, Bucket data, AccessType accessType) throws FcpException {
- Sone sone = getSone(parameters, "Sone");
+ Sone sone = getSone(parameters, "Sone", true);
int startPost = getInt(parameters, "StartPost", 0);
int maxPosts = getInt(parameters, "MaxPosts", -1);
*/
@Override
public Response execute(SimpleFieldSet parameters, Bucket data, AccessType accessType) throws FcpException {
- Sone sone = getSone(parameters, "Sone");
+ Sone sone = getSone(parameters, "Sone", false);
int startPost = getInt(parameters, "StartPost", 0);
int maxPosts = getInt(parameters, "MaxPosts", -1);
List<Post> posts = sone.getPosts();
@Override
public Response execute(SimpleFieldSet parameters, Bucket data, AccessType accessType) throws FcpException {
Post post = getPost(parameters, "Post");
- Sone sone = getSone(parameters, "Sone");
+ Sone sone = getSone(parameters, "Sone", true);
sone.addLikedPostId(post.getId());
return new Response("PostLiked", new SimpleFieldSetBuilder().put("LikeCount", getCore().getLikes(post).size()).get());
}
@Override
public Response execute(SimpleFieldSet parameters, Bucket data, AccessType accessType) throws FcpException {
Reply reply = getReply(parameters, "Reply");
- Sone sone = getSone(parameters, "Sone");
+ Sone sone = getSone(parameters, "Sone", true);
sone.addLikedReplyId(reply.getId());
return new Response("ReplyLiked", new SimpleFieldSetBuilder().put("LikeCount", getCore().getLikes(reply).size()).get());
}