From deb675db5836c8930550fe0a0038fb259d194ee5 Mon Sep 17 00:00:00 2001 From: Dmitriy Tverdiakov Date: Tue, 13 May 2025 20:23:17 +0100 Subject: [PATCH] feat(logging): add support for System.Logger and deprecate Logging BREAKING CHANGE: the default driver logging implementation has been changed from `Logging#none()` to `Logging.systemLogging()`. The logging abstraction has been deprecated in favour of the `System.Logger`. Specifically, this applies to the following:: - `org.neo4j.driver.Logging` - `org.neo4j.driver.Logger` - `org.neo4j.driver.Config.ConfigBuilder#withLogging(Logging)` - `org.neo4j.driver.Config#logging()` Once the logging abstraction is deleted, the driver is expected to use the `System.Logger` only. --- .../neo4j/org/testkit/backend/Config.java | 1 + .../neo4j/org/testkit/backend/Runner.java | 1 + .../channel/handler/HttpRequestHandler.java | 7 +- .../testkit/backend/handler/ReadyHandler.java | 4 +- .../backend/handler/WorkloadHandler.java | 4 +- driver/clirr-ignored-differences.xml | 6 ++ .../main/java/org/neo4j/driver/Config.java | 13 ++- .../java/org/neo4j/driver/GraphDatabase.java | 1 + .../main/java/org/neo4j/driver/Logger.java | 2 + .../main/java/org/neo4j/driver/Logging.java | 13 +++ .../org/neo4j/driver/internal/BoltLogger.java | 3 +- .../driver/internal/BoltLoggingProvider.java | 3 +- .../neo4j/driver/internal/DriverFactory.java | 9 +- .../neo4j/driver/internal/InternalDriver.java | 4 +- .../driver/internal/SessionFactoryImpl.java | 6 +- .../async/LeakLoggingNetworkSession.java | 2 +- .../driver/internal/async/NetworkSession.java | 11 ++- .../async/TerminationAwareBoltConnection.java | 6 +- .../TerminationAwareResponseHandler.java | 4 +- .../internal/async/UnmanagedTransaction.java | 11 ++- .../internal/cursor/RxResultCursorImpl.java | 5 +- .../internal/logging/ConsoleLogging.java | 1 + .../internal/logging/DevNullLogger.java | 1 + .../internal/logging/DevNullLogging.java | 1 + .../driver/internal/logging/JULogger.java | 1 + .../driver/internal/logging/JULogging.java | 1 + .../internal/logging/PrefixedLogger.java | 1 + .../internal/logging/ReformattedLogger.java | 1 + .../driver/internal/logging/Slf4jLogger.java | 1 + .../driver/internal/logging/Slf4jLogging.java | 1 + .../driver/internal/logging/SystemLogger.java | 90 +++++++++++++++++++ .../internal/logging/SystemLogging.java | 39 ++++++++ .../internal/metrics/InternalMetrics.java | 4 +- .../metrics/InternalMetricsProvider.java | 2 +- .../retry/ExponentialBackoffRetryLogic.java | 11 ++- .../internal/security/SSLContextManager.java | 5 +- .../internal/security/SecurityPlanImpl.java | 8 +- .../internal/security/SecurityPlans.java | 8 +- .../security/ValidatingAuthTokenManager.java | 4 +- .../internal/svm/MicrometerSubstitutions.java | 2 +- .../java/org/neo4j/driver/ConfigTest.java | 8 +- .../org/neo4j/driver/GraphDatabaseTest.java | 5 +- .../driver/integration/CredentialsIT.java | 1 + .../neo4j/driver/integration/LoggingIT.java | 1 + .../neo4j/driver/integration/ResolverIT.java | 5 +- .../neo4j/driver/integration/SessionIT.java | 4 +- .../reactive/ReactiveStreamsSessionIT.java | 1 + .../driver/internal/DriverFactoryTest.java | 2 + .../internal/SessionFactoryImplTest.java | 2 + .../async/LeakLoggingNetworkSessionTest.java | 7 +- .../async/UnmanagedTransactionTest.java | 14 +++ .../cursor/RxResultCursorImplTest.java | 3 + .../internal/logging/PrefixedLoggerTest.java | 2 + .../ExponentialBackoffRetryLogicTest.java | 40 +++++++++ .../security/SSLContextManagerTest.java | 12 ++- .../security/SSLContextManagerTests.java | 12 ++- .../internal/security/SecurityPlansTest.java | 12 +++ .../ValidatingAuthTokenManagerTest.java | 9 ++ .../DriverFactoryWithFixedRetryLogic.java | 4 +- .../driver/stress/AbstractStressTestBase.java | 2 + .../neo4j/driver/testutil/LoggingUtil.java | 1 + pom.xml | 4 +- .../neo4j/org/testkit/backend/Runner.java | 1 + .../org/testkit/backend/TestkitState.java | 6 +- .../TestkitRequestProcessorHandler.java | 4 +- .../TestkitRequestResponseMapperHandler.java | 5 +- .../backend/messages/requests/NewDriver.java | 2 + 67 files changed, 415 insertions(+), 52 deletions(-) create mode 100644 driver/src/main/java/org/neo4j/driver/internal/logging/SystemLogger.java create mode 100644 driver/src/main/java/org/neo4j/driver/internal/logging/SystemLogging.java diff --git a/benchkit-backend/src/main/java/neo4j/org/testkit/backend/Config.java b/benchkit-backend/src/main/java/neo4j/org/testkit/backend/Config.java index 56f0e461e8..aefaf7bc60 100644 --- a/benchkit-backend/src/main/java/neo4j/org/testkit/backend/Config.java +++ b/benchkit-backend/src/main/java/neo4j/org/testkit/backend/Config.java @@ -22,6 +22,7 @@ import org.neo4j.driver.AuthTokens; import org.neo4j.driver.Logging; +@SuppressWarnings("deprecation") public record Config(int port, URI uri, AuthToken authToken, Logging logging) { static Config load() { var env = System.getenv(); diff --git a/benchkit-backend/src/main/java/neo4j/org/testkit/backend/Runner.java b/benchkit-backend/src/main/java/neo4j/org/testkit/backend/Runner.java index ee1948f60f..4b1c3c4f06 100644 --- a/benchkit-backend/src/main/java/neo4j/org/testkit/backend/Runner.java +++ b/benchkit-backend/src/main/java/neo4j/org/testkit/backend/Runner.java @@ -33,6 +33,7 @@ public class Runner { public static void main(String[] args) throws InterruptedException { var config = Config.load(); + @SuppressWarnings("deprecation") var driver = GraphDatabase.driver( config.uri(), config.authToken(), diff --git a/benchkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/HttpRequestHandler.java b/benchkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/HttpRequestHandler.java index 1e2e85b9e3..881adae995 100644 --- a/benchkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/HttpRequestHandler.java +++ b/benchkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/HttpRequestHandler.java @@ -44,9 +44,14 @@ public class HttpRequestHandler extends SimpleChannelInboundHandler8001 + + org/neo4j/driver/Logging + 7012 + org.neo4j.driver.Logging systemLogging() + + diff --git a/driver/src/main/java/org/neo4j/driver/Config.java b/driver/src/main/java/org/neo4j/driver/Config.java index c490a478f8..8904c2f48a 100644 --- a/driver/src/main/java/org/neo4j/driver/Config.java +++ b/driver/src/main/java/org/neo4j/driver/Config.java @@ -17,7 +17,6 @@ package org.neo4j.driver; import static java.lang.String.format; -import static org.neo4j.driver.internal.logging.DevNullLogging.DEV_NULL_LOGGING; import static org.neo4j.driver.internal.util.DriverInfoUtil.driverVersion; import io.netty.channel.EventLoop; @@ -32,7 +31,6 @@ import java.util.Optional; import java.util.Set; import java.util.concurrent.TimeUnit; -import java.util.logging.Level; import java.util.stream.Collectors; import org.neo4j.driver.async.AsyncSession; import org.neo4j.driver.exceptions.UnsupportedFeatureException; @@ -83,6 +81,7 @@ public final class Config implements Serializable { /** * User defined logging */ + @SuppressWarnings("deprecation") private final Logging logging; /** @@ -187,7 +186,9 @@ private Config(ConfigBuilder builder) { * Logging provider * * @return the Logging provider to use + * @deprecated the logging abstraction has been deprecated in favour of the {@link System.Logger} */ + @Deprecated public Logging logging() { return logging; } @@ -408,7 +409,9 @@ public boolean isTelemetryDisabled() { * Used to build new config instances */ public static final class ConfigBuilder { - private Logging logging = DEV_NULL_LOGGING; + @SuppressWarnings("deprecation") + private Logging logging = Logging.systemLogging(); + private boolean logLeakedSessions; private int maxConnectionPoolSize = 100; private long idleTimeBeforeConnectionTest = -1; @@ -432,7 +435,7 @@ public static final class ConfigBuilder { private ConfigBuilder() {} /** - * Provide a logging implementation for the driver to use. Java logging framework {@link java.util.logging} with {@link Level#INFO} is used by default. + * Provide a logging implementation for the driver to use. {@link Logging#systemLogging()} is used by default. * Callers are expected to either implement {@link Logging} interface or provide one of the existing implementations available from static factory * methods in the {@link Logging} interface. *

@@ -441,7 +444,9 @@ private ConfigBuilder() {} * @param logging the logging instance to use * @return this builder * @see Logging + * @deprecated the logging abstraction has been deprecated in favour of the {@link System.Logger} */ + @Deprecated public ConfigBuilder withLogging(Logging logging) { this.logging = logging; return this; diff --git a/driver/src/main/java/org/neo4j/driver/GraphDatabase.java b/driver/src/main/java/org/neo4j/driver/GraphDatabase.java index 4bb4473c62..b27bf4fe86 100644 --- a/driver/src/main/java/org/neo4j/driver/GraphDatabase.java +++ b/driver/src/main/java/org/neo4j/driver/GraphDatabase.java @@ -361,6 +361,7 @@ private static Driver driver( return driverFactory.newInstance(uri, new StaticAuthTokenManager(authToken), clientCertificateManager, config); } + @SuppressWarnings("deprecation") private static Driver driver( URI uri, AuthTokenManager authTokenManager, diff --git a/driver/src/main/java/org/neo4j/driver/Logger.java b/driver/src/main/java/org/neo4j/driver/Logger.java index 21e393ee48..61420aba9d 100644 --- a/driver/src/main/java/org/neo4j/driver/Logger.java +++ b/driver/src/main/java/org/neo4j/driver/Logger.java @@ -23,7 +23,9 @@ * message only if the needed logging level is enabled. Driver expects formatting to be done using {@link String#format(String, Object...)} method. * Thus, all supplied message templates will contain "%s" as parameter placeholders. This is different from all SLF4J-compatible logging frameworks * where parameter placeholder is "{}". Implementations of this interface should adapt placeholders from "%s" to "{}", if required. + * @deprecated the logging abstraction has been deprecated in favour of the {@link System.Logger} */ +@Deprecated public interface Logger { /** * Logs errors from this driver. diff --git a/driver/src/main/java/org/neo4j/driver/Logging.java b/driver/src/main/java/org/neo4j/driver/Logging.java index d4b6ba424e..3d324af3cc 100644 --- a/driver/src/main/java/org/neo4j/driver/Logging.java +++ b/driver/src/main/java/org/neo4j/driver/Logging.java @@ -24,6 +24,7 @@ import org.neo4j.driver.internal.logging.ConsoleLogging; import org.neo4j.driver.internal.logging.JULogging; import org.neo4j.driver.internal.logging.Slf4jLogging; +import org.neo4j.driver.internal.logging.SystemLogging; /** * Accessor for {@link Logger} instances. Configured once for a driver instance using {@link Config.ConfigBuilder#withLogging(Logging)} builder method. @@ -82,7 +83,9 @@ * * @see Logger * @see Config.ConfigBuilder#withLogging(Logging) + * @deprecated the logging abstraction has been deprecated in favour of the {@link System.Logger} */ +@Deprecated public interface Logging extends Serializable { /** * Obtain a {@link Logger} instance by class, its name will be the fully qualified name of the class. @@ -103,6 +106,16 @@ default Logger getLog(Class clazz) { */ Logger getLog(String name); + /** + * Returns logging implementation that uses {@link System.Logger}. + * + * @return logging implementation + * @since 6.0.0 + */ + static Logging systemLogging() { + return SystemLogging.INSTANCE; + } + /** * Create logging implementation that uses SLF4J. * diff --git a/driver/src/main/java/org/neo4j/driver/internal/BoltLogger.java b/driver/src/main/java/org/neo4j/driver/internal/BoltLogger.java index 17a19c33d0..b3e13a4c7b 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/BoltLogger.java +++ b/driver/src/main/java/org/neo4j/driver/internal/BoltLogger.java @@ -20,9 +20,10 @@ import org.neo4j.driver.Logger; public class BoltLogger implements System.Logger { + @SuppressWarnings("deprecation") private final Logger logger; - public BoltLogger(Logger logger) { + public BoltLogger(@SuppressWarnings("deprecation") Logger logger) { this.logger = logger; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/BoltLoggingProvider.java b/driver/src/main/java/org/neo4j/driver/internal/BoltLoggingProvider.java index d3a638ddfe..debfe79f10 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/BoltLoggingProvider.java +++ b/driver/src/main/java/org/neo4j/driver/internal/BoltLoggingProvider.java @@ -20,9 +20,10 @@ import org.neo4j.driver.Logging; public class BoltLoggingProvider implements LoggingProvider { + @SuppressWarnings("deprecation") private final Logging logging; - public BoltLoggingProvider(Logging logging) { + public BoltLoggingProvider(@SuppressWarnings("deprecation") Logging logging) { this.logging = logging; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/DriverFactory.java b/driver/src/main/java/org/neo4j/driver/internal/DriverFactory.java index 10e65a3d5a..f0090b02e9 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/DriverFactory.java +++ b/driver/src/main/java/org/neo4j/driver/internal/DriverFactory.java @@ -82,6 +82,7 @@ public final Driver newInstance( return newInstance(uri, authTokenManager, clientCertificateManager, config, null, null, null); } + @SuppressWarnings("deprecation") public final Driver newInstance( URI uri, AuthTokenManager authTokenManager, @@ -141,6 +142,7 @@ public final Driver newInstance( rediscoverySupplier); } + @SuppressWarnings("deprecation") protected static MetricsProvider getOrCreateMetricsProvider(Config config, Clock clock) { var metricsAdapter = config.metricsAdapter(); // This can actually only happen when someone mocks the config @@ -154,6 +156,7 @@ protected static MetricsProvider getOrCreateMetricsProvider(Config config, Clock }; } + @SuppressWarnings("deprecation") private InternalDriver createDriver( URI uri, BoltSecurityPlanManager securityPlanManager, @@ -263,6 +266,7 @@ private DriverBoltConnectionProvider createDriverBoltConnectionProvider( connectTimeoutMillis); } + @SuppressWarnings("deprecation") protected BoltConnectionProvider createBoltConnectionProvider( URI uri, Config config, @@ -397,6 +401,7 @@ protected LocalAddress localAddress() { *

* This method is protected only for testing */ + @SuppressWarnings("deprecation") protected InternalDriver createDriver( BoltSecurityPlanManager securityPlanManager, SessionFactory sessionFactory, @@ -442,7 +447,9 @@ protected SessionFactory createSessionFactory( * This method is protected only for testing */ protected RetryLogic createRetryLogic( - long maxTransactionRetryTime, EventExecutorGroup eventExecutorGroup, Logging logging) { + long maxTransactionRetryTime, + EventExecutorGroup eventExecutorGroup, + @SuppressWarnings("deprecation") Logging logging) { return new ExponentialBackoffRetryLogic(maxTransactionRetryTime, eventExecutorGroup, createClock(), logging); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalDriver.java b/driver/src/main/java/org/neo4j/driver/internal/InternalDriver.java index 5bf760e8a7..8757d833f1 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalDriver.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalDriver.java @@ -61,6 +61,8 @@ public class InternalDriver implements Driver { BookmarkManagers.defaultManager(BookmarkManagerConfig.builder().build()); private final BoltSecurityPlanManager securityPlanManager; private final SessionFactory sessionFactory; + + @SuppressWarnings("deprecation") private final Logger log; private final boolean telemetryDisabled; @@ -77,7 +79,7 @@ public class InternalDriver implements Driver { boolean telemetryDisabled, NotificationConfig notificationConfig, Supplier> shutdownSupplier, - Logging logging) { + @SuppressWarnings("deprecation") Logging logging) { this.securityPlanManager = securityPlanManager; this.sessionFactory = sessionFactory; this.metricsProvider = metricsProvider; diff --git a/driver/src/main/java/org/neo4j/driver/internal/SessionFactoryImpl.java b/driver/src/main/java/org/neo4j/driver/internal/SessionFactoryImpl.java index 42aedd9a37..5ad9606be8 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/SessionFactoryImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/SessionFactoryImpl.java @@ -48,12 +48,16 @@ public class SessionFactoryImpl implements SessionFactory { private final BoltSecurityPlanManager securityPlanManager; private final DriverBoltConnectionProvider connectionProvider; private final RetryLogic retryLogic; + + @SuppressWarnings("deprecation") private final Logging logging; + private final boolean leakedSessionsLoggingEnabled; private final long defaultFetchSize; private final AuthTokenManager authTokenManager; private final HomeDatabaseCache homeDatabaseCache; + @SuppressWarnings("deprecation") SessionFactoryImpl( BoltSecurityPlanManager securityPlanManager, DriverBoltConnectionProvider connectionProvider, @@ -167,7 +171,7 @@ private NetworkSession createSession( Set bookmarks, long fetchSize, String impersonatedUser, - Logging logging, + @SuppressWarnings("deprecation") Logging logging, BookmarkManager bookmarkManager, NotificationConfig driverNotificationConfig, NotificationConfig notificationConfig, diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/LeakLoggingNetworkSession.java b/driver/src/main/java/org/neo4j/driver/internal/async/LeakLoggingNetworkSession.java index 66ed27a663..026f9010db 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/LeakLoggingNetworkSession.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/LeakLoggingNetworkSession.java @@ -47,7 +47,7 @@ public LeakLoggingNetworkSession( Set bookmarks, String impersonatedUser, long fetchSize, - Logging logging, + @SuppressWarnings("deprecation") Logging logging, BookmarkManager bookmarkManager, NotificationConfig driverNotificationConfig, NotificationConfig notificationConfig, diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/NetworkSession.java b/driver/src/main/java/org/neo4j/driver/internal/async/NetworkSession.java index 6025668fda..7ecc0557b5 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/NetworkSession.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/NetworkSession.java @@ -94,7 +94,11 @@ public class NetworkSession { private final NetworkSessionConnectionContext connectionContext; private final AccessMode mode; private final RetryLogic retryLogic; + + @SuppressWarnings("deprecation") private final Logging logging; + + @SuppressWarnings("deprecation") protected final Logger log; private final long fetchSize; @@ -122,7 +126,7 @@ public NetworkSession( Set bookmarks, String impersonatedUser, long fetchSize, - Logging logging, + @SuppressWarnings("deprecation") Logging logging, BookmarkManager bookmarkManager, org.neo4j.driver.NotificationConfig driverNotificationConfig, org.neo4j.driver.NotificationConfig notificationConfig, @@ -723,7 +727,10 @@ public AuthToken overrideAuthToken() { public static class RunRxResponseHandler implements DriverResponseHandler { private static final Lock NOOP_LOCK = new NoopLock(); final CompletableFuture cursorFuture = new CompletableFuture<>(); + + @SuppressWarnings("deprecation") private final Logging logging; + private final DriverBoltConnection connection; private final Query query; private final Consumer bookmarkConsumer; @@ -734,7 +741,7 @@ public static class RunRxResponseHandler implements DriverResponseHandler { private int ignoredCount; public RunRxResponseHandler( - Logging logging, + @SuppressWarnings("deprecation") Logging logging, DriverBoltConnection connection, Query query, Consumer bookmarkConsumer, diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/TerminationAwareBoltConnection.java b/driver/src/main/java/org/neo4j/driver/internal/async/TerminationAwareBoltConnection.java index 2cbba28f59..53ea10ac93 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/TerminationAwareBoltConnection.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/TerminationAwareBoltConnection.java @@ -31,13 +31,17 @@ import org.neo4j.driver.internal.util.Futures; final class TerminationAwareBoltConnection extends DelegatingBoltConnection { + @SuppressWarnings("deprecation") private final Logging logging; + + @SuppressWarnings("deprecation") private final Logger log; + private final TerminationAwareStateLockingExecutor executor; private final Consumer throwableConsumer; public TerminationAwareBoltConnection( - Logging logging, + @SuppressWarnings("deprecation") Logging logging, DriverBoltConnection delegate, TerminationAwareStateLockingExecutor executor, Consumer throwableConsumer) { diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/TerminationAwareResponseHandler.java b/driver/src/main/java/org/neo4j/driver/internal/async/TerminationAwareResponseHandler.java index 2c1715bdff..16ba30fda0 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/TerminationAwareResponseHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/TerminationAwareResponseHandler.java @@ -25,12 +25,14 @@ import org.neo4j.driver.internal.util.Futures; final class TerminationAwareResponseHandler extends DelegatingResponseHandler { + @SuppressWarnings("deprecation") private final Logger log; + private final TerminationAwareStateLockingExecutor executor; private final Consumer throwableConsumer; TerminationAwareResponseHandler( - Logging logging, + @SuppressWarnings("deprecation") Logging logging, DriverResponseHandler delegate, TerminationAwareStateLockingExecutor executor, Consumer throwableConsumer) { diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/UnmanagedTransaction.java b/driver/src/main/java/org/neo4j/driver/internal/async/UnmanagedTransaction.java index 77fe4bed8e..abb04a3b91 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/UnmanagedTransaction.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/UnmanagedTransaction.java @@ -104,7 +104,9 @@ private enum State { "Can't rollback, transaction has been requested to be committed"; private static final EnumSet OPEN_STATES = EnumSet.of(State.ACTIVE, State.TERMINATED); + @SuppressWarnings("deprecation") private final Logging logging; + private final TerminationAwareBoltConnection connection; private final Consumer bookmarkConsumer; private final ResultCursorsHolder resultCursors; @@ -135,7 +137,7 @@ public UnmanagedTransaction( NotificationConfig notificationConfig, ApiTelemetryWork apiTelemetryWork, Consumer databaseNameConsumer, - Logging logging) { + @SuppressWarnings("deprecation") Logging logging) { this( connection, databaseName, @@ -161,7 +163,7 @@ protected UnmanagedTransaction( NotificationConfig notificationConfig, ApiTelemetryWork apiTelemetryWork, Consumer databaseNameConsumer, - Logging logging) { + @SuppressWarnings("deprecation") Logging logging) { this.logging = logging; this.connection = new TerminationAwareBoltConnection(logging, connection, this, this::markTerminated); this.databaseName = databaseName; @@ -678,7 +680,10 @@ public void onComplete() { private static class RunRxResponseHandler implements DriverResponseHandler { final CompletableFuture cursorFuture = new CompletableFuture<>(); + + @SuppressWarnings("deprecation") private final Logging logging; + private final ApiTelemetryWork apiTelemetryWork; private final CompletableFuture beginFuture; private final DriverBoltConnection connection; @@ -688,7 +693,7 @@ private static class RunRxResponseHandler implements DriverResponseHandler { private int ignoredCount; private RunRxResponseHandler( - Logging logging, + @SuppressWarnings("deprecation") Logging logging, ApiTelemetryWork apiTelemetryWork, CompletableFuture beginFuture, DriverBoltConnection connection, diff --git a/driver/src/main/java/org/neo4j/driver/internal/cursor/RxResultCursorImpl.java b/driver/src/main/java/org/neo4j/driver/internal/cursor/RxResultCursorImpl.java index 57a272fd99..9ff8138672 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cursor/RxResultCursorImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cursor/RxResultCursorImpl.java @@ -85,7 +85,10 @@ public Optional databaseName() { return Optional.empty(); } }; + + @SuppressWarnings("deprecation") private final Logger log; + private final DriverBoltConnection boltConnection; private final Query query; private final RunSummary runSummary; @@ -121,7 +124,7 @@ public RxResultCursorImpl( Throwable runError, Consumer bookmarkConsumer, boolean closeOnSummary, - Logging logging) { + @SuppressWarnings("deprecation") Logging logging) { this.boltConnection = Objects.requireNonNull(boltConnection); this.legacyNotifications = new BoltProtocolVersion(5, 5).compareTo(boltConnection.protocolVersion()) > 0; this.query = query; diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/ConsoleLogging.java b/driver/src/main/java/org/neo4j/driver/internal/logging/ConsoleLogging.java index 9da0a936a7..69d8c6d96e 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/logging/ConsoleLogging.java +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/ConsoleLogging.java @@ -37,6 +37,7 @@ * * @see Logging#console(Level) */ +@SuppressWarnings("deprecation") public class ConsoleLogging implements Logging, Serializable { @Serial private static final long serialVersionUID = 9205935204074879150L; diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/DevNullLogger.java b/driver/src/main/java/org/neo4j/driver/internal/logging/DevNullLogger.java index 9057e59c37..55d1c1f748 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/logging/DevNullLogger.java +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/DevNullLogger.java @@ -18,6 +18,7 @@ import org.neo4j.driver.Logger; +@SuppressWarnings("deprecation") public class DevNullLogger implements Logger { public static final Logger DEV_NULL_LOGGER = new DevNullLogger(); diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/DevNullLogging.java b/driver/src/main/java/org/neo4j/driver/internal/logging/DevNullLogging.java index 827482f667..7e6fbe4f36 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/logging/DevNullLogging.java +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/DevNullLogging.java @@ -21,6 +21,7 @@ import org.neo4j.driver.Logger; import org.neo4j.driver.Logging; +@SuppressWarnings("deprecation") public class DevNullLogging implements Logging, Serializable { @Serial private static final long serialVersionUID = -2632752338512373821L; diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/JULogger.java b/driver/src/main/java/org/neo4j/driver/internal/logging/JULogger.java index bfefb44bb7..05f5c2e239 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/logging/JULogger.java +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/JULogger.java @@ -19,6 +19,7 @@ import java.util.logging.Level; import org.neo4j.driver.Logger; +@SuppressWarnings("deprecation") public class JULogger implements Logger { private final java.util.logging.Logger delegate; private final boolean debugEnabled; diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/JULogging.java b/driver/src/main/java/org/neo4j/driver/internal/logging/JULogging.java index 5cb1f916e1..28fc1f0c3e 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/logging/JULogging.java +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/JULogging.java @@ -28,6 +28,7 @@ * * @see Logging#javaUtilLogging(Level) */ +@SuppressWarnings("deprecation") public class JULogging implements Logging, Serializable { @Serial private static final long serialVersionUID = -1145576859241657833L; diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/PrefixedLogger.java b/driver/src/main/java/org/neo4j/driver/internal/logging/PrefixedLogger.java index fad5edb462..28f132d540 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/logging/PrefixedLogger.java +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/PrefixedLogger.java @@ -18,6 +18,7 @@ import org.neo4j.driver.Logger; +@SuppressWarnings("deprecation") public class PrefixedLogger extends ReformattedLogger { private final String messagePrefix; diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/ReformattedLogger.java b/driver/src/main/java/org/neo4j/driver/internal/logging/ReformattedLogger.java index e2d3cf950c..297140e314 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/logging/ReformattedLogger.java +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/ReformattedLogger.java @@ -20,6 +20,7 @@ import org.neo4j.driver.Logger; +@SuppressWarnings("deprecation") public abstract class ReformattedLogger implements Logger { private final Logger delegate; diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/Slf4jLogger.java b/driver/src/main/java/org/neo4j/driver/internal/logging/Slf4jLogger.java index c9fa0c545c..94a3215600 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/logging/Slf4jLogger.java +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/Slf4jLogger.java @@ -19,6 +19,7 @@ import java.util.Objects; import org.neo4j.driver.Logger; +@SuppressWarnings("deprecation") class Slf4jLogger implements Logger { private final org.slf4j.Logger delegate; diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/Slf4jLogging.java b/driver/src/main/java/org/neo4j/driver/internal/logging/Slf4jLogging.java index 0d1c0fd20c..9811f7858a 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/logging/Slf4jLogging.java +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/Slf4jLogging.java @@ -28,6 +28,7 @@ * * @see Logging#slf4j() */ +@SuppressWarnings("deprecation") public class Slf4jLogging implements Logging, Serializable { @Serial private static final long serialVersionUID = 4120390028025944991L; diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/SystemLogger.java b/driver/src/main/java/org/neo4j/driver/internal/logging/SystemLogger.java new file mode 100644 index 0000000000..e7c972add8 --- /dev/null +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/SystemLogger.java @@ -0,0 +1,90 @@ +/* + * Copyright (c) "Neo4j" + * Neo4j Sweden AB [https://neo4j.com] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.neo4j.driver.internal.logging; + +import java.util.Objects; +import org.neo4j.driver.Logger; + +@SuppressWarnings("deprecation") +final class SystemLogger implements Logger { + private final System.Logger delegate; + private final boolean isDebugEnabled; + private final boolean isTraceEnabled; + + SystemLogger(System.Logger delegate) { + this.delegate = Objects.requireNonNull(delegate); + this.isDebugEnabled = delegate.isLoggable(System.Logger.Level.DEBUG); + this.isTraceEnabled = delegate.isLoggable(System.Logger.Level.TRACE); + } + + @Override + public void error(String message, Throwable cause) { + delegate.log(System.Logger.Level.ERROR, message, cause); + } + + @Override + public void info(String message, Object... params) { + try { + delegate.log(System.Logger.Level.INFO, message.formatted(params)); + } catch (RuntimeException ignored) { + } + } + + @Override + public void warn(String message, Object... params) { + try { + delegate.log(System.Logger.Level.WARNING, message.formatted(params)); + } catch (RuntimeException ignored) { + } + } + + @Override + public void warn(String message, Throwable cause) { + delegate.log(System.Logger.Level.WARNING, message, cause); + } + + @Override + public void debug(String message, Object... params) { + try { + delegate.log(System.Logger.Level.DEBUG, message.formatted(params)); + } catch (RuntimeException ignored) { + } + } + + @Override + public void debug(String message, Throwable throwable) { + delegate.log(System.Logger.Level.DEBUG, message, throwable); + } + + @Override + public void trace(String message, Object... params) { + try { + delegate.log(System.Logger.Level.TRACE, message.formatted(params)); + } catch (RuntimeException ignored) { + } + } + + @Override + public boolean isTraceEnabled() { + return isTraceEnabled; + } + + @Override + public boolean isDebugEnabled() { + return isDebugEnabled; + } +} diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/SystemLogging.java b/driver/src/main/java/org/neo4j/driver/internal/logging/SystemLogging.java new file mode 100644 index 0000000000..c9709ce834 --- /dev/null +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/SystemLogging.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) "Neo4j" + * Neo4j Sweden AB [https://neo4j.com] + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.neo4j.driver.internal.logging; + +import java.io.Serial; +import org.neo4j.driver.Logger; +import org.neo4j.driver.Logging; + +@SuppressWarnings("deprecation") +public final class SystemLogging implements Logging { + public static final SystemLogging INSTANCE = new SystemLogging(); + + @Serial + private static final long serialVersionUID = -2244895422671419713L; + + @Override + public Logger getLog(Class clazz) { + return new SystemLogger(System.getLogger(clazz.getName())); + } + + @Override + public Logger getLog(String name) { + return new SystemLogger(System.getLogger(name)); + } +} diff --git a/driver/src/main/java/org/neo4j/driver/internal/metrics/InternalMetrics.java b/driver/src/main/java/org/neo4j/driver/internal/metrics/InternalMetrics.java index 79e15e8650..5f55e20236 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/metrics/InternalMetrics.java +++ b/driver/src/main/java/org/neo4j/driver/internal/metrics/InternalMetrics.java @@ -36,9 +36,11 @@ final class InternalMetrics implements Metrics, MetricsListener { private final Map connectionPoolMetrics; private final Clock clock; + + @SuppressWarnings("deprecation") private final Logger log; - InternalMetrics(Clock clock, Logging logging) { + InternalMetrics(Clock clock, @SuppressWarnings("deprecation") Logging logging) { Objects.requireNonNull(clock); this.connectionPoolMetrics = new ConcurrentHashMap<>(); this.clock = clock; diff --git a/driver/src/main/java/org/neo4j/driver/internal/metrics/InternalMetricsProvider.java b/driver/src/main/java/org/neo4j/driver/internal/metrics/InternalMetricsProvider.java index 655695fd83..1318a5f309 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/metrics/InternalMetricsProvider.java +++ b/driver/src/main/java/org/neo4j/driver/internal/metrics/InternalMetricsProvider.java @@ -24,7 +24,7 @@ public final class InternalMetricsProvider implements MetricsProvider { private final InternalMetrics metrics; - public InternalMetricsProvider(Clock clock, Logging logging) { + public InternalMetricsProvider(Clock clock, @SuppressWarnings("deprecation") Logging logging) { this.metrics = new InternalMetrics(clock, logging); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/retry/ExponentialBackoffRetryLogic.java b/driver/src/main/java/org/neo4j/driver/internal/retry/ExponentialBackoffRetryLogic.java index befbd7185d..0d4d691765 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/retry/ExponentialBackoffRetryLogic.java +++ b/driver/src/main/java/org/neo4j/driver/internal/retry/ExponentialBackoffRetryLogic.java @@ -56,10 +56,15 @@ public class ExponentialBackoffRetryLogic implements RetryLogic { private final EventExecutorGroup eventExecutorGroup; private final Clock clock; private final SleepTask sleepTask; + + @SuppressWarnings("deprecation") private final Logger log; public ExponentialBackoffRetryLogic( - long maxTransactionRetryTime, EventExecutorGroup eventExecutorGroup, Clock clock, Logging logging) { + long maxTransactionRetryTime, + EventExecutorGroup eventExecutorGroup, + Clock clock, + @SuppressWarnings("deprecation") Logging logging) { this(maxTransactionRetryTime, eventExecutorGroup, clock, logging, Thread::sleep); } @@ -67,7 +72,7 @@ protected ExponentialBackoffRetryLogic( long maxTransactionRetryTime, EventExecutorGroup eventExecutorGroup, Clock clock, - Logging logging, + @SuppressWarnings("deprecation") Logging logging, SleepTask sleepTask) { this( maxTransactionRetryTime, @@ -87,7 +92,7 @@ protected ExponentialBackoffRetryLogic( double jitterFactor, EventExecutorGroup eventExecutorGroup, Clock clock, - Logging logging, + @SuppressWarnings("deprecation") Logging logging, SleepTask sleepTask) { this.maxRetryTimeMs = maxRetryTimeMs; this.initialRetryDelayMs = initialRetryDelayMs; diff --git a/driver/src/main/java/org/neo4j/driver/internal/security/SSLContextManager.java b/driver/src/main/java/org/neo4j/driver/internal/security/SSLContextManager.java index f912108e0a..1f960e80cb 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/security/SSLContextManager.java +++ b/driver/src/main/java/org/neo4j/driver/internal/security/SSLContextManager.java @@ -45,7 +45,10 @@ class SSLContextManager { private final ClientCertificateManager clientCertificateManager; private final SecurityPlan.SSLContextSupplier sslContextSupplier; + + @SuppressWarnings("deprecation") private final Logger logger; + private CompletableFuture sslContextFuture; private SSLContext sslContext; private Throwable throwable; @@ -53,7 +56,7 @@ class SSLContextManager { public SSLContextManager( ClientCertificateManager clientCertificateManager, SecurityPlan.SSLContextSupplier sslContextSupplier, - Logging logging) + @SuppressWarnings("deprecation") Logging logging) throws NoSuchAlgorithmException, KeyManagementException { this.clientCertificateManager = clientCertificateManager; this.sslContextSupplier = sslContextSupplier; diff --git a/driver/src/main/java/org/neo4j/driver/internal/security/SecurityPlanImpl.java b/driver/src/main/java/org/neo4j/driver/internal/security/SecurityPlanImpl.java index 8080c07ee5..92fec721ce 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/security/SecurityPlanImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/security/SecurityPlanImpl.java @@ -41,7 +41,7 @@ public static SecurityPlan forAllCertificates( boolean requiresHostnameVerification, RevocationCheckingStrategy revocationCheckingStrategy, ClientCertificateManager clientCertificateManager, - Logging logging) + @SuppressWarnings("deprecation") Logging logging) throws NoSuchAlgorithmException, KeyManagementException { return new SecurityPlanImpl( SSLContexts::forAnyCertificate, @@ -56,7 +56,7 @@ public static SecurityPlan forCustomCASignedCertificates( boolean requiresHostnameVerification, RevocationCheckingStrategy revocationCheckingStrategy, ClientCertificateManager clientCertificateManager, - Logging logging) + @SuppressWarnings("deprecation") Logging logging) throws GeneralSecurityException, IOException { var trustManagerFactory = TrustManagerFactories.forCertificates(certFiles, map(revocationCheckingStrategy)); return new SecurityPlanImpl( @@ -71,7 +71,7 @@ public static SecurityPlan forSystemCASignedCertificates( boolean requiresHostnameVerification, RevocationCheckingStrategy revocationCheckingStrategy, ClientCertificateManager clientCertificateManager, - Logging logging) + @SuppressWarnings("deprecation") Logging logging) throws GeneralSecurityException, IOException { var trustManagerFactory = TrustManagerFactories.forSystemCertificates(map(revocationCheckingStrategy)); return new SecurityPlanImpl( @@ -97,7 +97,7 @@ private SecurityPlanImpl( boolean requiresHostnameVerification, RevocationCheckingStrategy revocationCheckingStrategy, ClientCertificateManager clientCertificateManager, - Logging logging) + @SuppressWarnings("deprecation") Logging logging) throws NoSuchAlgorithmException, KeyManagementException { this.requiresEncryption = true; this.requiresHostnameVerification = requiresHostnameVerification; diff --git a/driver/src/main/java/org/neo4j/driver/internal/security/SecurityPlans.java b/driver/src/main/java/org/neo4j/driver/internal/security/SecurityPlans.java index 3e46afee68..a14425dfee 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/security/SecurityPlans.java +++ b/driver/src/main/java/org/neo4j/driver/internal/security/SecurityPlans.java @@ -36,7 +36,7 @@ public static SecurityPlan createSecurityPlan( SecuritySettings settings, String uriScheme, ClientCertificateManager clientCertificateManager, - Logging logging) { + @SuppressWarnings("deprecation") Logging logging) { Scheme.validateScheme(uriScheme); try { if (isSecurityScheme(uriScheme)) { @@ -91,7 +91,9 @@ private static boolean hasEqualTrustStrategy(SecuritySettings settings) { } private static SecurityPlan createSecurityPlanFromScheme( - String scheme, ClientCertificateManager clientCertificateManager, Logging logging) + String scheme, + ClientCertificateManager clientCertificateManager, + @SuppressWarnings("deprecation") Logging logging) throws GeneralSecurityException, IOException { if (isHighTrustScheme(scheme)) { return SecurityPlanImpl.forSystemCASignedCertificates( @@ -110,7 +112,7 @@ private static SecurityPlan createSecurityPlanImpl( boolean encrypted, Config.TrustStrategy trustStrategy, ClientCertificateManager clientCertificateManager, - Logging logging) + @SuppressWarnings("deprecation") Logging logging) throws GeneralSecurityException, IOException { if (encrypted) { var hostnameVerificationEnabled = trustStrategy.isHostnameVerificationEnabled(); diff --git a/driver/src/main/java/org/neo4j/driver/internal/security/ValidatingAuthTokenManager.java b/driver/src/main/java/org/neo4j/driver/internal/security/ValidatingAuthTokenManager.java index 13397f4e06..47405570b9 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/security/ValidatingAuthTokenManager.java +++ b/driver/src/main/java/org/neo4j/driver/internal/security/ValidatingAuthTokenManager.java @@ -30,10 +30,12 @@ import org.neo4j.driver.exceptions.SecurityException; public class ValidatingAuthTokenManager implements AuthTokenManager { + @SuppressWarnings("deprecation") private final Logger log; + private final AuthTokenManager delegate; - public ValidatingAuthTokenManager(AuthTokenManager delegate, Logging logging) { + public ValidatingAuthTokenManager(AuthTokenManager delegate, @SuppressWarnings("deprecation") Logging logging) { requireNonNull(delegate, "delegate must not be null"); requireNonNull(logging, "logging must not be null"); this.delegate = delegate; diff --git a/driver/src/main/java/org/neo4j/driver/internal/svm/MicrometerSubstitutions.java b/driver/src/main/java/org/neo4j/driver/internal/svm/MicrometerSubstitutions.java index 819a732431..3671caf404 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/svm/MicrometerSubstitutions.java +++ b/driver/src/main/java/org/neo4j/driver/internal/svm/MicrometerSubstitutions.java @@ -38,7 +38,7 @@ final class Target_org_neo4j_driver_internal_DriverFactory { * @return A metrics provider, never null */ @Substitute - @SuppressWarnings("ProtectedMemberInFinalClass") + @SuppressWarnings({"ProtectedMemberInFinalClass", "deprecation"}) protected static MetricsProvider getOrCreateMetricsProvider(Config config, Clock clock) { var metricsAdapter = config.metricsAdapter(); if (metricsAdapter == null) { diff --git a/driver/src/test/java/org/neo4j/driver/ConfigTest.java b/driver/src/test/java/org/neo4j/driver/ConfigTest.java index 91e9ff6e44..1ba4246217 100644 --- a/driver/src/test/java/org/neo4j/driver/ConfigTest.java +++ b/driver/src/test/java/org/neo4j/driver/ConfigTest.java @@ -407,6 +407,7 @@ void shouldMaxTransactionRetryTimeMillis() { @Nested class SerializationTest { + @SuppressWarnings("deprecation") @Test void shouldSerialize() throws Exception { var config = Config.builder() @@ -438,7 +439,7 @@ void shouldSerialize() throws Exception { assertEquals(config.connectionAcquisitionTimeoutMillis(), verify.connectionAcquisitionTimeoutMillis()); assertEquals(config.idleTimeBeforeConnectionTest(), verify.idleTimeBeforeConnectionTest()); assertEquals(config.maxConnectionLifetimeMillis(), verify.maxConnectionLifetimeMillis()); - assertSame(DevNullLogging.DEV_NULL_LOGGING, verify.logging()); + assertEquals(Logging.systemLogging().getClass(), verify.logging().getClass()); assertEquals(config.maxTransactionRetryTimeMillis(), verify.maxTransactionRetryTimeMillis()); assertEquals(config.fetchSize(), verify.fetchSize()); assertEquals(config.eventLoopThreads(), verify.eventLoopThreads()); @@ -469,11 +470,13 @@ void shouldSerialize() throws Exception { @Test void shouldSerializeSerializableLogging() throws IOException, ClassNotFoundException { + @SuppressWarnings("deprecation") var config = Config.builder() .withLogging(Logging.javaUtilLogging(Level.ALL)) .build(); var verify = TestUtil.serializeAndReadBack(config, Config.class); + @SuppressWarnings("deprecation") var logging = verify.logging(); assertInstanceOf(JULogging.class, logging); @@ -492,7 +495,8 @@ void shouldSerializeSerializableLogging() throws IOException, ClassNotFoundExcep @ParameterizedTest @ValueSource(classes = {DevNullLogging.class, JULogging.class, ConsoleLogging.class, Slf4jLogging.class}) - void officialLoggingProvidersShouldBeSerializable(Class loggingClass) { + void officialLoggingProvidersShouldBeSerializable( + @SuppressWarnings("deprecation") Class loggingClass) { assertTrue(Serializable.class.isAssignableFrom(loggingClass)); } } diff --git a/driver/src/test/java/org/neo4j/driver/GraphDatabaseTest.java b/driver/src/test/java/org/neo4j/driver/GraphDatabaseTest.java index f78142567b..f0b58d88b5 100644 --- a/driver/src/test/java/org/neo4j/driver/GraphDatabaseTest.java +++ b/driver/src/test/java/org/neo4j/driver/GraphDatabaseTest.java @@ -23,7 +23,6 @@ import static org.junit.jupiter.api.Assertions.assertEquals; import static org.junit.jupiter.api.Assertions.assertNotNull; import static org.junit.jupiter.api.Assertions.assertThrows; -import static org.neo4j.driver.Logging.none; import static org.neo4j.driver.internal.logging.DevNullLogging.DEV_NULL_LOGGING; import java.io.IOException; @@ -36,8 +35,9 @@ import org.neo4j.driver.testutil.TestUtil; class GraphDatabaseTest { + @SuppressWarnings("deprecation") private static final Config INSECURE_CONFIG = - Config.builder().withoutEncryption().withLogging(none()).build(); + Config.builder().withoutEncryption().withLogging(Logging.none()).build(); @Test @SuppressWarnings("resource") @@ -181,6 +181,7 @@ private static void testFailureWhenServerDoesNotRespond(boolean encrypted) throw } private static Config createConfig(boolean encrypted, int timeoutMillis) { + @SuppressWarnings("deprecation") var configBuilder = Config.builder() .withConnectionTimeout(timeoutMillis, MILLISECONDS) .withLogging(DEV_NULL_LOGGING); diff --git a/driver/src/test/java/org/neo4j/driver/integration/CredentialsIT.java b/driver/src/test/java/org/neo4j/driver/integration/CredentialsIT.java index 0b63a797a4..036db55a44 100644 --- a/driver/src/test/java/org/neo4j/driver/integration/CredentialsIT.java +++ b/driver/src/test/java/org/neo4j/driver/integration/CredentialsIT.java @@ -106,6 +106,7 @@ void routingDriverShouldFailEarlyOnWrongCredentials() { } private void testDriverFailureOnWrongCredentials(String uri) { + @SuppressWarnings("deprecation") var config = Config.builder().withLogging(DEV_NULL_LOGGING).build(); var authToken = AuthTokens.basic("neo4j", "wrongSecret"); diff --git a/driver/src/test/java/org/neo4j/driver/integration/LoggingIT.java b/driver/src/test/java/org/neo4j/driver/integration/LoggingIT.java index 1197722d68..55401dce8e 100644 --- a/driver/src/test/java/org/neo4j/driver/integration/LoggingIT.java +++ b/driver/src/test/java/org/neo4j/driver/integration/LoggingIT.java @@ -37,6 +37,7 @@ class LoggingIT { @RegisterExtension static final DatabaseExtension neo4j = new DatabaseExtension(); + @SuppressWarnings("deprecation") @Test void logShouldRecordDebugAndTraceInfo() { // Given diff --git a/driver/src/test/java/org/neo4j/driver/integration/ResolverIT.java b/driver/src/test/java/org/neo4j/driver/integration/ResolverIT.java index 2523519fef..d7de6548b0 100644 --- a/driver/src/test/java/org/neo4j/driver/integration/ResolverIT.java +++ b/driver/src/test/java/org/neo4j/driver/integration/ResolverIT.java @@ -22,11 +22,11 @@ import static org.mockito.Mockito.mock; import static org.mockito.Mockito.verify; import static org.mockito.Mockito.when; -import static org.neo4j.driver.Logging.none; import org.junit.jupiter.api.Test; import org.neo4j.driver.Config; import org.neo4j.driver.GraphDatabase; +import org.neo4j.driver.Logging; import org.neo4j.driver.net.ServerAddress; import org.neo4j.driver.net.ServerAddressResolver; @@ -36,9 +36,10 @@ void shouldFailInitialDiscoveryWhenConfiguredResolverThrows() { var resolver = mock(ServerAddressResolver.class); when(resolver.resolve(any(ServerAddress.class))).thenThrow(new RuntimeException("Resolution failure!")); + @SuppressWarnings("deprecation") var config = Config.builder() .withoutEncryption() - .withLogging(none()) + .withLogging(Logging.none()) .withResolver(resolver) .build(); @SuppressWarnings("resource") diff --git a/driver/src/test/java/org/neo4j/driver/integration/SessionIT.java b/driver/src/test/java/org/neo4j/driver/integration/SessionIT.java index 1bc382e33d..c77e27ceba 100644 --- a/driver/src/test/java/org/neo4j/driver/integration/SessionIT.java +++ b/driver/src/test/java/org/neo4j/driver/integration/SessionIT.java @@ -643,7 +643,6 @@ void shouldConsumePreviousResultBeforeRunningNewQuery() { } @Test - @SuppressWarnings("deprecation") void shouldNotRetryOnConnectionAcquisitionTimeout() { var maxPoolSize = 3; var config = Config.builder() @@ -779,6 +778,7 @@ void shouldBeResponsiveToThreadInterruptWhenWaitingForResult() { @Test void shouldAllowLongRunningQueryWithConnectTimeout() throws Exception { var connectionTimeoutMs = 3_000; + @SuppressWarnings("deprecation") var config = Config.builder() .withLogging(DEV_NULL_LOGGING) .withConnectionTimeout(connectionTimeoutMs, TimeUnit.MILLISECONDS) @@ -1191,6 +1191,7 @@ private Driver newDriverWithFixedRetries(int maxRetriesCount) { } private Driver newDriverWithLimitedRetries(int maxTxRetryTime) { + @SuppressWarnings("deprecation") var config = Config.builder() .withLogging(DEV_NULL_LOGGING) .withMaxTransactionRetryTime(maxTxRetryTime, TimeUnit.SECONDS) @@ -1198,6 +1199,7 @@ private Driver newDriverWithLimitedRetries(int maxTxRetryTime) { return GraphDatabase.driver(neo4j.uri(), neo4j.authTokenManager(), config); } + @SuppressWarnings("deprecation") private static Config noLoggingConfig() { return Config.builder().withLogging(DEV_NULL_LOGGING).build(); } diff --git a/driver/src/test/java/org/neo4j/driver/integration/reactive/ReactiveStreamsSessionIT.java b/driver/src/test/java/org/neo4j/driver/integration/reactive/ReactiveStreamsSessionIT.java index 5495d706b1..177868cf4d 100644 --- a/driver/src/test/java/org/neo4j/driver/integration/reactive/ReactiveStreamsSessionIT.java +++ b/driver/src/test/java/org/neo4j/driver/integration/reactive/ReactiveStreamsSessionIT.java @@ -81,6 +81,7 @@ void shouldErrorWhenReactiveResultIsReturned(Function()); + @SuppressWarnings("deprecation") var config = Config.builder() .withDriverMetrics() .withLogging(LoggingUtil.boltLogging(messages)) diff --git a/driver/src/test/java/org/neo4j/driver/internal/DriverFactoryTest.java b/driver/src/test/java/org/neo4j/driver/internal/DriverFactoryTest.java index 7e226dd120..d85c9d1165 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/DriverFactoryTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/DriverFactoryTest.java @@ -118,6 +118,7 @@ void shouldNotCreateDriverMetrics() { @Test void shouldCreateDriverMetricsIfMonitoringEnabled() { // Given + @SuppressWarnings("deprecation") var config = Config.builder().withDriverMetrics().withLogging(Logging.none()).build(); // When @@ -129,6 +130,7 @@ void shouldCreateDriverMetricsIfMonitoringEnabled() { @Test void shouldCreateMicrometerDriverMetricsIfMonitoringEnabled() { // Given + @SuppressWarnings("deprecation") var config = Config.builder() .withDriverMetrics() .withMetricsAdapter(MetricsAdapter.MICROMETER) diff --git a/driver/src/test/java/org/neo4j/driver/internal/SessionFactoryImplTest.java b/driver/src/test/java/org/neo4j/driver/internal/SessionFactoryImplTest.java index 41002b0454..30400a8121 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/SessionFactoryImplTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/SessionFactoryImplTest.java @@ -35,6 +35,7 @@ class SessionFactoryImplTest { @Test void createsNetworkSessions() { + @SuppressWarnings("deprecation") var config = Config.builder().withLogging(DEV_NULL_LOGGING).build(); var factory = newSessionFactory(config); @@ -55,6 +56,7 @@ void createsNetworkSessions() { @Test void createsLeakLoggingNetworkSessions() { + @SuppressWarnings("deprecation") var config = Config.builder() .withLogging(DEV_NULL_LOGGING) .withLeakedSessionsLogging() diff --git a/driver/src/test/java/org/neo4j/driver/internal/async/LeakLoggingNetworkSessionTest.java b/driver/src/test/java/org/neo4j/driver/internal/async/LeakLoggingNetworkSessionTest.java index 86eb561c7c..693d98260a 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/async/LeakLoggingNetworkSessionTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/async/LeakLoggingNetworkSessionTest.java @@ -64,7 +64,9 @@ class LeakLoggingNetworkSessionTest { @Test void logsNothingDuringFinalizationIfClosed() throws Exception { + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var log = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(log); var connection = TestUtil.connectionMock(); @@ -98,7 +100,9 @@ public void handle(DriverResponseHandler handler) { @Test @SuppressWarnings("OptionalGetWithoutIsPresent") void logsMessageWithStacktraceDuringFinalizationIfLeaked(TestInfo testInfo) throws Exception { + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var log = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(log); var connection = TestUtil.connectionMock(); @@ -143,7 +147,8 @@ private static void finalize(NetworkSession session) throws Exception { finalizeMethod.invoke(session); } - private static LeakLoggingNetworkSession newSession(Logging logging, DriverBoltConnection connection) { + private static LeakLoggingNetworkSession newSession( + @SuppressWarnings("deprecation") Logging logging, DriverBoltConnection connection) { return new LeakLoggingNetworkSession( BoltSecurityPlanManager.insecure(), connectionProviderMock(connection), diff --git a/driver/src/test/java/org/neo4j/driver/internal/async/UnmanagedTransactionTest.java b/driver/src/test/java/org/neo4j/driver/internal/async/UnmanagedTransactionTest.java index c20f9c0b03..24eaded0de 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/async/UnmanagedTransactionTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/async/UnmanagedTransactionTest.java @@ -321,6 +321,7 @@ public void handle(DriverResponseHandler handler) { })); given(connection.close()).willReturn(CompletableFuture.completedStage(null)); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -359,6 +360,7 @@ public void handle(DriverResponseHandler handler) { })); given(connection.close()).willReturn(CompletableFuture.completedStage(null)); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -384,6 +386,7 @@ void shouldReleaseConnectionWhenTerminatedAndCommitted() { var connection = connectionMock(); given(connection.close()).willReturn(CompletableFuture.completedStage(null)); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -412,6 +415,7 @@ void shouldNotCreateCircularExceptionWhenTerminationCauseEqualsToCursorFailure() var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); var resultCursorsHolder = mockResultCursorWith(terminationCause); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -439,6 +443,7 @@ void shouldNotCreateCircularExceptionWhenTerminationCauseDifferentFromCursorFail var terminationCause = new ClientException("Custom exception"); var resultCursorsHolder = mockResultCursorWith(new ClientException("Cursor error")); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -468,6 +473,7 @@ void shouldNotCreateCircularExceptionWhenTerminatedWithoutFailure() { given(connection.close()).willReturn(CompletableFuture.completedStage(null)); var terminationCause = new ClientException("Custom exception"); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -493,6 +499,7 @@ void shouldReleaseConnectionWhenTerminatedAndRolledBack() { var connection = connectionMock(); given(connection.close()).willReturn(CompletableFuture.completedStage(null)); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -528,6 +535,7 @@ public void handle(DriverResponseHandler handler) { })); given(connection.close()).willReturn(CompletableFuture.completedStage(null)); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -563,6 +571,7 @@ public void handle(DriverResponseHandler handler) { })); given(connection.close()).willReturn(CompletableFuture.completedStage(null)); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -601,6 +610,7 @@ public void handle(DriverResponseHandler handler) { })); given(connection.close()).willReturn(CompletableFuture.completedStage(null)); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -659,6 +669,7 @@ public void handle(DriverResponseHandler handler) {} })); given(connection.close()).willReturn(CompletableFuture.completedStage(null)); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -737,6 +748,7 @@ public void handle(DriverResponseHandler handler) { setupConnectionAnswers(connection, List.of(messageHandler)); given(connection.close()).willReturn(CompletableFuture.completedStage(null)); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -812,6 +824,7 @@ public void handle(DriverResponseHandler handler) { setupConnectionAnswers(connection, List.of(messageHandler)); given(connection.close()).willReturn(CompletableFuture.completedStage(null)); var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), @@ -1076,6 +1089,7 @@ private static UnmanagedTransaction beginTx(DriverBoltConnection connection) { private static UnmanagedTransaction beginTx(DriverBoltConnection connection, Set initialBookmarks) { var apiTelemetryWork = new ApiTelemetryWork(TelemetryApi.UNMANAGED_TRANSACTION); + @SuppressWarnings("deprecation") var tx = new UnmanagedTransaction( connection, DatabaseNameUtil.defaultDatabase(), diff --git a/driver/src/test/java/org/neo4j/driver/internal/cursor/RxResultCursorImplTest.java b/driver/src/test/java/org/neo4j/driver/internal/cursor/RxResultCursorImplTest.java index be01917746..2b18e6b7df 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/cursor/RxResultCursorImplTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/cursor/RxResultCursorImplTest.java @@ -68,6 +68,7 @@ void shouldNotifyRecordConsumerOfRunError(boolean getRunError) { // given var runError = mock(Throwable.class); given(connection.serverAddress()).willReturn(new BoltServerAddress("localhost")); + @SuppressWarnings("deprecation") var cursor = new RxResultCursorImpl(connection, query, null, runError, bookmarkConsumer, false, Logging.none()); if (getRunError) { assertEquals(runError, cursor.getRunError()); @@ -89,6 +90,7 @@ void shouldReturnSummaryWithRunError(boolean getRunError) { // given var runError = mock(Throwable.class); given(connection.serverAddress()).willReturn(new BoltServerAddress("localhost")); + @SuppressWarnings("deprecation") var cursor = new RxResultCursorImpl(connection, query, null, runError, bookmarkConsumer, false, Logging.none()); if (getRunError) { assertEquals(runError, cursor.getRunError()); @@ -107,6 +109,7 @@ void shouldReturnKeys() { // given var keys = List.of("a", "b"); given(runSummary.keys()).willReturn(keys); + @SuppressWarnings("deprecation") var cursor = new RxResultCursorImpl(connection, query, runSummary, null, bookmarkConsumer, false, Logging.none()); diff --git a/driver/src/test/java/org/neo4j/driver/internal/logging/PrefixedLoggerTest.java b/driver/src/test/java/org/neo4j/driver/internal/logging/PrefixedLoggerTest.java index d96205fc6b..484b0e2396 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/logging/PrefixedLoggerTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/logging/PrefixedLoggerTest.java @@ -215,10 +215,12 @@ void shouldDelegateTraceMessageWithPrefix() { verify(delegate).trace("Output Hello World!"); } + @SuppressWarnings("deprecation") private static Logger newLoggerMock() { return newLoggerMock(false, false); } + @SuppressWarnings("deprecation") private static Logger newLoggerMock(boolean debugEnabled, boolean traceEnabled) { var logger = mock(Logger.class); when(logger.isDebugEnabled()).thenReturn(debugEnabled); diff --git a/driver/src/test/java/org/neo4j/driver/internal/retry/ExponentialBackoffRetryLogicTest.java b/driver/src/test/java/org/neo4j/driver/internal/retry/ExponentialBackoffRetryLogicTest.java index c8f9ba55f8..a97a1ad9a9 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/retry/ExponentialBackoffRetryLogicTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/retry/ExponentialBackoffRetryLogicTest.java @@ -765,7 +765,9 @@ void doesNotCollectSuppressedErrorsWhenSameErrorIsThrownRx() { @Test void doesRetryOnClientExceptionWithRetryableCause() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); var logic = @@ -785,7 +787,9 @@ void doesRetryOnClientExceptionWithRetryableCause() { @Test void doesRetryOnAuthorizationExpiredException() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); var logic = @@ -805,7 +809,9 @@ void doesRetryOnAuthorizationExpiredException() { @Test void doesRetryOnConnectionReadTimeoutException() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); var logic = @@ -825,7 +831,9 @@ void doesRetryOnConnectionReadTimeoutException() { @Test void doesNotRetryOnRandomClientException() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(anyString())).thenReturn(logger); var logic = @@ -848,7 +856,9 @@ void doesNotRetryOnRandomClientException() { void eachRetryIsLogged() { var retries = 9; var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); var logic = new ExponentialBackoffRetryLogic( @@ -863,7 +873,9 @@ void eachRetryIsLogged() { @Test void doesRetryOnClientExceptionWithRetryableCauseAsync() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); @@ -884,7 +896,9 @@ void doesRetryOnClientExceptionWithRetryableCauseAsync() { @Test void doesRetryOnAuthorizationExpiredExceptionAsync() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); var logic = @@ -904,7 +918,9 @@ void doesRetryOnAuthorizationExpiredExceptionAsync() { @Test void doesNotRetryOnRandomClientExceptionAsync() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(anyString())).thenReturn(logger); @@ -929,7 +945,9 @@ void eachRetryIsLoggedAsync() { var result = "The Result"; var retries = 9; var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); @@ -947,7 +965,9 @@ void eachRetryIsLoggedAsync() { @Test void doesRetryOnClientExceptionWithRetryableCauseRx() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); @@ -968,7 +988,9 @@ void doesRetryOnClientExceptionWithRetryableCauseRx() { @Test void doesRetryOnAuthorizationExpiredExceptionRx() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); var logic = @@ -988,7 +1010,9 @@ void doesRetryOnAuthorizationExpiredExceptionRx() { @Test void doesRetryOnAsyncResourceCleanupRuntimeExceptionRx() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); var logic = @@ -1008,7 +1032,9 @@ void doesRetryOnAsyncResourceCleanupRuntimeExceptionRx() { @Test void doesNotRetryOnRandomClientExceptionRx() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(anyString())).thenReturn(logger); @@ -1033,7 +1059,9 @@ void eachRetryIsLoggedRx() { var result = "The Result"; var retries = 9; var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); @@ -1050,7 +1078,9 @@ void eachRetryIsLoggedRx() { @Test void nothingIsLoggedOnFatalFailure() { + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(anyString())).thenReturn(logger); var logic = new ExponentialBackoffRetryLogic( @@ -1067,7 +1097,9 @@ void nothingIsLoggedOnFatalFailure() { @Test void nothingIsLoggedOnFatalFailureAsync() { + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(anyString())).thenReturn(logger); var logic = new ExponentialBackoffRetryLogic( @@ -1083,7 +1115,9 @@ void nothingIsLoggedOnFatalFailureAsync() { @Test void nothingIsLoggedOnFatalFailureRx() { + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(anyString())).thenReturn(logger); var logic = new ExponentialBackoffRetryLogic( @@ -1099,7 +1133,9 @@ void nothingIsLoggedOnFatalFailureRx() { @Test void correctNumberOfRetiesAreLoggedOnFailure() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); var settings = RetrySettings.DEFAULT; @@ -1130,7 +1166,9 @@ public Long get() { @Test void correctNumberOfRetiesAreLoggedOnFailureAsync() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); var settings = RetrySettings.DEFAULT; @@ -1163,7 +1201,9 @@ public CompletionStage get() { @Test void correctNumberOfRetiesAreLoggedOnFailureRx() { var clock = mock(Clock.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); when(logging.getLog(any(Class.class))).thenReturn(logger); var settings = RetrySettings.DEFAULT; diff --git a/driver/src/test/java/org/neo4j/driver/internal/security/SSLContextManagerTest.java b/driver/src/test/java/org/neo4j/driver/internal/security/SSLContextManagerTest.java index 2e66b05631..d7398516b6 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/security/SSLContextManagerTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/security/SSLContextManagerTest.java @@ -53,7 +53,9 @@ void shouldErrorOnInitialNullCertificate() throws NoSuchAlgorithmException, KeyM var clientManager = mock(ClientCertificateManager.class); given(clientManager.getClientCertificate()).willReturn(CompletableFuture.completedStage(null)); var contextSupplier = mock(SecurityPlan.SSLContextSupplier.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); given(logging.getLog(any(Class.class))).willReturn(logger); manager = new SSLContextManager(clientManager, contextSupplier, logging); @@ -85,7 +87,9 @@ void shouldAllowNullCertificate() throws NoSuchAlgorithmException, KeyManagement var contextSupplier = mock(SecurityPlan.SSLContextSupplier.class); var keyManagers = new KeyManager[0]; given(contextSupplier.get(keyManagers)).willReturn(context); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); given(logging.getLog(any(Class.class))).willReturn(logger); manager = new ExtendedSSLContextManager(clientManager, contextSupplier, logging, ignored -> new KeyManager[0]); @@ -110,7 +114,9 @@ void shouldErrorOnCreatingKeyManagers() throws NoSuchAlgorithmException, KeyMana given(clientManager.getClientCertificate()) .willReturn(CompletableFuture.completedStage(certificate), CompletableFuture.completedStage(null)); var contextSupplier = mock(SecurityPlan.SSLContextSupplier.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); given(logging.getLog(any(Class.class))).willReturn(logger); Function keyManagersFunction = mock(Function.class); @@ -146,7 +152,9 @@ void shouldReplaceErrorWithValidContext() throws NoSuchAlgorithmException, KeyMa var context = mock(SSLContext.class); var contextSupplier = mock(SecurityPlan.SSLContextSupplier.class); given(contextSupplier.get(any())).willReturn(context); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); given(logging.getLog(any(Class.class))).willReturn(logger); Function keyManagersFunction = mock(Function.class); @@ -182,7 +190,9 @@ void shouldAcceptNullCertificateManager() throws NoSuchAlgorithmException, KeyMa var contextSupplier = mock(SecurityPlan.SSLContextSupplier.class); var keyManagers = new KeyManager[0]; given(contextSupplier.get(keyManagers)).willReturn(context); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); given(logging.getLog(any(Class.class))).willReturn(logger); manager = new SSLContextManager(null, contextSupplier, logging); @@ -199,7 +209,7 @@ private static class ExtendedSSLContextManager extends SSLContextManager { public ExtendedSSLContextManager( ClientCertificateManager clientCertificateManager, SecurityPlan.SSLContextSupplier sslContextSupplier, - Logging logging, + @SuppressWarnings("deprecation") Logging logging, Function keyManagersFunction) throws NoSuchAlgorithmException, KeyManagementException { super(clientCertificateManager, sslContextSupplier, logging); diff --git a/driver/src/test/java/org/neo4j/driver/internal/security/SSLContextManagerTests.java b/driver/src/test/java/org/neo4j/driver/internal/security/SSLContextManagerTests.java index 7b4fc69b11..fdee4ed045 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/security/SSLContextManagerTests.java +++ b/driver/src/test/java/org/neo4j/driver/internal/security/SSLContextManagerTests.java @@ -53,7 +53,9 @@ void shouldErrorOnInitialNullCertificate() throws NoSuchAlgorithmException, KeyM var clientManager = mock(ClientCertificateManager.class); given(clientManager.getClientCertificate()).willReturn(CompletableFuture.completedStage(null)); var contextSupplier = mock(SecurityPlan.SSLContextSupplier.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); given(logging.getLog(any(Class.class))).willReturn(logger); manager = new SSLContextManager(clientManager, contextSupplier, logging); @@ -85,7 +87,9 @@ void shouldAllowNullCertificate() throws NoSuchAlgorithmException, KeyManagement var contextSupplier = mock(SecurityPlan.SSLContextSupplier.class); var keyManagers = new KeyManager[0]; given(contextSupplier.get(keyManagers)).willReturn(context); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); given(logging.getLog(any(Class.class))).willReturn(logger); manager = new ExtendedSSLContextManager(clientManager, contextSupplier, logging, ignored -> new KeyManager[0]); @@ -110,7 +114,9 @@ void shouldErrorOnCreatingKeyManagers() throws NoSuchAlgorithmException, KeyMana given(clientManager.getClientCertificate()) .willReturn(CompletableFuture.completedStage(certificate), CompletableFuture.completedStage(null)); var contextSupplier = mock(SecurityPlan.SSLContextSupplier.class); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); given(logging.getLog(any(Class.class))).willReturn(logger); Function keyManagersFunction = mock(Function.class); @@ -146,7 +152,9 @@ void shouldReplaceErrorWithValidContext() throws NoSuchAlgorithmException, KeyMa var context = mock(SSLContext.class); var contextSupplier = mock(SecurityPlan.SSLContextSupplier.class); given(contextSupplier.get(any())).willReturn(context); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); given(logging.getLog(any(Class.class))).willReturn(logger); Function keyManagersFunction = mock(Function.class); @@ -182,7 +190,9 @@ void shouldAcceptNullCertificateManager() throws NoSuchAlgorithmException, KeyMa var contextSupplier = mock(SecurityPlan.SSLContextSupplier.class); var keyManagers = new KeyManager[0]; given(contextSupplier.get(keyManagers)).willReturn(context); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var logger = mock(Logger.class); given(logging.getLog(any(Class.class))).willReturn(logger); manager = new SSLContextManager(null, contextSupplier, logging); @@ -199,7 +209,7 @@ private static class ExtendedSSLContextManager extends SSLContextManager { public ExtendedSSLContextManager( ClientCertificateManager clientCertificateManager, SecurityPlan.SSLContextSupplier sslContextSupplier, - Logging logging, + @SuppressWarnings("deprecation") Logging logging, Function keyManagersFunction) throws NoSuchAlgorithmException, KeyManagementException { super(clientCertificateManager, sslContextSupplier, logging); diff --git a/driver/src/test/java/org/neo4j/driver/internal/security/SecurityPlansTest.java b/driver/src/test/java/org/neo4j/driver/internal/security/SecurityPlansTest.java index 39d4f4c4f9..3e9a2b715c 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/security/SecurityPlansTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/security/SecurityPlansTest.java @@ -54,6 +54,7 @@ private static Stream allSecureSchemes() { void testEncryptionSchemeEnablesEncryption(String scheme) { var securitySettings = new SecuritySettings.SecuritySettingsBuilder().build(); + @SuppressWarnings("deprecation") var securityPlan = SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none()); assertTrue(securityPlan.requiresEncryption()); @@ -64,6 +65,7 @@ void testEncryptionSchemeEnablesEncryption(String scheme) { void testSystemCertCompatibleConfiguration(String scheme) { var securitySettings = new SecuritySettings.SecuritySettingsBuilder().build(); + @SuppressWarnings("deprecation") var securityPlan = SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none()); assertTrue(securityPlan.requiresEncryption()); @@ -76,6 +78,7 @@ void testSystemCertCompatibleConfiguration(String scheme) { void testSelfSignedCertConfigDisablesHostnameVerification(String scheme) { var securitySettings = new SecuritySettings.SecuritySettingsBuilder().build(); + @SuppressWarnings("deprecation") var securityPlan = SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none()); assertTrue(securityPlan.requiresEncryption()); @@ -88,6 +91,7 @@ void testThrowsOnUserCustomizedEncryption(String scheme) { var securitySettings = new SecuritySettings.SecuritySettingsBuilder().withEncryption().build(); + @SuppressWarnings("deprecation") var ex = assertThrows( ClientException.class, () -> SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none())); @@ -104,6 +108,7 @@ void testThrowsOnUserCustomizedTrustConfiguration(String scheme) { .withTrustStrategy(Config.TrustStrategy.trustAllCertificates()) .build(); + @SuppressWarnings("deprecation") var ex = assertThrows( ClientException.class, () -> SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none())); @@ -121,6 +126,7 @@ void testThrowsOnUserCustomizedTrustConfigurationAndEncryption(String scheme) { .withEncryption() .build(); + @SuppressWarnings("deprecation") var ex = assertThrows( ClientException.class, () -> SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none())); @@ -135,6 +141,7 @@ void testThrowsOnUserCustomizedTrustConfigurationAndEncryption(String scheme) { void testNoEncryption(String scheme) { var securitySettings = new SecuritySettings.SecuritySettingsBuilder().build(); + @SuppressWarnings("deprecation") var securityPlan = SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none()); assertFalse(securityPlan.requiresEncryption()); @@ -146,6 +153,7 @@ void testConfiguredEncryption(String scheme) { var securitySettings = new SecuritySettings.SecuritySettingsBuilder().withEncryption().build(); + @SuppressWarnings("deprecation") var securityPlan = SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none()); assertTrue(securityPlan.requiresEncryption()); @@ -159,6 +167,7 @@ void testConfiguredAllCertificates(String scheme) { .withTrustStrategy(Config.TrustStrategy.trustAllCertificates()) .build(); + @SuppressWarnings("deprecation") var securityPlan = SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none()); assertTrue(securityPlan.requiresEncryption()); @@ -173,6 +182,7 @@ void testConfigureStrictRevocationChecking(String scheme) { .withEncryption() .build(); + @SuppressWarnings("deprecation") var securityPlan = SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none()); assertEquals(STRICT, securityPlan.revocationCheckingStrategy()); @@ -187,6 +197,7 @@ void testConfigureVerifyIfPresentRevocationChecking(String scheme) { .withEncryption() .build(); + @SuppressWarnings("deprecation") var securityPlan = SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none()); assertEquals(VERIFY_IF_PRESENT, securityPlan.revocationCheckingStrategy()); @@ -200,6 +211,7 @@ void testRevocationCheckingDisabledByDefault(String scheme) { .withEncryption() .build(); + @SuppressWarnings("deprecation") var securityPlan = SecurityPlans.createSecurityPlan(securitySettings, scheme, null, Logging.none()); assertEquals(NO_CHECKS, securityPlan.revocationCheckingStrategy()); diff --git a/driver/src/test/java/org/neo4j/driver/internal/security/ValidatingAuthTokenManagerTest.java b/driver/src/test/java/org/neo4j/driver/internal/security/ValidatingAuthTokenManagerTest.java index 042f4c0ad7..c6c4b23525 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/security/ValidatingAuthTokenManagerTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/security/ValidatingAuthTokenManagerTest.java @@ -42,6 +42,7 @@ void shouldReturnFailedStageOnInvalidAuthTokenType() { // given var delegateManager = mock(AuthTokenManager.class); given(delegateManager.getToken()).willReturn(completedFuture(null)); + @SuppressWarnings("deprecation") var manager = new ValidatingAuthTokenManager(delegateManager, Logging.none()); // when @@ -59,6 +60,7 @@ void shouldReturnHandleAndWrapDelegateFailure() { var delegateManager = mock(AuthTokenManager.class); var exception = mock(RuntimeException.class); given(delegateManager.getToken()).willThrow(exception); + @SuppressWarnings("deprecation") var manager = new ValidatingAuthTokenManager(delegateManager, Logging.none()); // when @@ -75,6 +77,7 @@ void shouldReturnHandleNullTokenStage() { // given var delegateManager = mock(AuthTokenManager.class); given(delegateManager.getToken()).willReturn(null); + @SuppressWarnings("deprecation") var manager = new ValidatingAuthTokenManager(delegateManager, Logging.none()); // when @@ -92,6 +95,7 @@ void shouldPassOriginalToken() { var delegateManager = mock(AuthTokenManager.class); var token = AuthTokens.none(); given(delegateManager.getToken()).willReturn(completedFuture(token)); + @SuppressWarnings("deprecation") var manager = new ValidatingAuthTokenManager(delegateManager, Logging.none()); // when @@ -105,6 +109,7 @@ void shouldPassOriginalToken() { void shouldRejectNullAuthTokenOnHandleSecurityException() { // given var delegateManager = mock(AuthTokenManager.class); + @SuppressWarnings("deprecation") var manager = new ValidatingAuthTokenManager(delegateManager, Logging.none()); // when & then @@ -117,6 +122,7 @@ void shouldRejectNullAuthTokenOnHandleSecurityException() { void shouldRejectNullExceptionOnHandleSecurityException() { // given var delegateManager = mock(AuthTokenManager.class); + @SuppressWarnings("deprecation") var manager = new ValidatingAuthTokenManager(delegateManager, Logging.none()); // when & then @@ -128,6 +134,7 @@ void shouldRejectNullExceptionOnHandleSecurityException() { void shouldPassOriginalTokenAndExceptionOnHandleSecurityException() { // given var delegateManager = mock(AuthTokenManager.class); + @SuppressWarnings("deprecation") var manager = new ValidatingAuthTokenManager(delegateManager, Logging.none()); var token = AuthTokens.none(); var exception = mock(SecurityException.class); @@ -147,7 +154,9 @@ void shouldLogWhenDelegateHandleSecurityExceptionFails() { var securityException = mock(SecurityException.class); var exception = mock(RuntimeException.class); willThrow(exception).given(delegateManager).handleSecurityException(token, securityException); + @SuppressWarnings("deprecation") var logging = mock(Logging.class); + @SuppressWarnings("deprecation") var log = mock(Logger.class); given(logging.getLog(ValidatingAuthTokenManager.class)).willReturn(log); var manager = new ValidatingAuthTokenManager(delegateManager, logging); diff --git a/driver/src/test/java/org/neo4j/driver/internal/util/DriverFactoryWithFixedRetryLogic.java b/driver/src/test/java/org/neo4j/driver/internal/util/DriverFactoryWithFixedRetryLogic.java index 9021bd2603..8db88869e2 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/util/DriverFactoryWithFixedRetryLogic.java +++ b/driver/src/test/java/org/neo4j/driver/internal/util/DriverFactoryWithFixedRetryLogic.java @@ -30,7 +30,9 @@ public DriverFactoryWithFixedRetryLogic(int retryCount) { @Override protected RetryLogic createRetryLogic( - long maxTransactionRetryTime, EventExecutorGroup eventExecutorGroup, Logging logging) { + long maxTransactionRetryTime, + EventExecutorGroup eventExecutorGroup, + @SuppressWarnings("deprecation") Logging logging) { return new FixedRetryLogic(retryCount); } } diff --git a/driver/src/test/java/org/neo4j/driver/stress/AbstractStressTestBase.java b/driver/src/test/java/org/neo4j/driver/stress/AbstractStressTestBase.java index 40a6f7f4e8..5268731d2b 100644 --- a/driver/src/test/java/org/neo4j/driver/stress/AbstractStressTestBase.java +++ b/driver/src/test/java/org/neo4j/driver/stress/AbstractStressTestBase.java @@ -202,6 +202,7 @@ private void runStressTest(Function>> threadLauncher) throws T abstract Config.ConfigBuilder config(Config.ConfigBuilder builder); Config config() { + @SuppressWarnings("deprecation") var builder = Config.builder() .withLogging(logging) .withMaxConnectionPoolSize(100) @@ -689,6 +690,7 @@ private static CompletionStage safeCloseSession(AsyncSession session, T r private record ResourcesInfo(long openFileDescriptorCount, Set acquiredLoggerNames) {} + @SuppressWarnings("deprecation") private static class LoggerNameTrackingLogging implements Logging { @Serial private static final long serialVersionUID = -1100018645191686024L; diff --git a/driver/src/test/java/org/neo4j/driver/testutil/LoggingUtil.java b/driver/src/test/java/org/neo4j/driver/testutil/LoggingUtil.java index 2923c0982a..eab8eea64d 100644 --- a/driver/src/test/java/org/neo4j/driver/testutil/LoggingUtil.java +++ b/driver/src/test/java/org/neo4j/driver/testutil/LoggingUtil.java @@ -27,6 +27,7 @@ import org.neo4j.driver.Logging; public class LoggingUtil { + @SuppressWarnings("deprecation") public static Logging boltLogging(List messages) { var logging = mock(Logging.class); var accumulatingLogger = mock(Logger.class); diff --git a/pom.xml b/pom.xml index d0a4c0b8e1..65484b85f2 100644 --- a/pom.xml +++ b/pom.xml @@ -41,7 +41,7 @@ 2023.0.17 - 1.7.36 + 2.0.17 3.0 5.17.0 5.12.2 @@ -53,7 +53,7 @@ 1.18.0 1.80 - 1.2.13 + 1.5.18 2.19.0 1.18.38 24.2.1 diff --git a/testkit-backend/src/main/java/neo4j/org/testkit/backend/Runner.java b/testkit-backend/src/main/java/neo4j/org/testkit/backend/Runner.java index ae3c02e7d8..83c477eca6 100644 --- a/testkit-backend/src/main/java/neo4j/org/testkit/backend/Runner.java +++ b/testkit-backend/src/main/java/neo4j/org/testkit/backend/Runner.java @@ -33,6 +33,7 @@ public class Runner { public static void main(String[] args) throws InterruptedException { var backendMode = getBackendMode(args); var levelString = System.getenv("TESTKIT_BACKEND_LOGGING_LEVEL"); + @SuppressWarnings("deprecation") var logging = levelString == null || levelString.isEmpty() ? Logging.none() : Logging.console(Level.parse(levelString)); diff --git a/testkit-backend/src/main/java/neo4j/org/testkit/backend/TestkitState.java b/testkit-backend/src/main/java/neo4j/org/testkit/backend/TestkitState.java index cc6435d862..ead67ae590 100644 --- a/testkit-backend/src/main/java/neo4j/org/testkit/backend/TestkitState.java +++ b/testkit-backend/src/main/java/neo4j/org/testkit/backend/TestkitState.java @@ -74,7 +74,10 @@ public class TestkitState { private final Map transactionIdToReactiveTransactionStreamsHolder = new HashMap<>(); private final Map bookmarkManagerIdToBookmarkManager = new HashMap<>(); + + @SuppressWarnings("deprecation") private final Logging logging; + private final Map authProviderIdToAuthProvider = new HashMap<>(); private final Map managerIdToClientCertificateManager = new HashMap<>(); @@ -89,7 +92,7 @@ public class TestkitState { @Getter private final Map> callbackIdToFuture = new HashMap<>(); - public TestkitState(Consumer responseWriter, Logging logging) { + public TestkitState(Consumer responseWriter, @SuppressWarnings("deprecation") Logging logging) { this.responseWriter = responseWriter; this.logging = logging; } @@ -216,6 +219,7 @@ public void removeBookmarkManager(String id) { } } + @SuppressWarnings("deprecation") public Logging getLogging() { return logging; } diff --git a/testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitRequestProcessorHandler.java b/testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitRequestProcessorHandler.java index bc5d0e0626..92dcbf3f2c 100644 --- a/testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitRequestProcessorHandler.java +++ b/testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitRequestProcessorHandler.java @@ -50,7 +50,9 @@ public class TestkitRequestProcessorHandler extends ChannelInboundHandlerAdapter private Channel channel; public TestkitRequestProcessorHandler( - BackendMode backendMode, Logging logging, ResponseQueueHanlder responseQueueHanlder) { + BackendMode backendMode, + @SuppressWarnings("deprecation") Logging logging, + ResponseQueueHanlder responseQueueHanlder) { switch (backendMode) { case ASYNC -> processorImpl = TestkitRequest::processAsync; case REACTIVE -> processorImpl = diff --git a/testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitRequestResponseMapperHandler.java b/testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitRequestResponseMapperHandler.java index 945fd033fd..1f0227e4eb 100644 --- a/testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitRequestResponseMapperHandler.java +++ b/testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitRequestResponseMapperHandler.java @@ -29,11 +29,14 @@ import org.neo4j.driver.Logging; public class TestkitRequestResponseMapperHandler extends ChannelDuplexHandler { + @SuppressWarnings("deprecation") private final Logger log; + private final ObjectMapper objectMapper = newObjectMapper(); private final ResponseQueueHanlder responseQueueHanlder; - public TestkitRequestResponseMapperHandler(Logging logging, ResponseQueueHanlder responseQueueHanlder) { + public TestkitRequestResponseMapperHandler( + @SuppressWarnings("deprecation") Logging logging, ResponseQueueHanlder responseQueueHanlder) { log = logging.getLog(getClass()); this.responseQueueHanlder = responseQueueHanlder; } diff --git a/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/NewDriver.java b/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/NewDriver.java index d8d9a0625d..23615d70b8 100644 --- a/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/NewDriver.java +++ b/testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/NewDriver.java @@ -67,6 +67,7 @@ public class NewDriver implements TestkitRequest { private NewDriverBody data; + @SuppressWarnings("deprecation") @Override public TestkitResponse process(TestkitState testkitState) { var id = testkitState.newId(); @@ -226,6 +227,7 @@ private org.neo4j.driver.Driver driver( TestkitState testkitState, String driverId) { var securitySettings = securitySettingsBuilder.build(); + @SuppressWarnings("deprecation") var securityPlan = SecurityPlans.createSecurityPlan( securitySettings, uri.getScheme(), clientCertificateManager, config.logging()); return new DriverFactoryWithDomainNameResolver(domainNameResolver, testkitState, driverId)