From: David ‘Bombe’ Roden Date: Mon, 6 Oct 2025 15:47:58 +0000 (+0200) Subject: ♻️ Use java’s Optional instead of Guava’s X-Git-Url: https://git.pterodactylus.net/?a=commitdiff_plain;h=1bedf750acfcdf6d4e3bf3a0d2c9f6d8e3d61c06;p=rhynodge.git ♻️ Use java’s Optional instead of Guava’s --- diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/ComicSiteFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/ComicSiteFilter.java index e8ea1c1..0ccd913 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/ComicSiteFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/ComicSiteFilter.java @@ -24,6 +24,7 @@ import java.net.URISyntaxException; import java.util.Collections; import java.util.List; +import java.util.Optional; import net.pterodactylus.rhynodge.Filter; import net.pterodactylus.rhynodge.State; import net.pterodactylus.rhynodge.states.ComicState; @@ -32,7 +33,6 @@ import net.pterodactylus.rhynodge.states.ComicState.Strip; import net.pterodactylus.rhynodge.states.FailedState; import net.pterodactylus.rhynodge.states.HtmlState; -import com.google.common.base.Optional; import org.jsoup.nodes.Document; import org.jspecify.annotations.NonNull; @@ -62,7 +62,7 @@ public abstract class ComicSiteFilter implements Filter { return new FailedState(); } - Comic comic = new Comic(title.or("")); + Comic comic = new Comic(title.orElse("")); int imageCounter = 0; for (String imageUrl : imageUrls) { String imageComment = (imageCounter < imageComments.size()) ? imageComments.get(imageCounter) : ""; @@ -88,7 +88,7 @@ public abstract class ComicSiteFilter implements Filter { * * @param document * The document to extract the title from - * @return The extracted title, or {@link Optional#absent()}} if no title could + * @return The extracted title, or {@link Optional#empty()}} if no title could * be found */ protected abstract Optional extractTitle(Document document); diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/AbstruseGooseComicFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/AbstruseGooseComicFilter.java index 9d98650..f894f16 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/comics/AbstruseGooseComicFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/comics/AbstruseGooseComicFilter.java @@ -17,15 +17,15 @@ package net.pterodactylus.rhynodge.filters.comics; -import static com.google.common.base.Optional.fromNullable; import static com.google.common.collect.FluentIterable.from; +import static java.util.Optional.of; import java.util.List; +import java.util.Optional; import net.pterodactylus.rhynodge.filters.ComicSiteFilter; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.collect.FluentIterable; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; @@ -39,7 +39,7 @@ public class AbstruseGooseComicFilter extends ComicSiteFilter { @Override protected Optional extractTitle(Document document) { - return fromNullable(document.select("h1.storytitle a").text()); + return of(document.select("h1.storytitle a").text()); } @Override diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/ChiefOBrienAtWorkComicFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/ChiefOBrienAtWorkComicFilter.java index 5671bc4..314d130 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/comics/ChiefOBrienAtWorkComicFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/comics/ChiefOBrienAtWorkComicFilter.java @@ -4,9 +4,9 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Optional; import net.pterodactylus.rhynodge.filters.ComicSiteFilter; -import com.google.common.base.Optional; import org.jsoup.nodes.Document; /** @@ -29,7 +29,7 @@ public class ChiefOBrienAtWorkComicFilter extends ComicSiteFilter { @Override protected Optional extractTitle(Document document) { - return Optional.fromNullable(document.select("article .caption p").get(0).text()); + return Optional.of(document.select("article .caption p").get(0).text()); } } diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/Collar6ComicFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/Collar6ComicFilter.java index 49fe296..b1ddd2a 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/comics/Collar6ComicFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/comics/Collar6ComicFilter.java @@ -20,10 +20,10 @@ package net.pterodactylus.rhynodge.filters.comics; import java.util.Collections; import java.util.List; +import java.util.Optional; import net.pterodactylus.rhynodge.filters.ComicSiteFilter; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.collect.FluentIterable; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/CyanideAndHappinessComicFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/CyanideAndHappinessComicFilter.java index 80c8ac4..6eaab76 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/comics/CyanideAndHappinessComicFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/comics/CyanideAndHappinessComicFilter.java @@ -17,8 +17,8 @@ package net.pterodactylus.rhynodge.filters.comics; -import static com.google.common.base.Optional.absent; -import static com.google.common.base.Optional.of; +import static java.util.Optional.empty; +import static java.util.Optional.of; import java.net.URI; import java.net.URISyntaxException; @@ -26,10 +26,10 @@ import java.net.URL; import java.util.Collections; import java.util.List; +import java.util.Optional; import net.pterodactylus.rhynodge.filters.ComicSiteFilter; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.collect.FluentIterable; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; @@ -45,7 +45,7 @@ public class CyanideAndHappinessComicFilter extends ComicSiteFilter { @Override protected Optional extractTitle(Document document) { - return extractImageUrls(document).isEmpty() ? absent() : of(""); + return extractImageUrls(document).isEmpty() ? empty() : of(""); } @Override diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/GeneralProtectionFaultComicFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/GeneralProtectionFaultComicFilter.java index 0a8f16a..8133461 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/comics/GeneralProtectionFaultComicFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/comics/GeneralProtectionFaultComicFilter.java @@ -24,10 +24,10 @@ import static java.util.Collections.emptyList; import java.util.Collections; import java.util.List; +import java.util.Optional; import net.pterodactylus.rhynodge.filters.ComicSiteFilter; import com.google.common.base.Function; -import com.google.common.base.Optional; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/GirlGeniusComicFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/GirlGeniusComicFilter.java index d2ed5aa..390bd12 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/comics/GirlGeniusComicFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/comics/GirlGeniusComicFilter.java @@ -17,19 +17,17 @@ package net.pterodactylus.rhynodge.filters.comics; -import static com.google.common.base.Optional.absent; -import static com.google.common.base.Optional.of; - import java.util.Collections; import java.util.List; +import java.util.Optional; import java.util.stream.Collectors; - import net.pterodactylus.rhynodge.filters.ComicSiteFilter; - -import com.google.common.base.Optional; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; +import static java.util.Optional.empty; +import static java.util.Optional.of; + /** * {@link ComicSiteFilter} implementation that can parse Girl Genius comics. * @@ -39,7 +37,7 @@ public class GirlGeniusComicFilter extends ComicSiteFilter { @Override protected Optional extractTitle(Document document) { - return extractImageUrls(document).isEmpty() ? absent() : of(""); + return extractImageUrls(document).isEmpty() ? empty() : of(""); } @Override diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/KevinAndKellComicFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/KevinAndKellComicFilter.java index bd460ca..1b98739 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/comics/KevinAndKellComicFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/comics/KevinAndKellComicFilter.java @@ -21,9 +21,9 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Optional; import net.pterodactylus.rhynodge.filters.ComicSiteFilter; -import com.google.common.base.Optional; import org.apache.commons.lang3.StringEscapeUtils; import org.jsoup.nodes.Document; import org.jsoup.select.Elements; @@ -38,7 +38,7 @@ public class KevinAndKellComicFilter extends ComicSiteFilter { @Override protected Optional extractTitle(Document document) { Elements captionElements = document.select("#comicstripCaption"); - return Optional.fromNullable(StringEscapeUtils.unescapeHtml4(captionElements.text())); + return Optional.ofNullable(StringEscapeUtils.unescapeHtml4(captionElements.text())); } @Override diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/SaturdayMorningBreakfastCerealComicFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/SaturdayMorningBreakfastCerealComicFilter.java index 7f4bc15..0d9b7d8 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/comics/SaturdayMorningBreakfastCerealComicFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/comics/SaturdayMorningBreakfastCerealComicFilter.java @@ -21,9 +21,9 @@ import java.util.Arrays; import java.util.Collections; import java.util.List; +import java.util.Optional; import net.pterodactylus.rhynodge.filters.ComicSiteFilter; -import com.google.common.base.Optional; import com.google.common.base.Predicate; import com.google.common.collect.FluentIterable; import org.jsoup.nodes.Document; diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/ScandinaviaAndTheWorldComicFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/ScandinaviaAndTheWorldComicFilter.java index 2a32f6a..dbe26e3 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/comics/ScandinaviaAndTheWorldComicFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/comics/ScandinaviaAndTheWorldComicFilter.java @@ -18,7 +18,7 @@ package net.pterodactylus.rhynodge.filters.comics; import com.google.common.base.Function; -import com.google.common.base.Optional; +import java.util.Optional; import net.pterodactylus.rhynodge.filters.ComicSiteFilter; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; diff --git a/src/main/java/net/pterodactylus/rhynodge/filters/comics/XkcdComicFilter.java b/src/main/java/net/pterodactylus/rhynodge/filters/comics/XkcdComicFilter.java index ae80654..63c2a43 100644 --- a/src/main/java/net/pterodactylus/rhynodge/filters/comics/XkcdComicFilter.java +++ b/src/main/java/net/pterodactylus/rhynodge/filters/comics/XkcdComicFilter.java @@ -22,12 +22,14 @@ import java.util.List; import net.pterodactylus.rhynodge.filters.ComicSiteFilter; import com.google.common.base.Function; -import com.google.common.base.Optional; import com.google.common.collect.FluentIterable; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.select.Elements; +import static java.util.Optional.empty; +import static java.util.Optional.of; + /** * {@link ComicSiteFilter} implementation that can parse XKCD comics. * @@ -36,9 +38,9 @@ import org.jsoup.select.Elements; public class XkcdComicFilter extends ComicSiteFilter { @Override - protected Optional extractTitle(Document document) { + protected java.util.Optional extractTitle(Document document) { Elements titleElement = document.select("div#ctitle"); - return titleElement.hasText() ? Optional.of(titleElement.text()) : Optional.absent(); + return titleElement.hasText() ? of(titleElement.text()) : empty(); } @Override diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/BexAndKeitComicFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/BexAndKeitComicFilter.kt index 670aee8..a01412f 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/BexAndKeitComicFilter.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/BexAndKeitComicFilter.kt @@ -1,13 +1,13 @@ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.Optional -import com.google.common.base.Optional.absent +import java.util.Optional +import java.util.Optional.empty import net.pterodactylus.rhynodge.filters.ComicSiteFilter import org.jsoup.nodes.Document class BexAndKeitComicFilter : ComicSiteFilter() { - override fun extractTitle(document: Document): Optional = absent() + override fun extractTitle(document: Document): Optional = empty() override fun extractImageUrls(document: Document) = document.select(".row") diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/BusinessCatComicFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/BusinessCatComicFilter.kt index 54a94c5..c9927b5 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/BusinessCatComicFilter.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/BusinessCatComicFilter.kt @@ -1,6 +1,6 @@ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.Optional +import java.util.Optional import net.pterodactylus.rhynodge.filters.ComicSiteFilter import net.pterodactylus.rhynodge.utils.asOptional import org.jsoup.nodes.Document diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/CtrlAltDelComicFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/CtrlAltDelComicFilter.kt index a4cf18a..83b8a3b 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/CtrlAltDelComicFilter.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/CtrlAltDelComicFilter.kt @@ -16,7 +16,7 @@ */ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.Optional +import java.util.Optional import net.pterodactylus.rhynodge.filters.ComicSiteFilter import net.pterodactylus.rhynodge.utils.asOptional import org.jsoup.nodes.Document diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/GrrlPowerFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/GrrlPowerFilter.kt index a5c0f38..7d464dd 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/GrrlPowerFilter.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/GrrlPowerFilter.kt @@ -1,6 +1,6 @@ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.Optional +import java.util.Optional import net.pterodactylus.rhynodge.filters.ComicSiteFilter import net.pterodactylus.rhynodge.utils.asOptional import org.jsoup.nodes.Document diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/HeldentageFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/HeldentageFilter.kt index 48879c7..8a80fd3 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/HeldentageFilter.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/HeldentageFilter.kt @@ -1,9 +1,6 @@ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.Optional -import com.google.common.base.Optional.absent -import com.google.common.base.Optional.fromNullable -import com.google.common.base.Optional.of +import java.util.Optional import net.pterodactylus.rhynodge.filters.ComicSiteFilter import net.pterodactylus.rhynodge.utils.asOptional import org.jsoup.nodes.Document diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/LeastICouldDoComicFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/LeastICouldDoComicFilter.kt index 4f29a23..f200c61 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/LeastICouldDoComicFilter.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/LeastICouldDoComicFilter.kt @@ -17,7 +17,7 @@ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.Optional +import java.util.Optional import net.pterodactylus.rhynodge.filters.ComicSiteFilter import org.jsoup.nodes.Document @@ -26,7 +26,7 @@ import org.jsoup.nodes.Document */ class LeastICouldDoComicFilter : ComicSiteFilter() { - override fun extractTitle(document: Document) = Optional.of("")!! + override fun extractTitle(document: Document) = Optional.of("") override fun extractImageUrls(document: Document) = document.select("#content-comic img.comic") diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/QuestionableContentComicFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/QuestionableContentComicFilter.kt index f405839..ca9846d 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/QuestionableContentComicFilter.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/QuestionableContentComicFilter.kt @@ -16,13 +16,14 @@ */ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.Optional +import java.util.Optional +import java.util.Optional.empty import net.pterodactylus.rhynodge.filters.ComicSiteFilter import org.jsoup.nodes.Document class QuestionableContentComicFilter : ComicSiteFilter() { - override fun extractTitle(document: Document): Optional = Optional.absent() + override fun extractTitle(document: Document): Optional = empty() override fun extractImageUrls(document: Document): List = listOf(document.select("#comicnav").first()!!.nextSibling()!!.nextSibling()!!.attr("src")) diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SinfestComicFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SinfestComicFilter.kt index 0cd323b..a714e85 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SinfestComicFilter.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SinfestComicFilter.kt @@ -16,7 +16,7 @@ */ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.Optional +import java.util.Optional import net.pterodactylus.rhynodge.filters.ComicSiteFilter import net.pterodactylus.rhynodge.utils.asOptional import org.jsoup.nodes.Document diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SoggyCardboardComicFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SoggyCardboardComicFilter.kt index 5da7106..dce0afa 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SoggyCardboardComicFilter.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SoggyCardboardComicFilter.kt @@ -1,6 +1,6 @@ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.Optional +import java.util.Optional import net.pterodactylus.rhynodge.filters.ComicSiteFilter import net.pterodactylus.rhynodge.utils.asOptional import org.jsoup.nodes.Document diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SplatballComicFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SplatballComicFilter.kt index be7c190..dec0672 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SplatballComicFilter.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/SplatballComicFilter.kt @@ -1,13 +1,13 @@ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.Optional -import com.google.common.base.Optional.absent +import java.util.Optional +import java.util.Optional.empty import net.pterodactylus.rhynodge.filters.ComicSiteFilter import org.jsoup.nodes.Document class SplatballComicFilter : ComicSiteFilter() { - override fun extractTitle(document: Document): Optional = absent() + override fun extractTitle(document: Document): Optional = empty() override fun extractImageUrls(document: Document) = document.select(".row") diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/TheMonsterUnderTheBedFilter.kt b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/TheMonsterUnderTheBedFilter.kt index 0e151d2..5130a0f 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/TheMonsterUnderTheBedFilter.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/filters/comics/TheMonsterUnderTheBedFilter.kt @@ -1,14 +1,14 @@ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.* -import com.google.common.base.Optional.* import net.pterodactylus.rhynodge.filters.* import org.jsoup.nodes.* +import java.util.Optional +import net.pterodactylus.rhynodge.utils.asOptional class TheMonsterUnderTheBedFilter : ComicSiteFilter() { override fun extractTitle(document: Document): Optional = - document.select("h2.post-title").text().toOptional() + document.select("h2.post-title").text().asOptional() override fun extractImageUrls(document: Document): List = document.select("div#comic img").map { it.attr("src") } @@ -16,5 +16,3 @@ class TheMonsterUnderTheBedFilter : ComicSiteFilter() { override fun extractImageComments(document: Document): List = emptyList() } - -private fun T?.toOptional(): Optional = fromNullable(this) diff --git a/src/main/kotlin/net/pterodactylus/rhynodge/utils/Optionals.kt b/src/main/kotlin/net/pterodactylus/rhynodge/utils/Optionals.kt index e51b36d..7c137b9 100644 --- a/src/main/kotlin/net/pterodactylus/rhynodge/utils/Optionals.kt +++ b/src/main/kotlin/net/pterodactylus/rhynodge/utils/Optionals.kt @@ -1,7 +1,7 @@ package net.pterodactylus.rhynodge.utils -import com.google.common.base.Optional +import java.util.Optional -fun T?.asOptional(): Optional = Optional.fromNullable(this) -fun String?.asOptional(): Optional = if ((this == null) || (this.isEmpty())) Optional.absent() else Optional.of(this) -fun String?.toOptional(): java.util.Optional = java.util.Optional.ofNullable(this) +fun T?.asOptional(): Optional = Optional.ofNullable(this) +fun String?.asOptional(): Optional = if ((this == null) || (isEmpty())) Optional.empty() else Optional.of(this) +fun String?.toOptional(): Optional = Optional.ofNullable(this) diff --git a/src/test/java/net/pterodactylus/rhynodge/filters/ComicSiteFilterTest.java b/src/test/java/net/pterodactylus/rhynodge/filters/ComicSiteFilterTest.java index 01c3f06..d807bed 100644 --- a/src/test/java/net/pterodactylus/rhynodge/filters/ComicSiteFilterTest.java +++ b/src/test/java/net/pterodactylus/rhynodge/filters/ComicSiteFilterTest.java @@ -1,7 +1,7 @@ package net.pterodactylus.rhynodge.filters; -import static com.google.common.base.Optional.fromNullable; import static java.util.Arrays.asList; +import static java.util.Optional.ofNullable; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.hasSize; @@ -11,6 +11,7 @@ import static org.junit.jupiter.api.Assertions.assertThrows; import java.util.Collections; import java.util.List; +import java.util.Optional; import net.pterodactylus.rhynodge.State; import net.pterodactylus.rhynodge.states.ComicState; import net.pterodactylus.rhynodge.states.ComicState.Comic; @@ -18,7 +19,6 @@ import net.pterodactylus.rhynodge.states.ComicState.Strip; import net.pterodactylus.rhynodge.states.FailedState; import net.pterodactylus.rhynodge.states.HtmlState; -import com.google.common.base.Optional; import org.jsoup.nodes.Document; import org.junit.jupiter.api.Test; @@ -77,7 +77,7 @@ public class ComicSiteFilterTest { @Override protected Optional extractTitle(Document document) { - return fromNullable(title); + return ofNullable(title); } @Override diff --git a/src/test/java/net/pterodactylus/rhynodge/filters/comics/AbstruseGooseComicFilterTest.java b/src/test/java/net/pterodactylus/rhynodge/filters/comics/AbstruseGooseComicFilterTest.java index 16be464..bf041d9 100644 --- a/src/test/java/net/pterodactylus/rhynodge/filters/comics/AbstruseGooseComicFilterTest.java +++ b/src/test/java/net/pterodactylus/rhynodge/filters/comics/AbstruseGooseComicFilterTest.java @@ -17,7 +17,7 @@ package net.pterodactylus.rhynodge.filters.comics; -import static com.google.common.base.Optional.of; +import static java.util.Optional.of; import static org.hamcrest.MatcherAssert.assertThat; import static org.hamcrest.Matchers.contains; import static org.hamcrest.Matchers.is; @@ -25,9 +25,9 @@ import static org.hamcrest.Matchers.is; import java.io.IOException; import java.util.List; +import java.util.Optional; import net.pterodactylus.rhynodge.filters.ResourceLoader; -import com.google.common.base.Optional; import org.jsoup.nodes.Document; import org.junit.jupiter.api.Test; diff --git a/src/test/kotlin/net/pterodactylus/rhynodge/filters/comics/ChiefOBrienAtWorkComicFilterTest.kt b/src/test/kotlin/net/pterodactylus/rhynodge/filters/comics/ChiefOBrienAtWorkComicFilterTest.kt index f252803..0f0c33a 100644 --- a/src/test/kotlin/net/pterodactylus/rhynodge/filters/comics/ChiefOBrienAtWorkComicFilterTest.kt +++ b/src/test/kotlin/net/pterodactylus/rhynodge/filters/comics/ChiefOBrienAtWorkComicFilterTest.kt @@ -1,6 +1,6 @@ package net.pterodactylus.rhynodge.filters.comics -import com.google.common.base.Optional +import java.util.Optional import net.pterodactylus.rhynodge.filters.ResourceLoader import org.hamcrest.MatcherAssert.assertThat import org.hamcrest.Matchers.contains