X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FWebInterface.java;h=c9547fbca28997c2943fb90cb894fce6f0138916;hb=a372629239706054eb03a2138274a644ee76fc04;hp=1e04105a6db0d3fd788308ede8f7e2f08242deeb;hpb=29daf9b1a853061c245c6225e5e5ea8f553c87a7;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/WebInterface.java b/src/main/java/net/pterodactylus/sone/web/WebInterface.java index 1e04105..c9547fb 100644 --- a/src/main/java/net/pterodactylus/sone/web/WebInterface.java +++ b/src/main/java/net/pterodactylus/sone/web/WebInterface.java @@ -196,7 +196,7 @@ public class WebInterface implements CoreListener { public WebInterface(SonePlugin sonePlugin) { this.sonePlugin = sonePlugin; formPassword = sonePlugin.pluginRespirator().getToadletContainer().getFormPassword(); - soneTextParser = new SoneTextParser(getCore()); + soneTextParser = new SoneTextParser(getCore(), getCore()); templateContextFactory = new TemplateContextFactory(); templateContextFactory.addAccessor(Object.class, new ReflectionAccessor()); @@ -668,6 +668,15 @@ public class WebInterface implements CoreListener { } } + /** + * Returns all {@link Core#isLocalSone(Sone) local Sone}s that are + * referenced by {@link SonePart}s in the given text (after parsing it using + * {@link SoneTextParser}). + * + * @param text + * The text to parse + * @return All mentioned local Sones + */ private Set getMentionedSones(String text) { /* we need no context to find mentioned Sones. */ Set mentionedSones = new HashSet(); @@ -727,6 +736,7 @@ public class WebInterface implements CoreListener { notificationManager.addNotification(newPostNotification); if (!getMentionedSones(post.getText()).isEmpty()) { mentionNotification.add(post); + notificationManager.addNotification(mentionNotification); } } else { getCore().markPostKnown(post); @@ -746,6 +756,7 @@ public class WebInterface implements CoreListener { notificationManager.addNotification(newReplyNotification); if (!getMentionedSones(reply.getText()).isEmpty()) { mentionNotification.add(reply.getPost()); + notificationManager.addNotification(mentionNotification); } } else { getCore().markReplyKnown(reply);