projects
/
Sone.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Convert “new Sound found” into EventBus-based event.
[Sone.git]
/
src
/
main
/
java
/
net
/
pterodactylus
/
sone
/
web
/
WebInterface.java
diff --git
a/src/main/java/net/pterodactylus/sone/web/WebInterface.java
b/src/main/java/net/pterodactylus/sone/web/WebInterface.java
index
00f8cf9
..
98b2f46
100644
(file)
--- a/
src/main/java/net/pterodactylus/sone/web/WebInterface.java
+++ b/
src/main/java/net/pterodactylus/sone/web/WebInterface.java
@@
-37,6
+37,7
@@
import java.util.logging.Logger;
import net.pterodactylus.sone.core.Core;
import net.pterodactylus.sone.core.CoreListener;
import net.pterodactylus.sone.core.Core;
import net.pterodactylus.sone.core.CoreListener;
+import net.pterodactylus.sone.core.event.NewSoneFoundEvent;
import net.pterodactylus.sone.data.Album;
import net.pterodactylus.sone.data.Image;
import net.pterodactylus.sone.data.Post;
import net.pterodactylus.sone.data.Album;
import net.pterodactylus.sone.data.Image;
import net.pterodactylus.sone.data.Post;
@@
-103,8
+104,6
@@
import net.pterodactylus.sone.web.ajax.UntrustAjaxPage;
import net.pterodactylus.sone.web.page.FreenetRequest;
import net.pterodactylus.sone.web.page.PageToadlet;
import net.pterodactylus.sone.web.page.PageToadletFactory;
import net.pterodactylus.sone.web.page.FreenetRequest;
import net.pterodactylus.sone.web.page.PageToadlet;
import net.pterodactylus.sone.web.page.PageToadletFactory;
-import net.pterodactylus.util.collection.SetBuilder;
-import net.pterodactylus.util.collection.filter.Filters;
import net.pterodactylus.util.logging.Logging;
import net.pterodactylus.util.notify.Notification;
import net.pterodactylus.util.notify.NotificationManager;
import net.pterodactylus.util.logging.Logging;
import net.pterodactylus.util.notify.Notification;
import net.pterodactylus.util.notify.NotificationManager;
@@
-131,6
+130,12
@@
import net.pterodactylus.util.version.Version;
import net.pterodactylus.util.web.RedirectPage;
import net.pterodactylus.util.web.StaticPage;
import net.pterodactylus.util.web.TemplatePage;
import net.pterodactylus.util.web.RedirectPage;
import net.pterodactylus.util.web.StaticPage;
import net.pterodactylus.util.web.TemplatePage;
+
+import com.google.common.collect.Collections2;
+import com.google.common.collect.ImmutableSet;
+import com.google.common.eventbus.Subscribe;
+import com.google.inject.Inject;
+
import freenet.clients.http.SessionManager;
import freenet.clients.http.SessionManager.Session;
import freenet.clients.http.ToadletContainer;
import freenet.clients.http.SessionManager;
import freenet.clients.http.SessionManager.Session;
import freenet.clients.http.ToadletContainer;
@@
-215,6
+220,7
@@
public class WebInterface implements CoreListener {
* @param sonePlugin
* The Sone plugin
*/
* @param sonePlugin
* The Sone plugin
*/
+ @Inject
public WebInterface(SonePlugin sonePlugin) {
this.sonePlugin = sonePlugin;
formPassword = sonePlugin.pluginRespirator().getToadletContainer().getFormPassword();
public WebInterface(SonePlugin sonePlugin) {
this.sonePlugin = sonePlugin;
formPassword = sonePlugin.pluginRespirator().getToadletContainer().getFormPassword();
@@
-372,7
+378,7
@@
public class WebInterface implements CoreListener {
* currently logged in
*/
public Sone getCurrentSone(ToadletContext toadletContext, boolean create) {
* currently logged in
*/
public Sone getCurrentSone(ToadletContext toadletContext, boolean create) {
-
Set
<Sone> localSones = getCore().getLocalSones();
+
Collection
<Sone> localSones = getCore().getLocalSones();
if (localSones.size() == 1) {
return localSones.iterator().next();
}
if (localSones.size() == 1) {
return localSones.iterator().next();
}
@@
-458,7
+464,7
@@
public class WebInterface implements CoreListener {
* @return The new posts
*/
public Set<Post> getNewPosts() {
* @return The new posts
*/
public Set<Post> getNewPosts() {
- return
new SetBuilder<Post>().addAll(newPostNotification.getElements()).addAll(localPostNotification.getElements()).get
();
+ return
ImmutableSet.<Post> builder().addAll(newPostNotification.getElements()).addAll(localPostNotification.getElements()).build
();
}
/**
}
/**
@@
-468,7
+474,7
@@
public class WebInterface implements CoreListener {
* @return The new replies
*/
public Set<PostReply> getNewReplies() {
* @return The new replies
*/
public Set<PostReply> getNewReplies() {
- return
new SetBuilder<PostReply>().addAll(newReplyNotification.getElements()).addAll(localReplyNotification.getElements()).get
();
+ return
ImmutableSet.<PostReply> builder().addAll(newReplyNotification.getElements()).addAll(localReplyNotification.getElements()).build
();
}
/**
}
/**
@@
-725,15
+731,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
+ * Returns all {@link
Sone#isLocal() 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
*/
* {@link SoneTextParser}).
*
* @param text
* The text to parse
* @return All mentioned local Sones
*/
- private
Set
<Sone> getMentionedSones(String text) {
+ private
Collection
<Sone> getMentionedSones(String text) {
/* we need no context to find mentioned Sones. */
Set<Sone> mentionedSones = new HashSet<Sone>();
try {
/* we need no context to find mentioned Sones. */
Set<Sone> mentionedSones = new HashSet<Sone>();
try {
@@
-745,7
+751,7
@@
public class WebInterface implements CoreListener {
} catch (IOException ioe1) {
logger.log(Level.WARNING, String.format("Could not parse post text: %s", text), ioe1);
}
} catch (IOException ioe1) {
logger.log(Level.WARNING, String.format("Could not parse post text: %s", text), ioe1);
}
- return
Filters.filteredSet
(mentionedSones, Sone.LOCAL_SONE_FILTER);
+ return
Collections2.filter
(mentionedSones, Sone.LOCAL_SONE_FILTER);
}
/**
}
/**
@@
-770,26
+776,30
@@
public class WebInterface implements CoreListener {
}
//
}
//
- //
CORELISTENER METHOD
S
+ //
EVENT HANDLER
S
//
/**
* {@inheritDoc}
*/
//
/**
* {@inheritDoc}
*/
- @
Overrid
e
- public void newSoneFound(
Sone sone
) {
- newSoneNotification.add(
sone
);
+ @
Subscrib
e
+ public void newSoneFound(
NewSoneFoundEvent newSoneFoundEvent
) {
+ newSoneNotification.add(
newSoneFoundEvent.sone()
);
if (!hasFirstStartNotification()) {
notificationManager.addNotification(newSoneNotification);
}
}
if (!hasFirstStartNotification()) {
notificationManager.addNotification(newSoneNotification);
}
}
+ //
+ // CORELISTENER METHODS
+ //
+
/**
* {@inheritDoc}
*/
@Override
public void newPostFound(Post post) {
/**
* {@inheritDoc}
*/
@Override
public void newPostFound(Post post) {
- boolean isLocal =
getCore().isLocalSone(post.getSone()
);
+ boolean isLocal =
post.getSone().isLocal(
);
if (isLocal) {
localPostNotification.add(post);
} else {
if (isLocal) {
localPostNotification.add(post);
} else {
@@
-811,7
+821,7
@@
public class WebInterface implements CoreListener {
*/
@Override
public void newReplyFound(PostReply reply) {
*/
@Override
public void newReplyFound(PostReply reply) {
- boolean isLocal =
getCore().isLocalSone(reply.getSone()
);
+ boolean isLocal =
reply.getSone().isLocal(
);
if (isLocal) {
localReplyNotification.add(reply);
} else {
if (isLocal) {
localReplyNotification.add(reply);
} else {