X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FEditImageAjaxPage.java;h=ace775d12472fd1ca1237f53a09b199f81811417;hb=58497297d2b9a18cd2877a226870acfe9e8837af;hp=3c4de8ead04dd48b334b60fe0e6c03b1a1ffb3fd;hpb=7d5aff5d52afa5d9725ce252c846b1aca6f1a761;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/ajax/EditImageAjaxPage.java b/src/main/java/net/pterodactylus/sone/web/ajax/EditImageAjaxPage.java index 3c4de8e..ace775d 100644 --- a/src/main/java/net/pterodactylus/sone/web/ajax/EditImageAjaxPage.java +++ b/src/main/java/net/pterodactylus/sone/web/ajax/EditImageAjaxPage.java @@ -1,5 +1,5 @@ /* - * Sone - EditImageAjaxPage.java - Copyright © 2011 David Roden + * Sone - EditImageAjaxPage.java - Copyright © 2011–2013 David Roden * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,10 +22,11 @@ import net.pterodactylus.sone.template.ParserFilter; import net.pterodactylus.sone.text.TextFilter; import net.pterodactylus.sone.web.WebInterface; import net.pterodactylus.sone.web.page.FreenetRequest; -import net.pterodactylus.util.collection.MapBuilder; -import net.pterodactylus.util.json.JsonObject; import net.pterodactylus.util.template.TemplateContext; +import com.google.common.base.Optional; +import com.google.common.collect.ImmutableMap; + /** * Page that stores a user’s image modifications. * @@ -57,30 +58,30 @@ public class EditImageAjaxPage extends JsonPage { * {@inheritDoc} */ @Override - protected JsonObject createJsonObject(FreenetRequest request) { + protected JsonReturnObject createJsonObject(FreenetRequest request) { String imageId = request.getHttpRequest().getParam("image"); - Image image = webInterface.getCore().getImage(imageId, false); - if (image == null) { + Optional image = webInterface.getCore().getImage(imageId); + if (!image.isPresent()) { return createErrorJsonObject("invalid-image-id"); } - if (!webInterface.getCore().isLocalSone(image.getSone())) { + if (!image.get().getSone().isLocal()) { return createErrorJsonObject("not-authorized"); } if ("true".equals(request.getHttpRequest().getParam("moveLeft"))) { - Image swappedImage = image.getAlbum().moveImageUp(image); + Image swappedImage = image.get().getAlbum().moveImageUp(image.get()); webInterface.getCore().touchConfiguration(); - return createSuccessJsonObject().put("sourceImageId", image.getId()).put("destinationImageId", swappedImage.getId()); + return createSuccessJsonObject().put("sourceImageId", image.get().getId()).put("destinationImageId", swappedImage.getId()); } if ("true".equals(request.getHttpRequest().getParam("moveRight"))) { - Image swappedImage = image.getAlbum().moveImageDown(image); + Image swappedImage = image.get().getAlbum().moveImageDown(image.get()); webInterface.getCore().touchConfiguration(); - return createSuccessJsonObject().put("sourceImageId", image.getId()).put("destinationImageId", swappedImage.getId()); + return createSuccessJsonObject().put("sourceImageId", image.get().getId()).put("destinationImageId", swappedImage.getId()); } String title = request.getHttpRequest().getParam("title").trim(); String description = request.getHttpRequest().getParam("description").trim(); - image.setTitle(title).setDescription(TextFilter.filter(request.getHttpRequest().getHeader("host"), description)); + image.get().modify().setTitle(title).setDescription(TextFilter.filter(request.getHttpRequest().getHeader("host"), description)).update(); webInterface.getCore().touchConfiguration(); - return createSuccessJsonObject().put("imageId", image.getId()).put("title", image.getTitle()).put("description", image.getDescription()).put("parsedDescription", (String) parserFilter.format(new TemplateContext(), image.getDescription(), new MapBuilder().put("sone", image.getSone().getId()).get())); + return createSuccessJsonObject().put("imageId", image.get().getId()).put("title", image.get().getTitle()).put("description", image.get().getDescription()).put("parsedDescription", (String) parserFilter.format(new TemplateContext(), image.get().getDescription(), ImmutableMap.builder().put("sone", image.get().getSone()).build())); } }