Return a nullable PostReply instead of an Optional
[Sone.git] / src / main / kotlin / net / pterodactylus / sone / web / pages / SearchPage.kt
index 321146a..d021dfb 100644 (file)
@@ -30,9 +30,9 @@ class SearchPage @JvmOverloads constructor(template: Template, webInterface: Web
 
        private val cache: Cache<Iterable<Phrase>, Pagination<Post>> = CacheBuilder.newBuilder().ticker(ticker).expireAfterAccess(5, MINUTES).build()
 
-       override fun handleRequest(request: FreenetRequest, templateContext: TemplateContext) {
+       override fun handleRequest(freenetRequest: FreenetRequest, templateContext: TemplateContext) {
                val phrases = try {
-                       request.parameters["query"].emptyToNull?.parse()
+                       freenetRequest.parameters["query"].emptyToNull?.parse()
                } catch (te: TextException) {
                        redirect("index.html")
                }
@@ -42,9 +42,9 @@ class SearchPage @JvmOverloads constructor(template: Template, webInterface: Web
                        0 -> redirect("index.html")
                        1 -> phrases.first().phrase.also { word ->
                                when {
-                                       word.removePrefix("sone://").let(webInterface.core::getSone).isPresent -> redirect("viewSone.html?sone=${word.removePrefix("sone://")}")
+                                       word.removePrefix("sone://").let(webInterface.core::getSone) != null -> redirect("viewSone.html?sone=${word.removePrefix("sone://")}")
                                        word.removePrefix("post://").let(webInterface.core::getPost).isPresent -> redirect("viewPost.html?post=${word.removePrefix("post://")}")
-                                       word.removePrefix("reply://").let(webInterface.core::getPostReply).isPresent -> redirect("viewPost.html?post=${word.removePrefix("reply://").let(webInterface.core::getPostReply).get().postId}")
+                                       word.removePrefix("reply://").let(webInterface.core::getPostReply) != null -> redirect("viewPost.html?post=${word.removePrefix("reply://").let(webInterface.core::getPostReply)?.postId}")
                                        word.removePrefix("album://").let(webInterface.core::getAlbum) != null -> redirect("imageBrowser.html?album=${word.removePrefix("album://")}")
                                        word.removePrefix("image://").let { webInterface.core.getImage(it, false) } != null -> redirect("imageBrowser.html?image=${word.removePrefix("image://")}")
                                }
@@ -53,13 +53,13 @@ class SearchPage @JvmOverloads constructor(template: Template, webInterface: Web
 
                val sonePagination = webInterface.core.sones
                                .scoreAndPaginate(phrases) { it.allText() }
-                               .apply { page = request.parameters["sonePage"].emptyToNull?.toIntOrNull() ?: 0 }
+                               .apply { page = freenetRequest.parameters["sonePage"].emptyToNull?.toIntOrNull() ?: 0 }
                val postPagination = cache.get(phrases) {
                        webInterface.core.sones
                                        .flatMap(Sone::getPosts)
                                        .filter { Post.FUTURE_POSTS_FILTER.apply(it) }
                                        .scoreAndPaginate(phrases) { it.allText() }
-               }.apply { page = request.parameters["postPage"].emptyToNull?.toIntOrNull() ?: 0 }
+               }.apply { page = freenetRequest.parameters["postPage"].emptyToNull?.toIntOrNull() ?: 0 }
 
                templateContext["sonePagination"] = sonePagination
                templateContext["soneHits"] = sonePagination.items