X-Git-Url: https://git.pterodactylus.net/?p=Sone.git;a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FWebInterface.java;h=cf67c0b2f009e4a2840e1f9b1503d729980aae32;hp=d4f3f5587b61eb71526a6a75d7afa9b707a0717a;hb=04709e23f38e9d447337682ba27201da5dc19bd9;hpb=6a3f1fede0cda5cd6ed56204aa1dd37a19813cb9 diff --git a/src/main/java/net/pterodactylus/sone/web/WebInterface.java b/src/main/java/net/pterodactylus/sone/web/WebInterface.java index d4f3f55..cf67c0b 100644 --- a/src/main/java/net/pterodactylus/sone/web/WebInterface.java +++ b/src/main/java/net/pterodactylus/sone/web/WebInterface.java @@ -112,6 +112,7 @@ import net.pterodactylus.sone.web.ajax.UnlikeAjaxPage; import net.pterodactylus.sone.web.ajax.UnlockSoneAjaxPage; import net.pterodactylus.sone.web.ajax.UntrustAjaxPage; import net.pterodactylus.sone.web.page.FreenetRequest; +import net.pterodactylus.sone.web.page.TemplateRenderer; import net.pterodactylus.sone.web.pages.AboutPage; import net.pterodactylus.sone.web.pages.BookmarkPage; import net.pterodactylus.sone.web.pages.BookmarksPage; @@ -131,10 +132,13 @@ import net.pterodactylus.sone.web.pages.EditAlbumPage; import net.pterodactylus.sone.web.pages.EditImagePage; import net.pterodactylus.sone.web.pages.EditProfileFieldPage; import net.pterodactylus.sone.web.pages.EditProfilePage; +import net.pterodactylus.sone.web.pages.EmptyAlbumTitlePage; +import net.pterodactylus.sone.web.pages.EmptyImageTitlePage; import net.pterodactylus.sone.web.pages.FollowSonePage; import net.pterodactylus.sone.web.pages.GetImagePage; import net.pterodactylus.sone.web.pages.ImageBrowserPage; import net.pterodactylus.sone.web.pages.IndexPage; +import net.pterodactylus.sone.web.pages.InvalidPage; import net.pterodactylus.sone.web.pages.KnownSonesPage; import net.pterodactylus.sone.web.pages.LikePage; import net.pterodactylus.sone.web.pages.LockSonePage; @@ -142,6 +146,7 @@ import net.pterodactylus.sone.web.pages.LoginPage; import net.pterodactylus.sone.web.pages.LogoutPage; import net.pterodactylus.sone.web.pages.MarkAsKnownPage; import net.pterodactylus.sone.web.pages.NewPage; +import net.pterodactylus.sone.web.pages.NoPermissionPage; import net.pterodactylus.sone.web.pages.OptionsPage; import net.pterodactylus.sone.web.pages.RescuePage; import net.pterodactylus.sone.web.pages.SearchPage; @@ -197,6 +202,7 @@ public class WebInterface implements SessionProvider { /** The template context factory. */ private final TemplateContextFactory templateContextFactory; + private final TemplateRenderer templateRenderer; /** The Sone text parser. */ private final SoneTextParser soneTextParser; @@ -263,6 +269,7 @@ public class WebInterface implements SessionProvider { public WebInterface(SonePlugin sonePlugin, Loaders loaders, ListNotificationFilter listNotificationFilter, PostVisibilityFilter postVisibilityFilter, ReplyVisibilityFilter replyVisibilityFilter, ElementLoader elementLoader, TemplateContextFactory templateContextFactory, + TemplateRenderer templateRenderer, ParserFilter parserFilter, ShortenFilter shortenFilter, RenderFilter renderFilter, LinkedElementRenderFilter linkedElementRenderFilter, @@ -273,6 +280,7 @@ public class WebInterface implements SessionProvider { this.postVisibilityFilter = postVisibilityFilter; this.replyVisibilityFilter = replyVisibilityFilter; this.elementLoader = elementLoader; + this.templateRenderer = templateRenderer; this.parserFilter = parserFilter; this.shortenFilter = shortenFilter; this.renderFilter = renderFilter; @@ -601,85 +609,56 @@ public class WebInterface implements SessionProvider { * Register all toadlets. */ private void registerToadlets() { - Template emptyTemplate = parse(new StringReader("")); - Template loginTemplate = loaders.loadTemplate("/templates/login.html"); - Template indexTemplate = loaders.loadTemplate("/templates/index.html"); - Template newTemplate = loaders.loadTemplate("/templates/new.html"); - Template knownSonesTemplate = loaders.loadTemplate("/templates/knownSones.html"); - Template createSoneTemplate = loaders.loadTemplate("/templates/createSone.html"); - Template createPostTemplate = loaders.loadTemplate("/templates/createPost.html"); - Template createReplyTemplate = loaders.loadTemplate("/templates/createReply.html"); - Template bookmarksTemplate = loaders.loadTemplate("/templates/bookmarks.html"); - Template searchTemplate = loaders.loadTemplate("/templates/search.html"); - Template editProfileTemplate = loaders.loadTemplate("/templates/editProfile.html"); - Template editProfileFieldTemplate = loaders.loadTemplate("/templates/editProfileField.html"); - Template deleteProfileFieldTemplate = loaders.loadTemplate("/templates/deleteProfileField.html"); - Template viewSoneTemplate = loaders.loadTemplate("/templates/viewSone.html"); - Template viewPostTemplate = loaders.loadTemplate("/templates/viewPost.html"); - Template deletePostTemplate = loaders.loadTemplate("/templates/deletePost.html"); - Template deleteReplyTemplate = loaders.loadTemplate("/templates/deleteReply.html"); - Template deleteSoneTemplate = loaders.loadTemplate("/templates/deleteSone.html"); - Template imageBrowserTemplate = loaders.loadTemplate("/templates/imageBrowser.html"); - Template createAlbumTemplate = loaders.loadTemplate("/templates/createAlbum.html"); - Template deleteAlbumTemplate = loaders.loadTemplate("/templates/deleteAlbum.html"); - Template deleteImageTemplate = loaders.loadTemplate("/templates/deleteImage.html"); - Template noPermissionTemplate = loaders.loadTemplate("/templates/noPermission.html"); - Template emptyImageTitleTemplate = loaders.loadTemplate("/templates/emptyImageTitle.html"); - Template emptyAlbumTitleTemplate = loaders.loadTemplate("/templates/emptyAlbumTitle.html"); - Template optionsTemplate = loaders.loadTemplate("/templates/options.html"); - Template rescueTemplate = loaders.loadTemplate("/templates/rescue.html"); - Template aboutTemplate = loaders.loadTemplate("/templates/about.html"); - Template invalidTemplate = loaders.loadTemplate("/templates/invalid.html"); Template postTemplate = loaders.loadTemplate("/templates/include/viewPost.html"); Template replyTemplate = loaders.loadTemplate("/templates/include/viewReply.html"); Template openSearchTemplate = loaders.loadTemplate("/templates/xml/OpenSearch.xml"); pageToadletRegistry.addPage(new RedirectPage("", "index.html")); - pageToadletRegistry.addPage(new IndexPage(indexTemplate, this, loaders, postVisibilityFilter)); - pageToadletRegistry.addPage(new NewPage(newTemplate, this, loaders)); - pageToadletRegistry.addPage(new CreateSonePage(createSoneTemplate, this, loaders)); - pageToadletRegistry.addPage(new KnownSonesPage(knownSonesTemplate, this, loaders)); - pageToadletRegistry.addPage(new EditProfilePage(editProfileTemplate, this, loaders)); - pageToadletRegistry.addPage(new EditProfileFieldPage(editProfileFieldTemplate, this, loaders)); - pageToadletRegistry.addPage(new DeleteProfileFieldPage(deleteProfileFieldTemplate, this, loaders)); - pageToadletRegistry.addPage(new CreatePostPage(createPostTemplate, this, loaders)); - pageToadletRegistry.addPage(new CreateReplyPage(createReplyTemplate, this, loaders)); - pageToadletRegistry.addPage(new ViewSonePage(viewSoneTemplate, this, loaders)); - pageToadletRegistry.addPage(new ViewPostPage(viewPostTemplate, this, loaders)); - pageToadletRegistry.addPage(new LikePage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new UnlikePage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new DeletePostPage(deletePostTemplate, this, loaders)); - pageToadletRegistry.addPage(new DeleteReplyPage(deleteReplyTemplate, this, loaders)); - pageToadletRegistry.addPage(new LockSonePage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new UnlockSonePage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new FollowSonePage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new UnfollowSonePage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new ImageBrowserPage(imageBrowserTemplate, this, loaders)); - pageToadletRegistry.addPage(new CreateAlbumPage(createAlbumTemplate, this, loaders)); - pageToadletRegistry.addPage(new EditAlbumPage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new DeleteAlbumPage(deleteAlbumTemplate, this, loaders)); - pageToadletRegistry.addPage(new UploadImagePage(invalidTemplate, this, loaders)); - pageToadletRegistry.addPage(new EditImagePage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new DeleteImagePage(deleteImageTemplate, this, loaders)); - pageToadletRegistry.addPage(new TrustPage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new DistrustPage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new UntrustPage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new MarkAsKnownPage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new BookmarkPage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new UnbookmarkPage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new BookmarksPage(bookmarksTemplate, this, loaders)); - pageToadletRegistry.addPage(new SearchPage(searchTemplate, this, loaders)); - pageToadletRegistry.addPage(new DeleteSonePage(deleteSoneTemplate, this, loaders)); - pageToadletRegistry.addPage(new LoginPage(loginTemplate, this, loaders)); - pageToadletRegistry.addPage(new LogoutPage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new OptionsPage(optionsTemplate, this, loaders)); - pageToadletRegistry.addPage(new RescuePage(rescueTemplate, this, loaders)); - pageToadletRegistry.addPage(new AboutPage(aboutTemplate, this, loaders, new PluginVersion(SonePlugin.getPluginVersion()), new PluginYear(sonePlugin.getYear()), new PluginHomepage(sonePlugin.getHomepage()))); - pageToadletRegistry.addPage(new SoneTemplatePage("noPermission.html", this, loaders, noPermissionTemplate, "Page.NoPermission.Title")); - pageToadletRegistry.addPage(new SoneTemplatePage("emptyImageTitle.html", this, loaders, emptyImageTitleTemplate, "Page.EmptyImageTitle.Title")); - pageToadletRegistry.addPage(new SoneTemplatePage("emptyAlbumTitle.html", this, loaders, emptyAlbumTitleTemplate, "Page.EmptyAlbumTitle.Title")); - pageToadletRegistry.addPage(new DismissNotificationPage(emptyTemplate, this, loaders)); - pageToadletRegistry.addPage(new SoneTemplatePage("invalid.html", this, loaders, invalidTemplate, "Page.Invalid.Title")); + pageToadletRegistry.addPage(new IndexPage(this, loaders, templateRenderer, postVisibilityFilter)); + pageToadletRegistry.addPage(new NewPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new CreateSonePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new KnownSonesPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EditProfilePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EditProfileFieldPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeleteProfileFieldPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new CreatePostPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new CreateReplyPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new ViewSonePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new ViewPostPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new LikePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UnlikePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeletePostPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeleteReplyPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new LockSonePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UnlockSonePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new FollowSonePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UnfollowSonePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new ImageBrowserPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new CreateAlbumPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EditAlbumPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeleteAlbumPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UploadImagePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EditImagePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeleteImagePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new TrustPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DistrustPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UntrustPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new MarkAsKnownPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new BookmarkPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new UnbookmarkPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new BookmarksPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new SearchPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DeleteSonePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new LoginPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new LogoutPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new OptionsPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new RescuePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new AboutPage(this, loaders, templateRenderer, new PluginVersion(SonePlugin.getPluginVersion()), new PluginYear(sonePlugin.getYear()), new PluginHomepage(sonePlugin.getHomepage()))); + pageToadletRegistry.addPage(new InvalidPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new NoPermissionPage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EmptyImageTitlePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new EmptyAlbumTitlePage(this, loaders, templateRenderer)); + pageToadletRegistry.addPage(new DismissNotificationPage(this, loaders, templateRenderer)); pageToadletRegistry.addPage(loaders.loadStaticPage("css/", "/static/css/", "text/css")); pageToadletRegistry.addPage(loaders.loadStaticPage("javascript/", "/static/javascript/", "text/javascript")); pageToadletRegistry.addPage(loaders.loadStaticPage("images/", "/static/images/", "image/png")); @@ -789,7 +768,7 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void newSoneFound(NewSoneFoundEvent newSoneFoundEvent) { - newSoneNotification.add(newSoneFoundEvent.sone()); + newSoneNotification.add(newSoneFoundEvent.getSone()); if (!hasFirstStartNotification()) { notificationManager.addNotification(newSoneNotification); } @@ -803,7 +782,7 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void newPostFound(NewPostFoundEvent newPostFoundEvent) { - Post post = newPostFoundEvent.post(); + Post post = newPostFoundEvent.getPost(); boolean isLocal = post.getSone().isLocal(); if (isLocal) { localPostNotification.add(post); @@ -829,7 +808,7 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void newReplyFound(NewPostReplyFoundEvent newPostReplyFoundEvent) { - PostReply reply = newPostReplyFoundEvent.postReply(); + PostReply reply = newPostReplyFoundEvent.getPostReply(); boolean isLocal = reply.getSone().isLocal(); if (isLocal) { localReplyNotification.add(reply); @@ -855,27 +834,27 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void markSoneKnown(MarkSoneKnownEvent markSoneKnownEvent) { - newSoneNotification.remove(markSoneKnownEvent.sone()); + newSoneNotification.remove(markSoneKnownEvent.getSone()); } @Subscribe public void markPostKnown(MarkPostKnownEvent markPostKnownEvent) { - removePost(markPostKnownEvent.post()); + removePost(markPostKnownEvent.getPost()); } @Subscribe public void markReplyKnown(MarkPostReplyKnownEvent markPostReplyKnownEvent) { - removeReply(markPostReplyKnownEvent.postReply()); + removeReply(markPostReplyKnownEvent.getPostReply()); } @Subscribe public void soneRemoved(SoneRemovedEvent soneRemovedEvent) { - newSoneNotification.remove(soneRemovedEvent.sone()); + newSoneNotification.remove(soneRemovedEvent.getSone()); } @Subscribe public void postRemoved(PostRemovedEvent postRemovedEvent) { - removePost(postRemovedEvent.post()); + removePost(postRemovedEvent.getPost()); } private void removePost(Post post) { @@ -888,7 +867,7 @@ public class WebInterface implements SessionProvider { @Subscribe public void replyRemoved(PostReplyRemovedEvent postReplyRemovedEvent) { - removeReply(postReplyRemovedEvent.postReply()); + removeReply(postReplyRemovedEvent.getPostReply()); } private void removeReply(PostReply reply) { @@ -907,7 +886,7 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void soneLocked(SoneLockedEvent soneLockedEvent) { - final Sone sone = soneLockedEvent.sone(); + final Sone sone = soneLockedEvent.getSone(); ScheduledFuture tickerObject = ticker.schedule(new Runnable() { @Override @@ -928,8 +907,8 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void soneUnlocked(SoneUnlockedEvent soneUnlockedEvent) { - lockedSonesNotification.remove(soneUnlockedEvent.sone()); - lockedSonesTickerObjects.remove(soneUnlockedEvent.sone()).cancel(false); + lockedSonesNotification.remove(soneUnlockedEvent.getSone()); + lockedSonesTickerObjects.remove(soneUnlockedEvent.getSone()).cancel(false); } /** @@ -940,9 +919,9 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void soneInserting(SoneInsertingEvent soneInsertingEvent) { - TemplateNotification soneInsertNotification = getSoneInsertNotification(soneInsertingEvent.sone()); + TemplateNotification soneInsertNotification = getSoneInsertNotification(soneInsertingEvent.getSone()); soneInsertNotification.set("soneStatus", "inserting"); - if (soneInsertingEvent.sone().getOptions().isSoneInsertNotificationEnabled()) { + if (soneInsertingEvent.getSone().getOptions().isSoneInsertNotificationEnabled()) { notificationManager.addNotification(soneInsertNotification); } } @@ -955,10 +934,10 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void soneInserted(SoneInsertedEvent soneInsertedEvent) { - TemplateNotification soneInsertNotification = getSoneInsertNotification(soneInsertedEvent.sone()); + TemplateNotification soneInsertNotification = getSoneInsertNotification(soneInsertedEvent.getSone()); soneInsertNotification.set("soneStatus", "inserted"); - soneInsertNotification.set("insertDuration", soneInsertedEvent.insertDuration() / 1000); - if (soneInsertedEvent.sone().getOptions().isSoneInsertNotificationEnabled()) { + soneInsertNotification.set("insertDuration", soneInsertedEvent.getInsertDuration() / 1000); + if (soneInsertedEvent.getSone().getOptions().isSoneInsertNotificationEnabled()) { notificationManager.addNotification(soneInsertNotification); } } @@ -971,10 +950,10 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void soneInsertAborted(SoneInsertAbortedEvent soneInsertAbortedEvent) { - TemplateNotification soneInsertNotification = getSoneInsertNotification(soneInsertAbortedEvent.sone()); + TemplateNotification soneInsertNotification = getSoneInsertNotification(soneInsertAbortedEvent.getSone()); soneInsertNotification.set("soneStatus", "insert-aborted"); - soneInsertNotification.set("insert-error", soneInsertAbortedEvent.cause()); - if (soneInsertAbortedEvent.sone().getOptions().isSoneInsertNotificationEnabled()) { + soneInsertNotification.set("insert-error", soneInsertAbortedEvent.getCause()); + if (soneInsertAbortedEvent.getSone().getOptions().isSoneInsertNotificationEnabled()) { notificationManager.addNotification(soneInsertNotification); } } @@ -987,10 +966,10 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void updateFound(UpdateFoundEvent updateFoundEvent) { - newVersionNotification.set("latestVersion", updateFoundEvent.version()); - newVersionNotification.set("latestEdition", updateFoundEvent.latestEdition()); - newVersionNotification.set("releaseTime", updateFoundEvent.releaseTime()); - newVersionNotification.set("disruptive", updateFoundEvent.disruptive()); + newVersionNotification.set("latestVersion", updateFoundEvent.getVersion()); + newVersionNotification.set("latestEdition", updateFoundEvent.getLatestEdition()); + newVersionNotification.set("releaseTime", updateFoundEvent.getReleaseTime()); + newVersionNotification.set("disruptive", updateFoundEvent.isDisruptive()); notificationManager.addNotification(newVersionNotification); } @@ -1002,7 +981,7 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void imageInsertStarted(ImageInsertStartedEvent imageInsertStartedEvent) { - insertingImagesNotification.add(imageInsertStartedEvent.image()); + insertingImagesNotification.add(imageInsertStartedEvent.getImage()); notificationManager.addNotification(insertingImagesNotification); } @@ -1014,7 +993,7 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void imageInsertAborted(ImageInsertAbortedEvent imageInsertAbortedEvent) { - insertingImagesNotification.remove(imageInsertAbortedEvent.image()); + insertingImagesNotification.remove(imageInsertAbortedEvent.getImage()); } /** @@ -1025,8 +1004,8 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void imageInsertFinished(ImageInsertFinishedEvent imageInsertFinishedEvent) { - insertingImagesNotification.remove(imageInsertFinishedEvent.image()); - insertedImagesNotification.add(imageInsertFinishedEvent.image()); + insertingImagesNotification.remove(imageInsertFinishedEvent.getImage()); + insertedImagesNotification.add(imageInsertFinishedEvent.getImage()); notificationManager.addNotification(insertedImagesNotification); } @@ -1038,8 +1017,8 @@ public class WebInterface implements SessionProvider { */ @Subscribe public void imageInsertFailed(ImageInsertFailedEvent imageInsertFailedEvent) { - insertingImagesNotification.remove(imageInsertFailedEvent.image()); - imageInsertFailedNotification.add(imageInsertFailedEvent.image()); + insertingImagesNotification.remove(imageInsertFailedEvent.getImage()); + imageInsertFailedNotification.add(imageInsertFailedEvent.getImage()); notificationManager.addNotification(imageInsertFailedNotification); }