From b1033340704a701d6595d7abd591223a6a39e6ac Mon Sep 17 00:00:00 2001 From: Dmitriy Tverdiakov Date: Mon, 7 Jul 2025 15:42:52 +0100 Subject: [PATCH] feat(gql-status-object): make GQL Status Object GA This update makes GQL Status Object GA and deprecates Notification. --- .../src/main/java/org/neo4j/driver/Config.java | 16 +++++++++++----- .../org/neo4j/driver/NotificationCategory.java | 2 ++ .../neo4j/driver/NotificationClassification.java | 5 ++--- .../org/neo4j/driver/NotificationConfig.java | 8 +++++++- .../org/neo4j/driver/NotificationSeverity.java | 2 -- .../java/org/neo4j/driver/SessionConfig.java | 16 +++++++++++----- .../driver/internal/GqlNotificationConfig.java | 2 +- .../internal/InternalNotificationConfig.java | 1 + .../internal/NotificationConfigMapper.java | 1 + .../driver/internal/SessionFactoryImpl.java | 3 ++- .../async/LeakLoggingNetworkSession.java | 2 +- .../driver/internal/async/NetworkSession.java | 2 +- .../internal/summary/InternalNotification.java | 1 + .../internal/summary/InternalResultSummary.java | 6 +++++- .../driver/internal/util/MetadataExtractor.java | 3 +++ .../neo4j/driver/summary/GqlNotification.java | 7 ++++--- .../neo4j/driver/summary/GqlStatusObject.java | 8 +++++--- .../org/neo4j/driver/summary/Notification.java | 2 ++ .../org/neo4j/driver/summary/ResultSummary.java | 4 ++-- .../java/org/neo4j/driver/ParametersTest.java | 1 + .../java/org/neo4j/driver/SessionConfigTest.java | 1 + .../org/neo4j/driver/integration/SummaryIT.java | 2 ++ .../driver/integration/async/AsyncSessionIT.java | 3 +++ .../integration/async/AsyncTransactionIT.java | 3 +++ .../async/LeakLoggingNetworkSessionTest.java | 1 + .../summary/InternalNotificationTest.java | 3 ++- .../internal/util/MetadataExtractorTest.java | 1 + .../java/org/neo4j/driver/testutil/TestUtil.java | 1 + 28 files changed, 77 insertions(+), 30 deletions(-) diff --git a/driver/src/main/java/org/neo4j/driver/Config.java b/driver/src/main/java/org/neo4j/driver/Config.java index 19de307f93..a51c9d282c 100644 --- a/driver/src/main/java/org/neo4j/driver/Config.java +++ b/driver/src/main/java/org/neo4j/driver/Config.java @@ -40,7 +40,6 @@ import org.neo4j.driver.net.ServerAddressResolver; import org.neo4j.driver.util.Experimental; import org.neo4j.driver.util.Immutable; -import org.neo4j.driver.util.Preview; import org.neo4j.driver.util.Resource; /** @@ -144,6 +143,7 @@ public final class Config implements Serializable { /** * The notification config. */ + @SuppressWarnings("deprecation") private final NotificationConfig notificationConfig; /** * The {@link MetricsAdapter}. @@ -325,7 +325,10 @@ public long fetchSize() { * * @return the notification config * @since 5.7 + * @deprecated superseded by {@link Config#minimumNotificationSeverity()} and + * {@link Config#disabledNotificationClassifications()}. */ + @Deprecated public NotificationConfig notificationConfig() { return notificationConfig; } @@ -336,7 +339,6 @@ public NotificationConfig notificationConfig() { * @return an {@link Optional} of minimum {@link NotificationSeverity} or an empty {@link Optional} if it is not set * @since 5.22.0 */ - @Preview(name = "GQL-status object") public Optional minimumNotificationSeverity() { return Optional.ofNullable(((InternalNotificationConfig) notificationConfig).minimumSeverity()); } @@ -346,7 +348,6 @@ public Optional minimumNotificationSeverity() { * @return the {@link Set} of disabled {@link NotificationClassification} * @since 5.22.0 */ - @Preview(name = "GQL-status object") public Set disabledNotificationClassifications() { var disabledCategories = ((InternalNotificationConfig) notificationConfig).disabledCategories(); return disabledCategories != null @@ -428,6 +429,7 @@ public static final class ConfigBuilder { private long fetchSize = 1000; private int eventLoopThreads = 0; + @SuppressWarnings("deprecation") private NotificationConfig notificationConfig = NotificationConfig.defaultConfig(); private boolean telemetryDisabled = false; @@ -824,7 +826,11 @@ public ConfigBuilder withUserAgent(String userAgent) { * @param notificationConfig the notification config * @return this builder * @since 5.7 + * @deprecated superseded by {@link ConfigBuilder#withMinimumNotificationSeverity(NotificationSeverity)} and + * {@link ConfigBuilder#withDisabledNotificationClassifications(Set)}. */ + @SuppressWarnings("DeprecatedIsStillUsed") + @Deprecated public ConfigBuilder withNotificationConfig(NotificationConfig notificationConfig) { this.notificationConfig = Objects.requireNonNull(notificationConfig, "notificationConfig must not be null"); return this; @@ -837,7 +843,7 @@ public ConfigBuilder withNotificationConfig(NotificationConfig notificationConfi * @return this builder * @since 5.22.0 */ - @Preview(name = "GQL-status object") + @SuppressWarnings("deprecation") public ConfigBuilder withMinimumNotificationSeverity(NotificationSeverity minimumNotificationSeverity) { if (minimumNotificationSeverity == null) { notificationConfig = NotificationConfig.disableAllConfig(); @@ -854,7 +860,7 @@ public ConfigBuilder withMinimumNotificationSeverity(NotificationSeverity minimu * @return this builder * @since 5.22.0 */ - @Preview(name = "GQL-status object") + @SuppressWarnings("deprecation") public ConfigBuilder withDisabledNotificationClassifications( Set disabledNotificationClassifications) { var disabledCategories = disabledNotificationClassifications == null diff --git a/driver/src/main/java/org/neo4j/driver/NotificationCategory.java b/driver/src/main/java/org/neo4j/driver/NotificationCategory.java index 369afcb1a6..53114f748a 100644 --- a/driver/src/main/java/org/neo4j/driver/NotificationCategory.java +++ b/driver/src/main/java/org/neo4j/driver/NotificationCategory.java @@ -22,7 +22,9 @@ * Notification category. * * @since 5.7 + * @deprecated superseded by {@link NotificationClassification}. */ +@Deprecated public sealed interface NotificationCategory extends Serializable permits NotificationClassification { /** * A hint category. diff --git a/driver/src/main/java/org/neo4j/driver/NotificationClassification.java b/driver/src/main/java/org/neo4j/driver/NotificationClassification.java index bf517bfe5c..231953e106 100644 --- a/driver/src/main/java/org/neo4j/driver/NotificationClassification.java +++ b/driver/src/main/java/org/neo4j/driver/NotificationClassification.java @@ -16,14 +16,12 @@ */ package org.neo4j.driver; -import org.neo4j.driver.util.Preview; - /** * Notification classification. * * @since 5.22.0 */ -@Preview(name = "GQL-status object") +@SuppressWarnings("deprecation") public enum NotificationClassification implements NotificationCategory { /** * A hint category. @@ -94,6 +92,7 @@ public enum NotificationClassification implements NotificationCategory { *

* Please note that this category was added to a later server version. Therefore, a compatible server version is * required to use it. + * * @since 5.24.0 */ SCHEMA diff --git a/driver/src/main/java/org/neo4j/driver/NotificationConfig.java b/driver/src/main/java/org/neo4j/driver/NotificationConfig.java index 5224dfcc0f..f99bc5d01b 100644 --- a/driver/src/main/java/org/neo4j/driver/NotificationConfig.java +++ b/driver/src/main/java/org/neo4j/driver/NotificationConfig.java @@ -18,6 +18,7 @@ import java.io.Serializable; import java.util.Set; +import org.neo4j.driver.Config.ConfigBuilder; import org.neo4j.driver.internal.InternalNotificationConfig; import org.neo4j.driver.internal.InternalNotificationSeverity; import org.neo4j.driver.summary.ResultSummary; @@ -37,8 +38,13 @@ * * @since 5.7 * @see ResultSummary#notifications() - * @see org.neo4j.driver.summary.Notification + * @deprecated superseded by e org.neo4j.driver.summary.Notification + * {@link ConfigBuilder#withMinimumNotificationSeverity(NotificationSeverity)}, + * {@link ConfigBuilder#withDisabledNotificationClassifications(Set)}, + * {@link SessionConfig.Builder#withMinimumNotificationSeverity(NotificationSeverity)} and + * {@link SessionConfig.Builder#withDisabledNotificationClassifications(Set)}. */ +@Deprecated public sealed interface NotificationConfig extends Serializable permits InternalNotificationConfig { /** * Returns a default notification configuration. diff --git a/driver/src/main/java/org/neo4j/driver/NotificationSeverity.java b/driver/src/main/java/org/neo4j/driver/NotificationSeverity.java index d503142686..e5dc8159d4 100644 --- a/driver/src/main/java/org/neo4j/driver/NotificationSeverity.java +++ b/driver/src/main/java/org/neo4j/driver/NotificationSeverity.java @@ -21,7 +21,6 @@ import java.io.Serializable; import org.neo4j.driver.Config.ConfigBuilder; import org.neo4j.driver.internal.InternalNotificationSeverity; -import org.neo4j.driver.util.Preview; /** * Notification severity level. @@ -44,6 +43,5 @@ public sealed interface NotificationSeverity extends Serializable, Comparable bookmarkManager() { * Returns notification config. * @return the notification config * @since 5.7 + * @deprecated superseded by {@link SessionConfig#minimumNotificationSeverity()} and + * {@link SessionConfig#disabledNotificationClassifications()}. */ + @Deprecated public NotificationConfig notificationConfig() { return notificationConfig; } @@ -182,7 +185,6 @@ public NotificationConfig notificationConfig() { * @return an {@link Optional} of minimum {@link NotificationSeverity} or an empty {@link Optional} if it is not set * @since 5.22.0 */ - @Preview(name = "GQL-status object") public Optional minimumNotificationSeverity() { return Optional.ofNullable(((InternalNotificationConfig) notificationConfig).minimumSeverity()); } @@ -192,7 +194,6 @@ public Optional minimumNotificationSeverity() { * @return the {@link Set} of disabled {@link NotificationClassification} * @since 5.22.0 */ - @Preview(name = "GQL-status object") public Set disabledNotificationClassifications() { var disabledCategories = ((InternalNotificationConfig) notificationConfig).disabledCategories(); return disabledCategories != null @@ -247,6 +248,7 @@ public static final class Builder { private String impersonatedUser = null; private BookmarkManager bookmarkManager; + @SuppressWarnings("deprecation") private NotificationConfig notificationConfig = NotificationConfig.defaultConfig(); private Builder() {} @@ -428,7 +430,11 @@ public Builder withBookmarkManager(BookmarkManager bookmarkManager) { * @param notificationConfig the notification config * @return this builder * @since 5.7 + * @deprecated superseded by {@link SessionConfig.Builder#withMinimumNotificationSeverity(NotificationSeverity)} and + * {@link SessionConfig.Builder#withDisabledNotificationClassifications(Set)}. */ + @SuppressWarnings("DeprecatedIsStillUsed") + @Deprecated public Builder withNotificationConfig(NotificationConfig notificationConfig) { this.notificationConfig = Objects.requireNonNull(notificationConfig, "notificationConfig must not be null"); return this; @@ -441,7 +447,7 @@ public Builder withNotificationConfig(NotificationConfig notificationConfig) { * @return this builder * @since 5.22.0 */ - @Preview(name = "GQL-status object") + @SuppressWarnings("deprecation") public Builder withMinimumNotificationSeverity(NotificationSeverity minimumNotificationSeverity) { if (minimumNotificationSeverity == null) { notificationConfig = NotificationConfig.disableAllConfig(); @@ -458,7 +464,7 @@ public Builder withMinimumNotificationSeverity(NotificationSeverity minimumNotif * @return this builder * @since 5.22.0 */ - @Preview(name = "GQL-status object") + @SuppressWarnings("deprecation") public Builder withDisabledNotificationClassifications( Set disabledNotificationClassifications) { var disabledCategories = disabledNotificationClassifications == null diff --git a/driver/src/main/java/org/neo4j/driver/internal/GqlNotificationConfig.java b/driver/src/main/java/org/neo4j/driver/internal/GqlNotificationConfig.java index 2a7f888c55..4a24a90707 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/GqlNotificationConfig.java +++ b/driver/src/main/java/org/neo4j/driver/internal/GqlNotificationConfig.java @@ -29,7 +29,7 @@ public static GqlNotificationConfig defaultConfig() { return new GqlNotificationConfig(null, null); } - public static GqlNotificationConfig from(NotificationConfig notificationConfig) { + public static GqlNotificationConfig from(@SuppressWarnings("deprecation") NotificationConfig notificationConfig) { Objects.requireNonNull(notificationConfig); var config = (InternalNotificationConfig) notificationConfig; var disabledClassifications = config.disabledCategories() != null diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalNotificationConfig.java b/driver/src/main/java/org/neo4j/driver/internal/InternalNotificationConfig.java index ef85db7fb1..271045b5f8 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalNotificationConfig.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalNotificationConfig.java @@ -22,6 +22,7 @@ import org.neo4j.driver.NotificationConfig; import org.neo4j.driver.NotificationSeverity; +@SuppressWarnings("deprecation") public record InternalNotificationConfig( NotificationSeverity minimumSeverity, Set disabledCategories) implements NotificationConfig { diff --git a/driver/src/main/java/org/neo4j/driver/internal/NotificationConfigMapper.java b/driver/src/main/java/org/neo4j/driver/internal/NotificationConfigMapper.java index 33a3ed9a5b..4f7e47ada6 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/NotificationConfigMapper.java +++ b/driver/src/main/java/org/neo4j/driver/internal/NotificationConfigMapper.java @@ -22,6 +22,7 @@ import org.neo4j.bolt.connection.NotificationSeverity; import org.neo4j.driver.NotificationCategory; +@SuppressWarnings("deprecation") public class NotificationConfigMapper { public static NotificationConfig map(org.neo4j.driver.NotificationConfig config) { var original = (InternalNotificationConfig) config; 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 93cd290a4b..720fef697b 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/SessionFactoryImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/SessionFactoryImpl.java @@ -73,6 +73,7 @@ public class SessionFactoryImpl implements SessionFactory { this.homeDatabaseCache = Objects.requireNonNull(homeDatabaseCache); } + @SuppressWarnings("deprecation") @Override public NetworkSession newInstance( SessionConfig sessionConfig, AuthToken overrideAuthToken, boolean telemetryDisabled) { @@ -149,7 +150,7 @@ private NetworkSession createSession( String impersonatedUser, @SuppressWarnings("deprecation") Logging logging, BookmarkManager bookmarkManager, - NotificationConfig notificationConfig, + @SuppressWarnings("deprecation") NotificationConfig notificationConfig, AuthToken authToken, boolean telemetryDisabled, AuthTokenManager authTokenManager, 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 d9c574b7f4..05e4541d20 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( long fetchSize, @SuppressWarnings("deprecation") Logging logging, BookmarkManager bookmarkManager, - NotificationConfig notificationConfig, + @SuppressWarnings("deprecation") NotificationConfig notificationConfig, AuthToken overrideAuthToken, boolean telemetryDisabled, AuthTokenManager authTokenManager, 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 b3bf9b7f6b..cf37c34c27 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 @@ -123,7 +123,7 @@ public NetworkSession( long fetchSize, @SuppressWarnings("deprecation") Logging logging, BookmarkManager bookmarkManager, - org.neo4j.driver.NotificationConfig notificationConfig, + @SuppressWarnings("deprecation") org.neo4j.driver.NotificationConfig notificationConfig, AuthToken overrideAuthToken, boolean telemetryDisabled, AuthTokenManager authTokenManager, diff --git a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalNotification.java b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalNotification.java index f27dd14d2a..fbaf0c2ef8 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalNotification.java +++ b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalNotification.java @@ -24,6 +24,7 @@ import org.neo4j.driver.summary.InputPosition; import org.neo4j.driver.summary.Notification; +@SuppressWarnings("deprecation") public class InternalNotification implements Notification { public static Optional valueOf(String value) { return Arrays.stream(NotificationClassification.values()) diff --git a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalResultSummary.java b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalResultSummary.java index 96955167c6..80754a033b 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalResultSummary.java +++ b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalResultSummary.java @@ -38,7 +38,10 @@ public class InternalResultSummary implements ResultSummary { private final SummaryCounters counters; private final Plan plan; private final ProfiledPlan profile; + + @SuppressWarnings("deprecation") private final List notifications; + private final Set gqlStatusObjects; private final long resultAvailableAfter; private final long resultConsumedAfter; @@ -52,7 +55,7 @@ public InternalResultSummary( SummaryCounters counters, Plan plan, ProfiledPlan profile, - List notifications, + @SuppressWarnings("deprecation") List notifications, Set gqlStatusObjects, long resultAvailableAfter, long resultConsumedAfter) { @@ -104,6 +107,7 @@ public ProfiledPlan profile() { return profile; } + @SuppressWarnings("deprecation") @Override public List notifications() { return notifications; diff --git a/driver/src/main/java/org/neo4j/driver/internal/util/MetadataExtractor.java b/driver/src/main/java/org/neo4j/driver/internal/util/MetadataExtractor.java index 8f795203c3..4daa1ffb8f 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/util/MetadataExtractor.java +++ b/driver/src/main/java/org/neo4j/driver/internal/util/MetadataExtractor.java @@ -106,6 +106,7 @@ public ResultSummary extractSummary( connection.serverAgent(), connection.serverAddress(), connection.protocolVersion()); var dbInfo = extractDatabaseInfo(metadata); Set gqlStatusObjects; + @SuppressWarnings("deprecation") List notifications; if (legacyNotifications) { var gqlStatusObjectsAndNotifications = generateGqlStatusObjectsAndExtractNotifications(metadata) @@ -409,8 +410,10 @@ private static long extractResultConsumedAfter(Map metadata, Stri return -1; } + @SuppressWarnings("deprecation") private record GqlStatusObjectsAndNotifications( Set gqlStatusObjects, List notifications) {} + @SuppressWarnings("deprecation") private record GqlStatusObjectAndNotification(GqlStatusObject gqlStatusObject, Notification notification) {} } diff --git a/driver/src/main/java/org/neo4j/driver/summary/GqlNotification.java b/driver/src/main/java/org/neo4j/driver/summary/GqlNotification.java index 663439a1cd..86c618bb74 100644 --- a/driver/src/main/java/org/neo4j/driver/summary/GqlNotification.java +++ b/driver/src/main/java/org/neo4j/driver/summary/GqlNotification.java @@ -20,14 +20,13 @@ import org.neo4j.driver.NotificationClassification; import org.neo4j.driver.NotificationSeverity; import org.neo4j.driver.internal.summary.InternalGqlNotification; -import org.neo4j.driver.util.Preview; /** * A notification subtype of the {@link GqlStatusObject}. - * @since 5.28.8 + * * @see GqlStatusObject + * @since 5.28.8 */ -@Preview(name = "GQL-status object") public sealed interface GqlNotification extends GqlStatusObject permits InternalGqlNotification { /** @@ -58,6 +57,7 @@ public sealed interface GqlNotification extends GqlStatusObject permits Internal /** * Returns {@link NotificationClassification} derived from the diagnostic record. + * * @return an {@link Optional} of {@link NotificationClassification} or an empty {@link Optional} when the * classification is either absent or unrecognised * @see #diagnosticRecord() @@ -67,6 +67,7 @@ public sealed interface GqlNotification extends GqlStatusObject permits Internal /** * Returns notification classification from the diagnostic record as a {@link String} value retrieved directly from * the diagnostic record. + * * @return an {@link Optional} of notification classification or an empty {@link Optional} when it is absent * @see #diagnosticRecord() */ diff --git a/driver/src/main/java/org/neo4j/driver/summary/GqlStatusObject.java b/driver/src/main/java/org/neo4j/driver/summary/GqlStatusObject.java index 98a7aab78d..cc5d3dbe20 100644 --- a/driver/src/main/java/org/neo4j/driver/summary/GqlStatusObject.java +++ b/driver/src/main/java/org/neo4j/driver/summary/GqlStatusObject.java @@ -19,29 +19,31 @@ import java.util.Map; import org.neo4j.driver.Value; import org.neo4j.driver.internal.summary.InternalGqlStatusObject; -import org.neo4j.driver.util.Preview; /** * The GQL-status object as defined by the GQL standard. - * @since 5.22.0 + * * @see GqlNotification Notification subtype of the GQL-status object + * @since 5.22.0 */ -@Preview(name = "GQL-status object") public sealed interface GqlStatusObject permits GqlNotification, InternalGqlStatusObject { /** * Returns the GQLSTATUS as defined by the GQL standard. + * * @return the GQLSTATUS value */ String gqlStatus(); /** * The GQLSTATUS description. + * * @return the GQLSTATUS description */ String statusDescription(); /** * Returns the diagnostic record. + * * @return the diagnostic record */ Map diagnosticRecord(); diff --git a/driver/src/main/java/org/neo4j/driver/summary/Notification.java b/driver/src/main/java/org/neo4j/driver/summary/Notification.java index b14cba7431..a686862f35 100644 --- a/driver/src/main/java/org/neo4j/driver/summary/Notification.java +++ b/driver/src/main/java/org/neo4j/driver/summary/Notification.java @@ -26,7 +26,9 @@ *

* A notification can be visualized in a client pinpointing problems or other information about the query. * @since 1.0 + * @deprecated superseded by {@link GqlNotification}. */ +@Deprecated @Immutable public interface Notification { /** diff --git a/driver/src/main/java/org/neo4j/driver/summary/ResultSummary.java b/driver/src/main/java/org/neo4j/driver/summary/ResultSummary.java index 3f3c5c7ce5..d21ef5bc77 100644 --- a/driver/src/main/java/org/neo4j/driver/summary/ResultSummary.java +++ b/driver/src/main/java/org/neo4j/driver/summary/ResultSummary.java @@ -21,7 +21,6 @@ import java.util.concurrent.TimeUnit; import org.neo4j.driver.Query; import org.neo4j.driver.util.Immutable; -import org.neo4j.driver.util.Preview; /** * The result summary of running a query. The result summary interface can be used to investigate @@ -98,7 +97,9 @@ public interface ResultSummary { * * @return a list of notifications produced while executing the query. The list will be empty if no * notifications produced while executing the query. + * @deprecated superseded by {@link ResultSummary#gqlStatusObjects()}. */ + @Deprecated List notifications(); /** @@ -107,7 +108,6 @@ public interface ResultSummary { * @return the sequenced set of GQL-status objects * @since 5.22.0 */ - @Preview(name = "GQL-status object") Set gqlStatusObjects(); /** diff --git a/driver/src/test/java/org/neo4j/driver/ParametersTest.java b/driver/src/test/java/org/neo4j/driver/ParametersTest.java index ef59a81e52..ce7fdffca1 100644 --- a/driver/src/test/java/org/neo4j/driver/ParametersTest.java +++ b/driver/src/test/java/org/neo4j/driver/ParametersTest.java @@ -102,6 +102,7 @@ void shouldNotBePossibleToUseInvalidParametersViaRecord(Object obj, String expec private Session mockedSession() { var provider = mock(DriverBoltConnectionSource.class); var retryLogic = mock(RetryLogic.class); + @SuppressWarnings("deprecation") var session = new NetworkSession( provider, retryLogic, diff --git a/driver/src/test/java/org/neo4j/driver/SessionConfigTest.java b/driver/src/test/java/org/neo4j/driver/SessionConfigTest.java index 3ea86e1562..02e0eccac8 100644 --- a/driver/src/test/java/org/neo4j/driver/SessionConfigTest.java +++ b/driver/src/test/java/org/neo4j/driver/SessionConfigTest.java @@ -195,6 +195,7 @@ void shouldTwoConfigBeEqual() { assertEquals(config1, config2); } + @SuppressWarnings("deprecation") @Test void shouldSerialize() throws Exception { var bookmarks = Set.of( diff --git a/driver/src/test/java/org/neo4j/driver/integration/SummaryIT.java b/driver/src/test/java/org/neo4j/driver/integration/SummaryIT.java index bc49e7ca03..eded7ae074 100644 --- a/driver/src/test/java/org/neo4j/driver/integration/SummaryIT.java +++ b/driver/src/test/java/org/neo4j/driver/integration/SummaryIT.java @@ -235,6 +235,7 @@ void shouldContainNotifications() { session.run("EXPLAIN MATCH (n:ThisLabelDoesNotExist) RETURN n").consume(); // Then + @SuppressWarnings("deprecation") var notifications = summary.notifications(); assertNotNull(notifications); assertThat(notifications.size(), equalTo(1)); @@ -247,6 +248,7 @@ void shouldContainNotifications() { assertThat(notification.position(), notNullValue()); } + @SuppressWarnings("deprecation") @Test void shouldContainNoNotifications() { // When diff --git a/driver/src/test/java/org/neo4j/driver/integration/async/AsyncSessionIT.java b/driver/src/test/java/org/neo4j/driver/integration/async/AsyncSessionIT.java index 9f64ed4926..3c92be393a 100644 --- a/driver/src/test/java/org/neo4j/driver/integration/async/AsyncSessionIT.java +++ b/driver/src/test/java/org/neo4j/driver/integration/async/AsyncSessionIT.java @@ -234,6 +234,7 @@ void shouldExposeQueryKeysForColumnsWithoutAliases() { assertEquals(Arrays.asList("1", "2", "3", "5"), cursor.keys()); } + @SuppressWarnings("deprecation") @Test void shouldExposeResultSummaryForSimpleQuery() { var query = "CREATE (:Node {id: $id, name: $name})"; @@ -256,6 +257,7 @@ void shouldExposeResultSummaryForSimpleQuery() { assertThat(summary, containsResultAvailableAfterAndResultConsumedAfter()); } + @SuppressWarnings("deprecation") @Test void shouldExposeResultSummaryForExplainQuery() { var query = "EXPLAIN CREATE (),() WITH * MATCH (n)-->(m) CREATE (n)-[:HI {id: 'id'}]->(m) RETURN n, m"; @@ -281,6 +283,7 @@ void shouldExposeResultSummaryForExplainQuery() { assertThat(summary, containsResultAvailableAfterAndResultConsumedAfter()); } + @SuppressWarnings("deprecation") @Test void shouldExposeResultSummaryForProfileQuery() { var query = "PROFILE CREATE (:Node)-[:KNOWS]->(:Node) WITH * MATCH (n) RETURN n"; diff --git a/driver/src/test/java/org/neo4j/driver/integration/async/AsyncTransactionIT.java b/driver/src/test/java/org/neo4j/driver/integration/async/AsyncTransactionIT.java index 78bca1f394..8f217b1493 100644 --- a/driver/src/test/java/org/neo4j/driver/integration/async/AsyncTransactionIT.java +++ b/driver/src/test/java/org/neo4j/driver/integration/async/AsyncTransactionIT.java @@ -337,6 +337,7 @@ void shouldExposeQueryKeysForColumnsWithoutAliases() { assertEquals(Arrays.asList("1", "2", "3", "5"), cursor.keys()); } + @SuppressWarnings("deprecation") @Test void shouldExposeResultSummaryForSimpleQuery() { var query = "CREATE (p1:Person {name: $name1})-[:KNOWS]->(p2:Person {name: $name2}) RETURN p1, p2"; @@ -360,6 +361,7 @@ void shouldExposeResultSummaryForSimpleQuery() { assertThat(summary, containsResultAvailableAfterAndResultConsumedAfter()); } + @SuppressWarnings("deprecation") @Test void shouldExposeResultSummaryForExplainQuery() { var query = "EXPLAIN MATCH (n) RETURN n"; @@ -383,6 +385,7 @@ void shouldExposeResultSummaryForExplainQuery() { assertThat(summary, containsResultAvailableAfterAndResultConsumedAfter()); } + @SuppressWarnings("deprecation") @Test void shouldExposeResultSummaryForProfileQuery() { var query = "PROFILE MERGE (n {name: $name}) " + "ON CREATE SET n.created = timestamp() " 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 a7ef04c9cd..79217ffd02 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 @@ -146,6 +146,7 @@ private static void finalize(NetworkSession session) throws Exception { finalizeMethod.invoke(session); } + @SuppressWarnings("deprecation") private static LeakLoggingNetworkSession newSession( @SuppressWarnings("deprecation") Logging logging, DriverBoltConnection connection) { return new LeakLoggingNetworkSession( diff --git a/driver/src/test/java/org/neo4j/driver/internal/summary/InternalNotificationTest.java b/driver/src/test/java/org/neo4j/driver/internal/summary/InternalNotificationTest.java index cfd711d060..f90dab8c3e 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/summary/InternalNotificationTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/summary/InternalNotificationTest.java @@ -29,12 +29,13 @@ class InternalNotificationTest { @ParameterizedTest @MethodSource("shouldMapArgs") - void shouldMap(String value, NotificationCategory expectedNotificationCategory) { + void shouldMap(String value, @SuppressWarnings("deprecation") NotificationCategory expectedNotificationCategory) { var notificationCategory = InternalNotification.valueOf(value).orElse(null); assertEquals(expectedNotificationCategory, notificationCategory); } + @SuppressWarnings("deprecation") static Stream shouldMapArgs() { return Arrays.stream(NotificationClassification.values()) .map(notificationClassification -> switch (notificationClassification) { diff --git a/driver/src/test/java/org/neo4j/driver/internal/util/MetadataExtractorTest.java b/driver/src/test/java/org/neo4j/driver/internal/util/MetadataExtractorTest.java index b82822297e..50b5fa66ca 100644 --- a/driver/src/test/java/org/neo4j/driver/internal/util/MetadataExtractorTest.java +++ b/driver/src/test/java/org/neo4j/driver/internal/util/MetadataExtractorTest.java @@ -414,6 +414,7 @@ void shouldBuildResultSummaryWithGqlStatusObjects() { secondGqlStatusObject.diagnosticRecord()); } + @SuppressWarnings("deprecation") @Test void shouldBuildResultSummaryWithoutNotifications() { var summary = extractor.extractSummary(query(), connectionMock(), 42, emptyMap(), false, null); diff --git a/driver/src/test/java/org/neo4j/driver/testutil/TestUtil.java b/driver/src/test/java/org/neo4j/driver/testutil/TestUtil.java index 9b6c4f58cb..5d8155c195 100644 --- a/driver/src/test/java/org/neo4j/driver/testutil/TestUtil.java +++ b/driver/src/test/java/org/neo4j/driver/testutil/TestUtil.java @@ -211,6 +211,7 @@ public static NetworkSession newSession( return newSession(connectionProvider, mode, retryLogic, bookmarks, true); } + @SuppressWarnings("deprecation") public static NetworkSession newSession( DriverBoltConnectionSource connectionProvider, AccessMode mode,