/*
- * Sone - DismissNotificationPage.java - Copyright © 2010 David Roden
+ * Sone - DismissNotificationPage.java - Copyright © 2010–2016 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
package net.pterodactylus.sone.web;
+import net.pterodactylus.sone.web.page.FreenetRequest;
import net.pterodactylus.util.notify.Notification;
import net.pterodactylus.util.template.Template;
+import net.pterodactylus.util.template.TemplateContext;
+
+import com.google.common.base.Optional;
/**
* Page that lets the user dismiss a notification.
* {@inheritDoc}
*/
@Override
- protected void processTemplate(Request request, Template template) throws RedirectException {
- super.processTemplate(request, template);
+ protected void handleRequest(FreenetRequest request, TemplateContext templateContext) throws RedirectException {
String notificationId = request.getHttpRequest().getPartAsStringFailsafe("notification", 36);
- Notification notification = webInterface.getCore().getNotifications().getNotification(notificationId);
- if ((notification != null) && notification.isDismissable()) {
- webInterface.getCore().getNotifications().removeNotification(notification);
+ Optional<Notification> notification = webInterface.getNotification(notificationId);
+ if (notification.isPresent() && notification.get().isDismissable()) {
+ notification.get().dismiss();
}
- String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 64);
+ String returnPage = request.getHttpRequest().getPartAsStringFailsafe("returnPage", 256);
throw new RedirectException(returnPage);
}