Remove PostProvider methods from Core.
[Sone.git] / src / main / java / net / pterodactylus / sone / web / SearchPage.java
index e979a49..f809579 100644 (file)
@@ -94,9 +94,6 @@ public class SearchPage extends SoneTemplatePage {
        // SONETEMPLATEPAGE METHODS
        //
 
-       /**
-        * {@inheritDoc}
-        */
        @Override
        @SuppressWarnings("synthetic-access")
        protected void processTemplate(FreenetRequest request, TemplateContext templateContext) throws RedirectException {
@@ -131,7 +128,7 @@ public class SearchPage extends SoneTemplatePage {
                        redirectIfNotNull(getImageId(phrase), "imageBrowser.html?image=");
                }
 
-               Set<Sone> sones = webInterface.getCore().getSones();
+               Collection<Sone> sones = webInterface.getCore().getSones();
                Collection<Hit<Sone>> soneHits = getHits(sones, phrases, SoneStringGenerator.COMPLETE_GENERATOR);
 
                Collection<Hit<Post>> postHits = hitCache.getUnchecked(phrases);
@@ -310,7 +307,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 +320,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).isPresent()) ? postId : null;
+               return (webInterface.getCore().getDatabase().getPost(postId).isPresent()) ? postId : null;
        }
 
        /**
@@ -354,7 +351,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 +364,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 +418,6 @@ public class SearchPage extends SoneTemplatePage {
                        this.complete = complete;
                }
 
-               /**
-                * {@inheritDoc}
-                */
                @Override
                public String generateString(Sone sone) {
                        StringBuilder soneString = new StringBuilder();
@@ -457,17 +451,14 @@ public class SearchPage extends SoneTemplatePage {
         */
        private class PostStringGenerator implements StringGenerator<Post> {
 
-               /**
-                * {@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 : Collections2.filter(webInterface.getCore().getReplies(post.getId()), Reply.FUTURE_REPLY_FILTER)) {
                                postString.append(' ').append(SoneStringGenerator.NAME_GENERATOR.generateString(reply.getSone()));
                                postString.append(' ').append(reply.getText());
                        }
@@ -543,17 +534,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 +566,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 +629,6 @@ public class SearchPage extends SoneTemplatePage {
         */
        private static class HitMapper<T> implements Function<Hit<T>, T> {
 
-               /**
-                * {@inheritDoc}
-                */
                @Override
                public T apply(Hit<T> input) {
                        return input.getObject();