X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FGetNotificationsAjaxPage.java;fp=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2Fajax%2FGetNotificationsAjaxPage.java;h=0000000000000000000000000000000000000000;hb=80822a0b544648746b293b562eed1da88e439991;hp=2264b2e5e9d45201c62eb1fdd6320f4b0e72eea4;hpb=728eb9dfab6b9284dbb69701fa8ba4a9b072e7ca;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/ajax/GetNotificationsAjaxPage.java b/src/main/java/net/pterodactylus/sone/web/ajax/GetNotificationsAjaxPage.java deleted file mode 100644 index 2264b2e..0000000 --- a/src/main/java/net/pterodactylus/sone/web/ajax/GetNotificationsAjaxPage.java +++ /dev/null @@ -1,100 +0,0 @@ -/* - * Sone - GetNotificationsAjaxPage.java - Copyright © 2010 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 - * the Free Software Foundation, either version 3 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see . - */ - -package net.pterodactylus.sone.web.ajax; - -import java.util.ArrayList; -import java.util.Collections; -import java.util.List; -import java.util.Set; - -import net.pterodactylus.sone.web.WebInterface; -import net.pterodactylus.util.json.JsonArray; -import net.pterodactylus.util.json.JsonObject; -import net.pterodactylus.util.notify.Notification; - -/** - * Returns all changed notifications. - * - * @author David ‘Bombe’ Roden - */ -public class GetNotificationsAjaxPage extends JsonPage { - - /** - * Creates a new “get notifications” AJAX handler. - * - * @param webInterface - * The Sone web interface - */ - public GetNotificationsAjaxPage(WebInterface webInterface) { - super("ajax/getNotifications.ajax", webInterface); - } - - // - // JSONPAGE METHODS - // - - /** - * {@inheritDoc} - */ - @Override - protected JsonObject createJsonObject(Request request) { - List notifications = new ArrayList(webInterface.getNotifications().getChangedNotifications()); - Set removedNotifications = webInterface.getNotifications().getRemovedNotifications(); - Collections.sort(notifications, Notification.LAST_UPDATED_TIME_SORTER); - JsonObject result = createSuccessJsonObject(); - JsonArray jsonNotifications = new JsonArray(); - for (Notification notification : notifications) { - jsonNotifications.add(createJsonNotification(notification)); - } - JsonArray jsonRemovedNotifications = new JsonArray(); - for (Notification notification : removedNotifications) { - jsonRemovedNotifications.add(createJsonNotification(notification)); - } - return result.put("notifications", jsonNotifications).put("removedNotifications", jsonRemovedNotifications); - } - - /** - * {@inheritDoc} - */ - @Override - protected boolean needsFormPassword() { - return false; - } - - // - // PRIVATE METHODS - // - - /** - * Creates a JSON object from the given notification. - * - * @param notification - * The notification to create a JSON object - * @return The JSON object - */ - private static JsonObject createJsonNotification(Notification notification) { - JsonObject jsonNotification = new JsonObject(); - jsonNotification.put("id", notification.getId()); - jsonNotification.put("text", notification.toString()); - jsonNotification.put("createdTime", notification.getCreatedTime()); - jsonNotification.put("lastUpdatedTime", notification.getLastUpdatedTime()); - jsonNotification.put("dismissable", notification.isDismissable()); - return jsonNotification; - } - -}