⬆️ Upgrade a whole bunch of dependencies
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Wed, 2 Oct 2024 14:39:10 +0000 (16:39 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Thu, 3 Oct 2024 14:42:37 +0000 (16:42 +0200)
* Kotlin to 2.0.20.
* JUnit to 4.13.2.
* Mockito to 4.11.0.
* Hamcrest to 3.0.
* Jsoup to 1.18.1.
* javax.activation to jakarta.activation 2.1.3.
* jsr305 from findBugs to spotbugs 4.8.6.
* Codahale Metrics to 4.2.27.
* Jackson to 2.18.0.
* Guava to 33.3.1.
* Guice to 7.0.0.

123 files changed:
build.gradle
src/main/java/net/pterodactylus/sone/core/FreenetInterface.java
src/main/java/net/pterodactylus/sone/core/ImageInserter.java
src/main/java/net/pterodactylus/sone/core/SoneDownloaderImpl.java
src/main/java/net/pterodactylus/sone/core/SoneParser.java
src/main/java/net/pterodactylus/sone/fcp/FcpInterface.java
src/main/java/net/pterodactylus/sone/notify/DefaultPostVisibilityFilter.java
src/main/java/net/pterodactylus/sone/notify/DefaultReplyVisibilityFilter.java
src/main/java/net/pterodactylus/sone/template/IdentityAccessor.java
src/main/kotlin/net/pterodactylus/sone/core/DefaultElementLoader.kt
src/main/kotlin/net/pterodactylus/sone/core/UpdateChecker.kt
src/main/kotlin/net/pterodactylus/sone/core/UpdatedSoneProcessor.kt
src/main/kotlin/net/pterodactylus/sone/database/memory/MemoryDatabase.kt
src/main/kotlin/net/pterodactylus/sone/freenet/plugin/FredPluginConnector.kt
src/main/kotlin/net/pterodactylus/sone/freenet/plugin/PluginRespiratorFacade.kt
src/main/kotlin/net/pterodactylus/sone/freenet/wot/WebOfTrustPinger.kt
src/main/kotlin/net/pterodactylus/sone/main/FreenetModule.kt
src/main/kotlin/net/pterodactylus/sone/main/SoneModule.kt
src/main/kotlin/net/pterodactylus/sone/main/TickerShutdown.kt
src/main/kotlin/net/pterodactylus/sone/notify/DefaultListNotificationFilter.kt
src/main/kotlin/net/pterodactylus/sone/notify/ListNotification.kt
src/main/kotlin/net/pterodactylus/sone/template/ParserFilter.kt
src/main/kotlin/net/pterodactylus/sone/text/SoneMentionDetector.kt
src/main/kotlin/net/pterodactylus/sone/text/SoneTextParser.kt
src/main/kotlin/net/pterodactylus/sone/web/AllPages.kt
src/main/kotlin/net/pterodactylus/sone/web/FreenetSessionProvider.kt
src/main/kotlin/net/pterodactylus/sone/web/NewElements.kt
src/main/kotlin/net/pterodactylus/sone/web/PageToadletRegistry.kt
src/main/kotlin/net/pterodactylus/sone/web/WebInterfaceModule.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/BookmarkAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/CreatePostAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/CreateReplyAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/DeletePostAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/DeleteProfileFieldAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/DeleteReplyAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/DismissNotificationAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/EditAlbumAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/EditImageAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/EditProfileFieldAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/FollowSoneAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/GetLikesAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/GetLinkedElementAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/GetNotificationsAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/GetPostAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/GetReplyAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/GetStatusAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/GetTimesAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/GetTranslationAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/LikeAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/LockSoneAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/MarkAsKnownAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/MoveProfileFieldAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/UnbookmarkAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/UnfollowSoneAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/UnlikeAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/ajax/UnlockSoneAjaxPage.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/ConfigNotReadHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/FirstStartHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/ImageInsertHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/LocalPostHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/LocalReplyHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/MarkPostKnownDuringFirstStartHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/MarkPostReplyKnownDuringFirstStartHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/NewRemotePostHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/NewSoneHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/NewVersionHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/NotificationHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/NotificationHandlerModule.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/RemotePostReplyHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/SoneInsertHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/SoneLockedHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/SoneLockedOnStartupHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/SoneMentionedHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/StartupHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/notification/WebOfTrustHandler.kt
src/main/kotlin/net/pterodactylus/sone/web/page/PageToadletFactory.kt
src/main/kotlin/net/pterodactylus/sone/web/page/TemplateRenderer.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/AboutPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/BookmarkPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/BookmarksPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/CreateAlbumPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/CreatePostPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/CreateReplyPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/CreateSonePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/DebugPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/DeleteAlbumPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/DeleteImagePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/DeletePostPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/DeleteProfileFieldPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/DeleteReplyPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/DeleteSonePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/DismissNotificationPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/EditAlbumPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/EditImagePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/EditProfileFieldPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/EditProfilePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/FollowSonePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/GetImagePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/ImageBrowserPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/IndexPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/KnownSonesPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/LikePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/LockSonePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/LoginPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/LogoutPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/MarkAsKnownPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/MetricsPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/NewPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/OptionsPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/ReloadingPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/RescuePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/SearchPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/UnbookmarkPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/UnfollowSonePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/UnlikePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/UnlockSonePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/UploadImagePage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/ViewPostPage.kt
src/main/kotlin/net/pterodactylus/sone/web/pages/ViewSonePage.kt
src/test/kotlin/net/pterodactylus/sone/template/HistogramRendererTest.kt
src/test/kotlin/net/pterodactylus/sone/test/Guice.kt
src/test/kotlin/net/pterodactylus/sone/web/ajax/JsonReturnObjectTest.kt
src/test/kotlin/net/pterodactylus/sone/web/page/PageToadletTest.kt

index b357d1b..321c3da 100644 (file)
@@ -1,8 +1,8 @@
 import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
 
 plugins {
-    id 'org.jetbrains.kotlin.jvm' version '1.7.10'
-    id 'org.jetbrains.kotlin.plugin.noarg' version '1.7.10'
+    id 'org.jetbrains.kotlin.jvm' version '2.0.20'
+    id 'org.jetbrains.kotlin.plugin.noarg' version '2.0.20'
     id 'info.solidsoft.pitest' version '1.7.4'
     id 'jacoco'
 }
@@ -49,19 +49,19 @@ dependencies {
     implementation group: 'org.jetbrains.kotlinx', name: 'kotlinx-coroutines-core', version: '1.3.0-RC'
 
     implementation group: 'net.pterodactylus', name: 'utils', version: '0.13.1'
-    implementation group: 'com.google.inject', name: 'guice', version: '4.2.2'
-    implementation group: 'com.google.guava', name: 'guava', version: '27.0.1-jre'
-    implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.9.1'
-    implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.9.1'
-    implementation group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.2'
-    implementation group: 'org.jsoup', name: 'jsoup', version: '1.10.2'
-    implementation group: 'io.dropwizard.metrics', name: 'metrics-core', version: '4.1.0'
-    implementation group: 'javax.activation', name: 'javax.activation-api', version: '1.2.0'
+    implementation group: 'com.google.inject', name: 'guice', version: '7.0.0'
+    implementation group: 'com.google.guava', name: 'guava', version: '33.3.1-jre'
+    implementation group: 'com.fasterxml.jackson.core', name: 'jackson-databind', version: '2.18.0'
+    implementation group: 'com.fasterxml.jackson.dataformat', name: 'jackson-dataformat-yaml', version: '2.18.0'
+    implementation group: 'com.github.spotbugs', name: 'spotbugs-annotations', version: '4.8.6'
+    implementation group: 'org.jsoup', name: 'jsoup', version: '1.18.1'
+    implementation group: 'io.dropwizard.metrics', name: 'metrics-core', version: '4.2.27'
+    implementation group: 'jakarta.activation', name: 'jakarta.activation-api', version: '2.1.3'
 
     testImplementation group: 'org.jetbrains.kotlin', name: 'kotlin-test-junit'
-    testImplementation group: 'junit', name: 'junit', version: '4.11'
-    testImplementation group: 'org.mockito', name: 'mockito-core', version: '3.12.4'
-    testImplementation group: 'org.hamcrest', name: 'hamcrest-all', version: '1.3'
+    testImplementation group: 'junit', name: 'junit', version: '4.13.2'
+    testImplementation group: 'org.mockito', name: 'mockito-core', version: '4.11.0'
+    testImplementation group: 'org.hamcrest', name: 'hamcrest', version: '3.0'
 }
 
 apply from: 'version.gradle'
index 32f97b2..0abc4b8 100644 (file)
@@ -32,7 +32,7 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import javax.annotation.Nonnull;
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import net.pterodactylus.sone.core.event.ImageInsertAbortedEvent;
 import net.pterodactylus.sone.core.event.ImageInsertFailedEvent;
index 76519f4..9900b8a 100644 (file)
@@ -27,7 +27,7 @@ import java.util.Map;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import net.pterodactylus.sone.core.FreenetInterface.InsertToken;
 import net.pterodactylus.sone.core.FreenetInterface.InsertTokenSupplier;
index 43a87fb..47b6d37 100644 (file)
@@ -28,7 +28,7 @@ import java.util.Set;
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
-import javax.inject.Inject;
+import jakarta.inject.Inject;
 
 import net.pterodactylus.sone.data.Sone;
 import net.pterodactylus.sone.data.Sone.SoneStatus;
index e1fd9ff..1d7985c 100644 (file)
@@ -9,7 +9,7 @@ import java.util.*;
 import java.util.logging.*;
 
 import javax.annotation.*;
-import javax.inject.*;
+import jakarta.inject.*;
 
 import net.pterodactylus.sone.data.*;
 import net.pterodactylus.sone.data.Profile.*;
index 3bb8777..f12fcb8 100644 (file)
@@ -31,7 +31,7 @@ import java.util.logging.Level;
 import java.util.logging.Logger;
 
 import javax.annotation.Nonnull;
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import net.pterodactylus.sone.core.Core;
 import net.pterodactylus.sone.fcp.event.FcpInterfaceActivatedEvent;
index 7479d31..5d7be0d 100644 (file)
@@ -2,7 +2,7 @@ package net.pterodactylus.sone.notify;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
-import javax.inject.Singleton;
+import jakarta.inject.Singleton;
 
 import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.Sone;
index a447108..98738c1 100644 (file)
@@ -4,8 +4,8 @@ import static com.google.common.base.Preconditions.checkNotNull;
 
 import javax.annotation.Nonnull;
 import javax.annotation.Nullable;
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import net.pterodactylus.sone.data.Post;
 import net.pterodactylus.sone.data.PostReply;
index 5b229dd..5011f64 100644 (file)
@@ -19,8 +19,8 @@ package net.pterodactylus.sone.template;
 
 import java.util.Set;
 
-import javax.inject.Inject;
-import javax.inject.Singleton;
+import jakarta.inject.Inject;
+import jakarta.inject.Singleton;
 
 import net.pterodactylus.sone.core.Core;
 import net.pterodactylus.sone.freenet.wot.Identity;
index e497fdc..83178ae 100644 (file)
@@ -6,15 +6,16 @@ import com.google.common.cache.CacheBuilder
 import freenet.keys.FreenetURI
 import org.jsoup.Jsoup
 import org.jsoup.nodes.Document
+import org.jsoup.nodes.Element
 import java.io.ByteArrayInputStream
 import java.net.URLDecoder
 import java.nio.charset.Charset
 import java.text.Normalizer
 import java.util.concurrent.TimeUnit.MINUTES
 import java.util.logging.Logger
-import javax.activation.MimeType
 import javax.imageio.ImageIO
-import javax.inject.Inject
+import jakarta.activation.MimeType
+import jakarta.inject.Inject
 
 /**
  * [ElementLoader] implementation that uses a simple Guava [com.google.common.cache.Cache].
@@ -116,7 +117,7 @@ private val Document.metaDescription: String?
 
 private val Document.firstNonHeadingParagraph: String?
        get() = body().select("div, p")
-               .filter { it.textNodes().isNotEmpty() }
+               .filter { it: Element -> it.textNodes().isNotEmpty() }
                .map { it to it.text() }
                .firstOrNull { it.second != "" }
                ?.second
index 0e67d0a..9a3a5bc 100644 (file)
@@ -29,7 +29,7 @@ import java.io.*
 import java.util.*
 import java.util.logging.*
 import java.util.logging.Logger.*
-import javax.inject.Singleton
+import jakarta.inject.Singleton
 
 /**
  * Watches the official Sone homepage for new releases.
index 0773adb..8f0422e 100644 (file)
@@ -8,7 +8,7 @@ import net.pterodactylus.sone.data.Sone.*
 import net.pterodactylus.sone.database.*
 import net.pterodactylus.sone.utils.*
 import java.util.logging.Logger
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * An `UpdatedSoneProcessor` is called to process a [Sone] after it has been
index 04a94c7..7120147 100644 (file)
@@ -23,8 +23,8 @@ import com.google.common.collect.Multimap
 import com.google.common.collect.TreeMultimap
 import com.google.common.util.concurrent.AbstractService
 import com.google.common.util.concurrent.RateLimiter
-import com.google.inject.Inject
 import com.google.inject.Singleton
+import jakarta.inject.Inject
 import net.pterodactylus.sone.data.Album
 import net.pterodactylus.sone.data.Image
 import net.pterodactylus.sone.data.Post
@@ -60,7 +60,7 @@ import kotlin.concurrent.withLock
 @Singleton
 class MemoryDatabase constructor(private val configuration: Configuration, private val saveKnownPostRepliesRateLimiter: RateLimiter) : AbstractService(), Database {
 
-       @javax.inject.Inject constructor(configuration: Configuration): this(configuration, RateLimiter.create(1.0))
+       @Inject constructor(configuration: Configuration): this(configuration, RateLimiter.create(1.0))
 
        private val lock = ReentrantReadWriteLock()
        private val readLock: ReadLock by lazy { lock.readLock() }
index 98849c4..b04d971 100644 (file)
@@ -8,7 +8,7 @@ import freenet.support.*
 import freenet.support.api.*
 import kotlinx.coroutines.*
 import kotlinx.coroutines.channels.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * [PluginConnector] implementation that uses a [PluginRespiratorFacade] and coroutines to send
index e1d5591..a71ed30 100644 (file)
@@ -23,7 +23,7 @@ package net.pterodactylus.sone.freenet.plugin
 import freenet.pluginmanager.*
 import freenet.support.*
 import freenet.support.api.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Facade for the only method of a [plugin respirator][PluginRespirator] that Sone actually uses,
index db9809e..c452456 100644 (file)
@@ -23,7 +23,7 @@ import net.pterodactylus.sone.freenet.plugin.*
 import net.pterodactylus.sone.utils.*
 import java.util.concurrent.atomic.*
 import java.util.function.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * [Runnable] that is scheduled via an [Executor][java.util.concurrent.Executor],
index f2ff6fc..4933e8f 100644 (file)
@@ -10,8 +10,8 @@ import freenet.pluginmanager.*
 import net.pterodactylus.sone.freenet.DefaultHighLevelSimpleClientCreator
 import net.pterodactylus.sone.freenet.HighLevelSimpleClientCreator
 import net.pterodactylus.sone.freenet.plugin.*
-import javax.inject.Provider
-import javax.inject.Singleton
+import jakarta.inject.Provider
+import jakarta.inject.Singleton
 
 /**
  * Guice [Module] that supplies some objects that are in fact supplied by the Freenet node.
index a482dd9..5087479 100644 (file)
@@ -21,8 +21,8 @@ import java.io.*
 import java.util.concurrent.*
 import java.util.concurrent.Executors.*
 import java.util.logging.Logger
-import javax.inject.*
-import javax.inject.Singleton
+import jakarta.inject.*
+import jakarta.inject.Singleton
 
 open class SoneModule(private val sonePlugin: SonePlugin, private val eventBus: EventBus) : AbstractModule() {
 
index de15cbe..aee329f 100644 (file)
@@ -20,7 +20,7 @@ package net.pterodactylus.sone.main
 import com.google.common.eventbus.*
 import net.pterodactylus.sone.core.event.*
 import java.util.concurrent.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Wrapper around all [tickers][ScheduledExecutorService] used in Sone,
index acd2bce..b35460d 100644 (file)
@@ -21,8 +21,8 @@ import net.pterodactylus.sone.data.PostReply
 import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.utils.ifTrue
 import net.pterodactylus.util.notify.Notification
-import javax.inject.Inject
-import javax.inject.Singleton
+import jakarta.inject.Inject
+import jakarta.inject.Singleton
 
 /**
  * Filter for [ListNotification]s.
index 60d7093..d60cc20 100644 (file)
@@ -85,11 +85,10 @@ class ListNotification<T> : TemplateNotification {
                if (other !is ListNotification<*>) {
                        return false
                }
-               val listNotification = other as ListNotification<*>?
-               if (!super.equals(listNotification)) {
+               if (!super.equals(other)) {
                        return false
                }
-               return (key == listNotification.key) && (realElements == listNotification.realElements)
+               return (key == other.key) && (realElements == other.realElements)
        }
 
 }
index 67b03f3..f165e8a 100644 (file)
@@ -7,8 +7,8 @@ import net.pterodactylus.sone.text.SoneTextParser
 import net.pterodactylus.sone.text.SoneTextParserContext
 import net.pterodactylus.util.template.Filter
 import net.pterodactylus.util.template.TemplateContext
-import javax.inject.Inject
-import javax.inject.Singleton
+import jakarta.inject.Inject
+import jakarta.inject.Singleton
 
 /**
  * Parses a [String] into a number of [Part]s.
index 3e15ed3..3c46bba 100644 (file)
@@ -22,7 +22,7 @@ import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.database.*
 import net.pterodactylus.sone.utils.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Listens to [NewPostFoundEvent]s and [NewPostReplyFoundEvent], parses the
index 9992e94..88e4a03 100644 (file)
@@ -9,7 +9,7 @@ import net.pterodactylus.sone.text.LinkType.USK
 import net.pterodactylus.sone.utils.*
 import org.bitpedia.util.*
 import java.net.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * [Parser] implementation that can recognize Freenet URIs.
index c538f0e..002a7b1 100644 (file)
@@ -1,7 +1,7 @@
 package net.pterodactylus.sone.web
 
 import net.pterodactylus.sone.web.pages.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * Container for all web pages. This uses field injection because there are way too many pages
index 8928f12..7551ad8 100644 (file)
@@ -22,7 +22,7 @@ import freenet.clients.http.ToadletContext
 import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.database.SoneProvider
 import java.util.UUID
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * [SoneProvider] implementation based on Freenet’s [SessionManager].
index 6799ada..6c70298 100644 (file)
@@ -21,8 +21,8 @@ import net.pterodactylus.sone.data.PostReply
 import net.pterodactylus.sone.notify.ListNotification
 import net.pterodactylus.sone.notify.PostVisibilityFilter
 import net.pterodactylus.sone.notify.ReplyVisibilityFilter
-import javax.inject.Inject
-import javax.inject.Named
+import jakarta.inject.Inject
+import jakarta.inject.Named
 
 /**
  * Container for new elements that should be shown in the web interface.
index 651bffd..e55fefa 100644 (file)
@@ -5,7 +5,7 @@ import net.pterodactylus.sone.main.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.web.*
 import java.util.concurrent.atomic.*
-import javax.inject.*
+import jakarta.inject.*
 
 private const val soneMenu = "Navigation.Menu.Sone"
 private const val soneMenuName = "$soneMenu.Name"
index 3d87aa7..72d28d8 100644 (file)
@@ -12,8 +12,8 @@ import net.pterodactylus.sone.template.*
 import net.pterodactylus.sone.text.*
 import net.pterodactylus.util.notify.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
-import javax.inject.Singleton
+import jakarta.inject.*
+import jakarta.inject.Singleton
 
 class WebInterfaceModule : AbstractModule() {
 
index e9a1a50..098dcec 100644 (file)
@@ -4,7 +4,7 @@ import net.pterodactylus.sone.utils.emptyToNull
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that lets the user bookmark a post.
index 28af3e3..5a72099 100644 (file)
@@ -5,7 +5,7 @@ import net.pterodactylus.sone.text.*
 import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * AJAX handler that creates a new post.
index df86dc0..a8336bd 100644 (file)
@@ -5,7 +5,7 @@ import net.pterodactylus.sone.text.*
 import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This AJAX page create a reply.
index 3dca438..eb74ead 100644 (file)
@@ -4,7 +4,7 @@ import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This AJAX page deletes a post.
index 6daa4da..06ac0fd 100644 (file)
@@ -4,7 +4,7 @@ import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that lets the user delete a profile field.
index b558356..f4e4932 100644 (file)
@@ -4,7 +4,7 @@ import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This AJAX page deletes a reply.
index 06fe51b..c731656 100644 (file)
@@ -5,7 +5,7 @@ import net.pterodactylus.sone.utils.let
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that lets the user dismiss a notification.
index 39442f0..d575753 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.ifTrue
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * Page that stores a user’s album modifications.
index 7012cdc..636e2f7 100644 (file)
@@ -10,7 +10,7 @@ import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.TemplateContext
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * Page that stores a user’s image modifications.
index 9d5346c..a6281d5 100644 (file)
@@ -5,7 +5,7 @@ import net.pterodactylus.sone.utils.ifFalse
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that lets the user rename a profile field.
index eea5120..d4a45db 100644 (file)
@@ -4,7 +4,7 @@ import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that lets a Sone follow another Sone.
index 1175b2b..47a6719 100644 (file)
@@ -7,7 +7,7 @@ import net.pterodactylus.sone.utils.jsonObject
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that retrieves the number of “likes” a [net.pterodactylus.sone.data.Post]
index 115370a..b1e0aa2 100644 (file)
@@ -9,7 +9,7 @@ import net.pterodactylus.sone.utils.jsonArray
 import net.pterodactylus.sone.utils.jsonObject
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * Renders linked elements after they have been loaded.
index adf3e26..baaf569 100644 (file)
@@ -10,7 +10,7 @@ import net.pterodactylus.util.notify.Notification
 import net.pterodactylus.util.notify.TemplateNotification
 import net.pterodactylus.util.template.TemplateContextFactory
 import java.io.StringWriter
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX handler to return all current notifications.
index d5595d2..dba8af2 100644 (file)
@@ -9,7 +9,7 @@ import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.Template
 import net.pterodactylus.util.template.TemplateContextFactory
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * This AJAX handler retrieves information and rendered representation of a [Post].
index 43960ab..ebbae83 100644 (file)
@@ -9,7 +9,7 @@ import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.Template
 import net.pterodactylus.util.template.TemplateContextFactory
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * This AJAX page returns the details of a reply.
index 19cd7f9..8adf686 100644 (file)
@@ -18,7 +18,7 @@ import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
 import java.text.SimpleDateFormat
 import java.util.TimeZone
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * The “get status” AJAX handler returns all information that is necessary to
index ef4a0db..f303040 100644 (file)
@@ -1,5 +1,6 @@
 package net.pterodactylus.sone.web.ajax
 
+import com.fasterxml.jackson.databind.node.ObjectNode
 import net.pterodactylus.sone.freenet.L10nFilter
 import net.pterodactylus.sone.text.TimeTextConverter
 import net.pterodactylus.sone.utils.jsonObject
@@ -8,7 +9,7 @@ import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
 import java.text.SimpleDateFormat
 import java.util.TimeZone
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * Ajax page that returns a formatted, relative timestamp for replies or posts.
@@ -44,7 +45,7 @@ class GetTimesAjaxPage @Inject constructor(webInterface: WebInterface,
                                        "tooltip" to synchronized(dateTimeFormatter) {
                                                dateTimeFormatter.format(time)
                                        })
-               }.forEach { this@jsonObject.set(it.first, it.second) }
+               }.forEach { this@jsonObject.set<ObjectNode>(it.first, it.second) }
        }
 
 }
index e2c41b6..e0bac9a 100644 (file)
@@ -3,7 +3,7 @@ package net.pterodactylus.sone.web.ajax
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * Returns the translation for a given key as JSON object.
index b2993f4..4072f42 100644 (file)
@@ -4,7 +4,7 @@ import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that lets the user like a [net.pterodactylus.sone.data.Post].
index c177041..e26e3b2 100644 (file)
@@ -3,7 +3,7 @@ package net.pterodactylus.sone.web.ajax
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * Lets the user [lock][net.pterodactylus.sone.core.Core.lockSone] a [Sone][net.pterodactylus.sone.data.Sone].
index 808d2fa..a36c54d 100644 (file)
@@ -3,7 +3,7 @@ package net.pterodactylus.sone.web.ajax
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that lets the user mark a number of [net.pterodactylus.sone.data.Sone]s,
index 0b2c5ab..0357736 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that lets the user move a profile field up or down.
index bc61b21..afa947c 100644 (file)
@@ -3,7 +3,7 @@ package net.pterodactylus.sone.web.ajax
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that lets the user unbookmark a post.
index d8b8290..9d99bee 100644 (file)
@@ -4,7 +4,7 @@ import net.pterodactylus.sone.data.Sone
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that lets a Sone unfollow another Sone.
index a8da594..90d3157 100644 (file)
@@ -5,7 +5,7 @@ import net.pterodactylus.sone.utils.emptyToNull
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * AJAX page that lets the user unlike a [net.pterodactylus.sone.data.Post].
index 130d102..db47c3b 100644 (file)
@@ -3,7 +3,7 @@ package net.pterodactylus.sone.web.ajax
 import net.pterodactylus.sone.utils.parameters
 import net.pterodactylus.sone.web.WebInterface
 import net.pterodactylus.sone.web.page.*
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * Lets the user [unlock][net.pterodactylus.sone.core.Core.unlockSone] a [Sone][net.pterodactylus.sone.data.Sone].
index 6092311..2795226 100644 (file)
@@ -20,7 +20,7 @@ package net.pterodactylus.sone.web.notification
 import com.google.common.eventbus.*
 import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler for [ConfigNotRead] events.
index 3dc8689..bf901eb 100644 (file)
@@ -20,7 +20,7 @@ package net.pterodactylus.sone.web.notification
 import com.google.common.eventbus.*
 import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handles the notification shown on first start of Sone.
index bab7599..6f65fdb 100644 (file)
@@ -22,7 +22,7 @@ import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.notify.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Notification handler for the various image-insert-related events.
index 5951997..6e8c643 100644 (file)
@@ -25,8 +25,8 @@ import net.pterodactylus.sone.data.Post
 import net.pterodactylus.sone.notify.ListNotification
 import net.pterodactylus.sone.notify.hasFirstStartNotification
 import net.pterodactylus.util.notify.NotificationManager
-import javax.inject.Inject
-import javax.inject.Named
+import jakarta.inject.Inject
+import jakarta.inject.Named
 
 /**
  * Handler for local posts.
index 7e392d0..45e9170 100644 (file)
@@ -22,7 +22,7 @@ import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.notify.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler for local replies.
index 57962c2..67ecb11 100644 (file)
@@ -24,7 +24,7 @@ import net.pterodactylus.sone.notify.*
 import net.pterodactylus.sone.utils.*
 import net.pterodactylus.util.notify.*
 import java.util.function.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler that marks a [new][NewPostFoundEvent] [post][Post] as known while
index 64285ee..d2d65a5 100644 (file)
@@ -24,7 +24,7 @@ import net.pterodactylus.sone.notify.*
 import net.pterodactylus.sone.utils.*
 import net.pterodactylus.util.notify.*
 import java.util.function.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler that marks post replies [as known][net.pterodactylus.sone.core.Core.markReplyKnown]
index 91eaae0..61b5160 100644 (file)
@@ -22,7 +22,7 @@ import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.notify.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler for [NewPostFoundEvent]s that adds the new post to the “new posts” notification and
index eb384c7..765f59f 100644 (file)
@@ -22,7 +22,7 @@ import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.notify.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Notification handler for “new Sone discovered” events.
index f48d89c..7e489f7 100644 (file)
@@ -20,7 +20,7 @@ package net.pterodactylus.sone.web.notification
 import com.google.common.eventbus.*
 import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler for the “new version” notification.
index a24a6d8..04aca0c 100644 (file)
@@ -19,7 +19,7 @@ package net.pterodactylus.sone.web.notification
 
 import net.pterodactylus.sone.freenet.wot.*
 import net.pterodactylus.sone.text.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Container that causes notification handlers to be created and (more importantly) registered
index 18aefd6..4c3d196 100644 (file)
@@ -29,8 +29,8 @@ import net.pterodactylus.util.notify.*
 import java.util.concurrent.*
 import java.util.concurrent.TimeUnit.*
 import java.util.function.*
-import javax.inject.*
-import javax.inject.Singleton
+import jakarta.inject.*
+import jakarta.inject.Singleton
 
 /**
  * Guice module for creating all notification handlers.
index 7dec7c9..5f69ac8 100644 (file)
@@ -23,7 +23,7 @@ import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.notify.*
 import net.pterodactylus.sone.utils.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler for remote replies.
index b12acb4..486add4 100644 (file)
@@ -21,7 +21,7 @@ import com.google.common.eventbus.*
 import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.sone.data.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler for all notifications concerning Sone-insert events.
index cb799a8..7dd9209 100644 (file)
@@ -24,7 +24,7 @@ import net.pterodactylus.sone.notify.*
 import net.pterodactylus.util.notify.*
 import java.util.concurrent.*
 import java.util.concurrent.atomic.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler for [SoneLockedEvent]s and [SoneUnlockedEvent]s that can schedule notifications after
index 8adea76..d6c6f8f 100644 (file)
@@ -22,7 +22,7 @@ import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.notify.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler for [SoneLockedOnStartup][net.pterodactylus.sone.core.event.SoneLockedOnStartup] events
index a03e490..4db4fd4 100644 (file)
@@ -22,7 +22,7 @@ import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.sone.data.*
 import net.pterodactylus.sone.notify.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler for the [MentionOfLocalSoneFoundEvent] and
index 3776d43..2f6435b 100644 (file)
@@ -22,7 +22,7 @@ import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.util.notify.*
 import java.util.concurrent.*
 import java.util.concurrent.TimeUnit.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler for the [Startup] event notification.
index 900a885..bbb7b7e 100644 (file)
@@ -20,7 +20,7 @@ package net.pterodactylus.sone.web.notification
 import com.google.common.eventbus.*
 import net.pterodactylus.sone.core.event.*
 import net.pterodactylus.util.notify.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Handler for web of trust-related notifications and the [WebOfTrustAppeared]
index 61d8718..1c8c51b 100644 (file)
@@ -19,7 +19,7 @@ package net.pterodactylus.sone.web.page
 
 import freenet.client.*
 import net.pterodactylus.util.web.*
-import javax.inject.*
+import jakarta.inject.*
 
 class PageToadletFactory @Inject constructor(
                private val highLevelSimpleClient: HighLevelSimpleClient,
index 21eeb2a..6f44aa5 100644 (file)
@@ -2,7 +2,7 @@ package net.pterodactylus.sone.web.page
 
 import net.pterodactylus.util.template.*
 import java.io.*
-import javax.inject.*
+import jakarta.inject.*
 
 class TemplateRenderer @Inject constructor(private val templateContextFactory: TemplateContextFactory) {
 
index f622319..2184751 100644 (file)
@@ -4,7 +4,7 @@ import net.pterodactylus.sone.main.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * A [SoneTemplatePage] that stores information about Sone in the [TemplateContext].
index c03a299..0110ee8 100644 (file)
@@ -5,7 +5,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user bookmark a post.
index b892263..5e67242 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user browse all his bookmarked posts.
index b6ce673..ddf0ff4 100644 (file)
@@ -8,7 +8,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user create a new album.
index 515de60..8ce9162 100644 (file)
@@ -7,7 +7,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This page lets the user create a new [Post].
index 7714b77..c394335 100644 (file)
@@ -7,7 +7,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This page lets the user post a reply to a post.
index 98b15fb..a42150b 100644 (file)
@@ -7,7 +7,7 @@ import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
 import java.util.logging.*
-import javax.inject.*
+import jakarta.inject.*
 import java.util.Locale
 
 /**
index 824f6ef..6d851e9 100644 (file)
@@ -4,7 +4,7 @@ import net.pterodactylus.sone.main.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 @ToadletPath("debug")
 class DebugPage @Inject constructor(webInterface: WebInterface, loaders: Loaders, templateRenderer: TemplateRenderer) :
index bd86c95..8077864 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user delete an {@link Album}.
index 6459bfd..9650600 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user delete an {@link Image}.
index 2396370..3cb18d4 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Lets the user delete a post they made.
index 6303b11..8570307 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user confirm the deletion of a profile field.
index e6fbce8..c2036e8 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This page lets the user delete a reply.
index 3f99730..c7b9f32 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Lets the user delete a Sone. Of course the Sone is not really deleted from
index cd348e7..6c0cc32 100644 (file)
@@ -4,7 +4,7 @@ import net.pterodactylus.sone.main.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user dismiss a notification.
index 4569e9a..de9ea83 100644 (file)
@@ -7,7 +7,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user edit the name and description of an album.
index 5443d28..793f4df 100644 (file)
@@ -8,7 +8,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user edit title and description of an {@link Image}.
index be97e80..4bcdad1 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user edit the name of a profile field.
index 93393ba..6a11929 100644 (file)
@@ -8,7 +8,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This page lets the user edit her profile.
index 5fd06ce..3893e68 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This page lets the user follow another Sone.
index f7857c3..fc9b2f2 100644 (file)
@@ -4,7 +4,7 @@ import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.web.*
 import java.net.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that delivers a {@link TemporaryImage} to the browser.
index a0ca0d7..cd4d0f2 100644 (file)
@@ -7,7 +7,7 @@ import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
 import java.net.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * The image browser page is the entry page for the image management.
index 89d6b93..6a64b16 100644 (file)
@@ -7,7 +7,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * The index page shows the main page of Sone. This page will contain the posts
index 01d1d22..a4d0dd7 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This page shows all known Sones.
index c8369e9..b11cc53 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user like [net.pterodactylus.sone.data.Post]s and [net.pterodactylus.sone.data.Reply]s.
index 9f6f30e..2da04d5 100644 (file)
@@ -5,7 +5,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This page lets the user lock a [net.pterodactylus.sone.data.Sone] to prevent it from being inserted.
index 977d9e6..952d8e7 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * The login page lets the user log in.
index a7722d4..b65a7ed 100644 (file)
@@ -5,7 +5,7 @@ import net.pterodactylus.sone.main.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Logs a user out.
index f919318..5222e12 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user mark a number of [net.pterodactylus.sone.data.Sone]s, [Post]s, or
index 837e2c8..1185cfc 100644 (file)
@@ -5,7 +5,7 @@ import net.pterodactylus.sone.main.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 @MenuName("Metrics")
 @TemplatePath("/templates/metrics.html")
index b6507f0..9724c56 100644 (file)
@@ -12,7 +12,7 @@ import net.pterodactylus.sone.web.page.TemplatePath
 import net.pterodactylus.sone.web.page.TemplateRenderer
 import net.pterodactylus.sone.web.page.ToadletPath
 import net.pterodactylus.util.template.TemplateContext
-import javax.inject.Inject
+import jakarta.inject.Inject
 
 /**
  * Page that displays all new posts and replies. The posts are filtered using
index 9465a6a..6362cdb 100644 (file)
@@ -7,7 +7,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This page lets the user edit the options of the Sone plugin.
index 71a7a9b..c27f396 100644 (file)
@@ -2,7 +2,7 @@ package net.pterodactylus.sone.web.pages
 
 import net.pterodactylus.util.web.*
 import java.io.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * [Page] implementation that delivers static files from the filesystem.
index 2ed4940..698f349 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user control the rescue mode for a Sone.
index a0c76dc..a546ce9 100644 (file)
@@ -12,7 +12,7 @@ import net.pterodactylus.sone.web.pages.SearchPage.Optionality.*
 import net.pterodactylus.util.template.*
 import net.pterodactylus.util.text.*
 import java.util.concurrent.TimeUnit.*
-import javax.inject.*
+import jakarta.inject.*
 import java.util.Locale
 
 /**
index aa7bbf6..7c34a22 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user unbookmark a post.
index 9dbe9f1..5eb9b65 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This page lets the user unfollow another Sone.
index 46bd3ab..30b219c 100644 (file)
@@ -6,7 +6,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page that lets the user unlike a [net.pterodactylus.sone.data.Post] or [net.pterodactylus.sone.data.Reply].
index 450a466..7626634 100644 (file)
@@ -5,7 +5,7 @@ import net.pterodactylus.sone.utils.*
 import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This page lets the user unlock a [net.pterodactylus.sone.data.Sone] to allow its insertion.
index 0021c6b..0320790 100644 (file)
@@ -11,7 +11,7 @@ import net.pterodactylus.util.template.*
 import java.awt.image.*
 import java.io.*
 import javax.imageio.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Page implementation that lets the user upload an image.
index 7e4d6a5..8b8d059 100644 (file)
@@ -7,7 +7,7 @@ import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
 import java.net.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * This page lets the user view a post and all its replies.
index efaee3f..1015633 100644 (file)
@@ -8,7 +8,7 @@ import net.pterodactylus.sone.web.*
 import net.pterodactylus.sone.web.page.*
 import net.pterodactylus.util.template.*
 import java.net.*
-import javax.inject.*
+import jakarta.inject.*
 
 /**
  * Lets the user browser another Sone.
index fd6311a..5865ae8 100644 (file)
@@ -193,7 +193,7 @@ class HistogramRendererTest {
                        metricRenderer.format(templateContext, histogram, parameters)
                                        .let { "<table id='t'>$it</table>" }
                                        .let(Jsoup::parseBodyFragment)
-                                       .getElementById("t").child(0).child(0)
+                                       .getElementById("t")!!.child(0).child(0)
                                        .let(verify)
 
        private fun verifyColumnIsNumeric(column: Int) =
index e6c0fdb..1c094e8 100644 (file)
@@ -8,7 +8,7 @@ import com.google.inject.name.Names
 import org.hamcrest.MatcherAssert.assertThat
 import org.hamcrest.Matchers.sameInstance
 import org.mockito.Mockito
-import javax.inject.Provider
+import jakarta.inject.Provider
 import kotlin.reflect.KClass
 
 fun <T : Any> KClass<T>.isProvidedBy(instance: T) = Module { it.bind(this.java).toProvider(Provider<T> { instance }) }
index 7849139..401049f 100644 (file)
@@ -79,12 +79,12 @@ class JsonReturnObjectTest {
                jsonReturnObject.put("object", objectNode)
                val json = objectMapper.writeValueAsString(jsonReturnObject)
                val parsedJson = objectMapper.readTree(json)
-               assertThat(parsedJson, equalTo<JsonNode>(ObjectNode(JsonNodeFactory.instance).apply {
+               assertThat(parsedJson, equalTo(ObjectNode(JsonNodeFactory.instance).apply {
                        put("success", true)
                        put("text", "text")
                        put("int", 123)
                        put("boolean", true)
-                       set("object", objectNode)
+                       set<JsonNode>("object", objectNode)
                }))
        }
 
index cfadfec..b7efb67 100644 (file)
@@ -200,6 +200,7 @@ private open class DelegatingToadletContext(private val toadletContext: ToadletC
        override fun sendReplyHeaders(code: Int, desc: String?, mvt: MultiValueTable<String, String>?, mimeType: String?, length: Long) = toadletContext.sendReplyHeaders(code, desc, mvt, mimeType, length)
        override fun sendReplyHeaders(code: Int, desc: String?, mvt: MultiValueTable<String, String>?, mimeType: String?, length: Long, forceDisableJavascript: Boolean) = toadletContext.sendReplyHeaders(code, desc, mvt, mimeType, length, forceDisableJavascript)
        @Suppress("DEPRECATION")
+       @Deprecated("Deprecated in ToadletContext")
        override fun sendReplyHeaders(code: Int, desc: String?, mvt: MultiValueTable<String, String>?, mimeType: String?, length: Long, mTime: Date?) = toadletContext.sendReplyHeaders(code, desc, mvt, mimeType, length, mTime)
        override fun getUri(): URI = toadletContext.uri
        override fun getPageMaker(): PageMaker = toadletContext.pageMaker