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());
}
}
+ /**
+ * 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<Sone> getMentionedSones(String text) {
/* we need no context to find mentioned Sones. */
Set<Sone> mentionedSones = new HashSet<Sone>();
notificationManager.addNotification(newPostNotification);
if (!getMentionedSones(post.getText()).isEmpty()) {
mentionNotification.add(post);
+ notificationManager.addNotification(mentionNotification);
}
} else {
getCore().markPostKnown(post);
notificationManager.addNotification(newReplyNotification);
if (!getMentionedSones(reply.getText()).isEmpty()) {
mentionNotification.add(reply.getPost());
+ notificationManager.addNotification(mentionNotification);
}
} else {
getCore().markReplyKnown(reply);