X-Git-Url: https://git.pterodactylus.net/?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Fnet%2Fpterodactylus%2Fsone%2Fweb%2FSearchPage.java;h=2a4b4994a0b31b807a7f3d2f88b6ce754b5acfe2;hb=2e03e9dddbea4b81aacaf1aa316f5c3ccffd4bf9;hp=6cb2c0c0c2c69ffaccedb63f255ae76c0e5deca5;hpb=8503021c00d63885288c507d9930fefabd5d7678;p=Sone.git diff --git a/src/main/java/net/pterodactylus/sone/web/SearchPage.java b/src/main/java/net/pterodactylus/sone/web/SearchPage.java index 6cb2c0c..2a4b499 100644 --- a/src/main/java/net/pterodactylus/sone/web/SearchPage.java +++ b/src/main/java/net/pterodactylus/sone/web/SearchPage.java @@ -17,6 +17,8 @@ package net.pterodactylus.sone.web; +import static com.google.common.collect.FluentIterable.from; + import java.util.ArrayList; import java.util.Collection; import java.util.Collections; @@ -50,7 +52,6 @@ import com.google.common.cache.CacheBuilder; import com.google.common.cache.CacheLoader; import com.google.common.cache.LoadingCache; import com.google.common.collect.Collections2; -import com.google.common.collect.FluentIterable; import com.google.common.collect.Ordering; /** @@ -94,9 +95,6 @@ public class SearchPage extends SoneTemplatePage { // SONETEMPLATEPAGE METHODS // - /** - * {@inheritDoc} - */ @Override @SuppressWarnings("synthetic-access") protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException { @@ -131,7 +129,7 @@ public class SearchPage extends SoneTemplatePage { redirectIfNotNull(getImageId(phrase), "imageBrowser.html?image="); } - Set sones = webInterface.getCore().getSones(); + Collection sones = webInterface.getCore().getSones(); Collection> soneHits = getHits(sones, phrases, SoneStringGenerator.COMPLETE_GENERATOR); Collection> postHits = hitCache.getUnchecked(phrases); @@ -145,8 +143,8 @@ public class SearchPage extends SoneTemplatePage { List> sortedPostHits = Ordering.from(Hit.DESCENDING_COMPARATOR).sortedCopy(postHits); /* extract Sones and posts. */ - List resultSones = FluentIterable.from(sortedSoneHits).transform(new HitMapper()).toList(); - List resultPosts = FluentIterable.from(sortedPostHits).transform(new HitMapper()).toList(); + List resultSones = from(sortedSoneHits).transform(new HitMapper()).toList(); + List resultPosts = from(sortedPostHits).transform(new HitMapper()).toList(); /* pagination. */ Pagination sonePagination = new Pagination(resultSones, webInterface.getCore().getPreferences().getPostsPerPage()).setPage(Numbers.safeParseInteger(request.getHttpRequest().getParam("sonePage"), 0)); @@ -310,7 +308,7 @@ public class SearchPage extends SoneTemplatePage { */ private String getSoneId(String phrase) { String soneId = phrase.startsWith("sone://") ? phrase.substring(7) : phrase; - return (webInterface.getCore().getSone(soneId, false) != null) ? soneId : null; + return (webInterface.getCore().getSone(soneId).isPresent()) ? soneId : null; } /** @@ -323,7 +321,7 @@ public class SearchPage extends SoneTemplatePage { */ private String getPostId(String phrase) { String postId = phrase.startsWith("post://") ? phrase.substring(7) : phrase; - return (webInterface.getCore().getPost(postId) != null) ? postId : null; + return (webInterface.getCore().getDatabase().getPost(postId).isPresent()) ? postId : null; } /** @@ -337,7 +335,7 @@ public class SearchPage extends SoneTemplatePage { */ private String getReplyPostId(String phrase) { String replyId = phrase.startsWith("reply://") ? phrase.substring(8) : phrase; - Optional postReply = webInterface.getCore().getPostReply(replyId); + Optional postReply = webInterface.getCore().getDatabase().getPostReply(replyId); if (!postReply.isPresent()) { return null; } @@ -354,7 +352,7 @@ public class SearchPage extends SoneTemplatePage { */ private String getAlbumId(String phrase) { String albumId = phrase.startsWith("album://") ? phrase.substring(8) : phrase; - return (webInterface.getCore().getAlbum(albumId, false) != null) ? albumId : null; + return webInterface.getCore().getAlbum(albumId).isPresent() ? albumId : null; } /** @@ -367,7 +365,7 @@ public class SearchPage extends SoneTemplatePage { */ private String getImageId(String phrase) { String imageId = phrase.startsWith("image://") ? phrase.substring(8) : phrase; - return (webInterface.getCore().getImage(imageId, false) != null) ? imageId : null; + return webInterface.getCore().getImage(imageId).isPresent() ? imageId : null; } /** @@ -421,9 +419,6 @@ public class SearchPage extends SoneTemplatePage { this.complete = complete; } - /** - * {@inheritDoc} - */ @Override public String generateString(Sone sone) { StringBuilder soneString = new StringBuilder(); @@ -457,17 +452,14 @@ public class SearchPage extends SoneTemplatePage { */ private class PostStringGenerator implements StringGenerator { - /** - * {@inheritDoc} - */ @Override public String generateString(Post post) { StringBuilder postString = new StringBuilder(); postString.append(post.getText()); - if (post.getRecipient() != null) { - postString.append(' ').append(SoneStringGenerator.NAME_GENERATOR.generateString(post.getRecipient())); + if (post.getRecipient().isPresent()) { + postString.append(' ').append(SoneStringGenerator.NAME_GENERATOR.generateString(post.getRecipient().get())); } - for (PostReply reply : Collections2.filter(webInterface.getCore().getReplies(post), Reply.FUTURE_REPLY_FILTER)) { + for (PostReply reply : from(post.getReplies()).filter(Reply.FUTURE_REPLY_FILTER)) { postString.append(' ').append(SoneStringGenerator.NAME_GENERATOR.generateString(reply.getSone())); postString.append(' ').append(reply.getText()); } @@ -543,17 +535,11 @@ public class SearchPage extends SoneTemplatePage { // OBJECT METHODS // - /** - * {@inheritDoc} - */ @Override public int hashCode() { return phrase.hashCode() ^ ((optionality == Optionality.FORBIDDEN) ? (0xaaaaaaaa) : ((optionality == Optionality.REQUIRED) ? 0x55555555 : 0)); } - /** - * {@inheritDoc} - */ @Override public boolean equals(Object object) { if (!(object instanceof Phrase)) { @@ -581,7 +567,7 @@ public class SearchPage extends SoneTemplatePage { @Override public boolean apply(Hit hit) { - return hit.getScore() > 0; + return (hit == null) ? false : hit.getScore() > 0; } }; @@ -644,9 +630,6 @@ public class SearchPage extends SoneTemplatePage { */ private static class HitMapper implements Function, T> { - /** - * {@inheritDoc} - */ @Override public T apply(Hit input) { return input.getObject();