From a9150b559aa82232c37a5e27cbf6048c5f04b3eb Mon Sep 17 00:00:00 2001 From: Dmitriy Tverdiakov Date: Fri, 7 Jul 2023 09:20:29 +0100 Subject: [PATCH] Update to using the local variable type inference --- .../main/java/org/neo4j/driver/Config.java | 10 +- .../main/java/org/neo4j/driver/Logging.java | 4 +- .../src/main/java/org/neo4j/driver/Query.java | 8 +- .../java/org/neo4j/driver/QueryConfig.java | 2 +- .../java/org/neo4j/driver/SessionConfig.java | 2 +- .../org/neo4j/driver/TransactionConfig.java | 4 +- .../main/java/org/neo4j/driver/Values.java | 54 ++++---- .../driver/internal/BoltServerAddress.java | 10 +- .../internal/DirectConnectionProvider.java | 3 +- .../neo4j/driver/internal/DriverFactory.java | 42 +++--- .../driver/internal/InternalBookmark.java | 6 +- .../driver/internal/InternalDatabaseName.java | 2 +- .../neo4j/driver/internal/InternalDriver.java | 2 +- .../neo4j/driver/internal/InternalEntity.java | 4 +- .../driver/internal/InternalIsoDuration.java | 6 +- .../neo4j/driver/internal/InternalPair.java | 4 +- .../neo4j/driver/internal/InternalPath.java | 16 +-- .../driver/internal/InternalPoint2D.java | 2 +- .../driver/internal/InternalPoint3D.java | 2 +- .../neo4j/driver/internal/InternalRecord.java | 14 +- .../neo4j/driver/internal/InternalResult.java | 7 +- .../internal/InternalRoutingControl.java | 2 +- .../driver/internal/InternalSession.java | 12 +- .../driver/internal/InternalTransaction.java | 3 +- .../internal/ResolvedBoltServerAddress.java | 4 +- .../driver/internal/SessionFactoryImpl.java | 8 +- .../internal/async/InternalAsyncSession.java | 14 +- .../async/LeakLoggingNetworkSession.java | 8 +- .../internal/async/NetworkConnection.java | 2 +- .../driver/internal/async/NetworkSession.java | 21 ++- .../internal/async/ResultCursorsHolder.java | 6 +- .../internal/async/UnmanagedTransaction.java | 14 +- .../async/connection/BoltProtocolUtil.java | 2 +- .../async/connection/BootstrapFactory.java | 2 +- .../async/connection/ChannelAttributes.java | 6 +- .../connection/ChannelConnectedListener.java | 6 +- .../connection/ChannelConnectorImpl.java | 14 +- .../ChannelPipelineBuilderImpl.java | 7 +- .../HandshakeCompletedListener.java | 2 +- .../async/connection/HandshakeHandler.java | 8 +- .../connection/NettyChannelInitializer.java | 14 +- .../async/inbound/ChannelErrorHandler.java | 4 +- .../internal/async/inbound/ChunkDecoder.java | 8 +- .../inbound/InboundMessageDispatcher.java | 14 +- .../async/inbound/InboundMessageHandler.java | 3 +- .../async/inbound/MessageDecoder.java | 4 +- .../outbound/ChunkAwareByteBufOutput.java | 10 +- .../outbound/OutboundMessageHandler.java | 3 +- .../async/pool/ConnectionPoolImpl.java | 34 +++-- .../async/pool/NettyChannelHealthChecker.java | 16 +-- .../internal/async/pool/NettyChannelPool.java | 10 +- .../async/pool/NettyChannelTracker.java | 17 ++- .../internal/cluster/ClusterComposition.java | 8 +- .../internal/cluster/ClusterRoutingTable.java | 6 +- .../MultiDatabasesRoutingProcedureRunner.java | 2 +- .../internal/cluster/RediscoveryImpl.java | 22 +-- .../RouteMessageRoutingProcedureRunner.java | 4 +- .../internal/cluster/RoutingContext.java | 14 +- ...ngProcedureClusterCompositionProvider.java | 9 +- .../cluster/RoutingTableHandlerImpl.java | 10 +- .../cluster/RoutingTableRegistryImpl.java | 31 +++-- .../SingleDatabaseRoutingProcedureRunner.java | 6 +- .../LeastConnectedLoadBalancingStrategy.java | 12 +- .../cluster/loadbalancing/LoadBalancer.java | 20 +-- .../cursor/AsyncResultCursorImpl.java | 6 +- .../handlers/HelloResponseHandler.java | 14 +- .../handlers/HelloV51ResponseHandler.java | 4 +- .../LegacyPullAllResponseHandler.java | 22 +-- .../internal/handlers/PullHandlers.java | 9 +- .../handlers/RouteMessageResponseHandler.java | 2 +- .../handlers/RoutingResponseHandler.java | 8 +- .../pulln/AutoPullResponseHandler.java | 16 +-- .../pulln/BasicPullResponseHandler.java | 2 +- .../logging/ChannelActivityLogger.java | 7 +- .../internal/logging/ConsoleLogging.java | 13 +- .../driver/internal/logging/NettyLogger.java | 2 +- .../messaging/AbstractMessageWriter.java | 4 +- .../messaging/BoltProtocolVersion.java | 14 +- .../messaging/common/CommonMessageReader.java | 14 +- .../messaging/common/CommonValuePacker.java | 38 +++--- .../messaging/common/CommonValueUnpacker.java | 125 +++++++++--------- .../messaging/encode/BeginMessageEncoder.java | 2 +- .../messaging/encode/HelloMessageEncoder.java | 2 +- .../messaging/encode/RouteMessageEncoder.java | 2 +- .../encode/RouteV44MessageEncoder.java | 2 +- .../encode/RunWithMetadataMessageEncoder.java | 2 +- .../request/AbstractStreamingMessage.java | 2 +- .../messaging/request/BeginMessage.java | 2 +- .../messaging/request/HelloMessage.java | 2 +- .../messaging/request/RouteMessage.java | 2 +- .../request/RunWithMetadataMessage.java | 4 +- .../request/TransactionMetadataBuilder.java | 16 +-- .../messaging/response/FailureMessage.java | 4 +- .../messaging/response/RecordMessage.java | 2 +- .../internal/messaging/v3/BoltProtocolV3.java | 29 ++-- .../internal/messaging/v4/BoltProtocolV4.java | 12 +- .../messaging/v41/BoltProtocolV41.java | 12 +- .../messaging/v5/ValueUnpackerV5.java | 62 ++++----- .../internal/metrics/InternalMetrics.java | 3 +- .../MicrometerConnectionPoolMetrics.java | 8 +- .../internal/metrics/MicrometerMetrics.java | 3 +- .../internal/packstream/PackStream.java | 46 +++---- .../reactive/AbstractReactiveSession.java | 8 +- .../reactive/BaseReactiveQueryRunner.java | 4 +- .../reactive/InternalReactiveResult.java | 2 +- .../reactive/InternalReactiveSession.java | 2 +- .../reactive/InternalReactiveTransaction.java | 2 +- .../internal/reactive/InternalRxResult.java | 6 +- .../internal/reactive/InternalRxSession.java | 4 +- .../reactive/InternalRxTransaction.java | 4 +- .../driver/internal/reactive/RxUtils.java | 4 +- .../BaseReactiveQueryRunner.java | 4 +- .../InternalReactiveResult.java | 2 +- .../InternalReactiveSession.java | 2 +- .../InternalReactiveTransaction.java | 2 +- .../retry/ExponentialBackoffRetryLogic.java | 51 ++++--- .../internal/security/InternalAuthToken.java | 2 +- .../internal/security/SecurityPlanImpl.java | 20 ++- .../internal/security/SecurityPlans.java | 8 +- .../summary/InternalDatabaseInfo.java | 2 +- .../summary/InternalInputPosition.java | 2 +- .../summary/InternalNotification.java | 8 +- .../driver/internal/summary/InternalPlan.java | 18 +-- .../summary/InternalResultSummary.java | 2 +- .../internal/summary/InternalServerInfo.java | 2 +- .../summary/InternalSummaryCounters.java | 4 +- .../internal/svm/MicrometerSubstitutions.java | 4 +- .../internal/types/TypeConstructor.java | 4 +- .../internal/types/TypeRepresentation.java | 2 +- .../driver/internal/util/CertificateTool.java | 22 +-- .../driver/internal/util/DriverInfoUtil.java | 2 +- .../neo4j/driver/internal/util/ErrorUtil.java | 16 +-- .../neo4j/driver/internal/util/Extract.java | 44 +++--- .../neo4j/driver/internal/util/Format.java | 5 +- .../neo4j/driver/internal/util/Futures.java | 10 +- .../neo4j/driver/internal/util/Iterables.java | 12 +- .../internal/util/MetadataExtractor.java | 36 ++--- .../neo4j/driver/internal/util/QueryKeys.java | 8 +- .../driver/internal/value/BooleanValue.java | 2 +- .../driver/internal/value/BytesValue.java | 6 +- .../driver/internal/value/FloatValue.java | 10 +- .../driver/internal/value/IntegerValue.java | 4 +- .../driver/internal/value/ListValue.java | 2 +- .../neo4j/driver/internal/value/MapValue.java | 4 +- .../internal/value/ObjectValueAdapter.java | 2 +- .../driver/internal/value/StringValue.java | 2 +- 146 files changed, 722 insertions(+), 785 deletions(-) diff --git a/driver/src/main/java/org/neo4j/driver/Config.java b/driver/src/main/java/org/neo4j/driver/Config.java index a77c81396b..063449f38d 100644 --- a/driver/src/main/java/org/neo4j/driver/Config.java +++ b/driver/src/main/java/org/neo4j/driver/Config.java @@ -492,7 +492,7 @@ public ConfigBuilder withMaxConnectionPoolSize(int value) { * @see #withMaxConnectionPoolSize(int) */ public ConfigBuilder withConnectionAcquisitionTimeout(long value, TimeUnit unit) { - long valueInMillis = unit.toMillis(value); + var valueInMillis = unit.toMillis(value); if (value >= 0) { this.connectionAcquisitionTimeoutMillis = valueInMillis; } else { @@ -557,7 +557,7 @@ public ConfigBuilder withTrustStrategy(TrustStrategy trustStrategy) { * @return this builder */ public ConfigBuilder withRoutingTablePurgeDelay(long delay, TimeUnit unit) { - long routingTablePurgeDelayMillis = unit.toMillis(delay); + var routingTablePurgeDelayMillis = unit.toMillis(delay); if (routingTablePurgeDelayMillis < 0) { throw new IllegalArgumentException(String.format( "The routing table purge delay may not be smaller than 0, but was %d %s.", delay, unit)); @@ -605,12 +605,12 @@ public ConfigBuilder withFetchSize(long size) { * converted to milliseconds. */ public ConfigBuilder withConnectionTimeout(long value, TimeUnit unit) { - long connectionTimeoutMillis = unit.toMillis(value); + var connectionTimeoutMillis = unit.toMillis(value); if (connectionTimeoutMillis < 0) { throw new IllegalArgumentException( String.format("The connection timeout may not be smaller than 0, but was %d %s.", value, unit)); } - int connectionTimeoutMillisInt = (int) connectionTimeoutMillis; + var connectionTimeoutMillisInt = (int) connectionTimeoutMillis; if (connectionTimeoutMillisInt != connectionTimeoutMillis) { throw new IllegalArgumentException(String.format( "The connection timeout must represent int value when converted to milliseconds %d.", @@ -633,7 +633,7 @@ public ConfigBuilder withConnectionTimeout(long value, TimeUnit unit) { * @throws IllegalArgumentException when given value is negative */ public ConfigBuilder withMaxTransactionRetryTime(long value, TimeUnit unit) { - long maxRetryTimeMs = unit.toMillis(value); + var maxRetryTimeMs = unit.toMillis(value); if (maxRetryTimeMs < 0) { throw new IllegalArgumentException( String.format("The max retry time may not be smaller than 0, but was %d %s.", value, unit)); diff --git a/driver/src/main/java/org/neo4j/driver/Logging.java b/driver/src/main/java/org/neo4j/driver/Logging.java index 44b3cadc06..177c5b8d25 100644 --- a/driver/src/main/java/org/neo4j/driver/Logging.java +++ b/driver/src/main/java/org/neo4j/driver/Logging.java @@ -92,7 +92,7 @@ public interface Logging { * @return {@link Logger} instance */ default Logger getLog(Class clazz) { - String canonicalName = clazz.getCanonicalName(); + var canonicalName = clazz.getCanonicalName(); return getLog(canonicalName != null ? canonicalName : clazz.getName()); } @@ -111,7 +111,7 @@ default Logger getLog(Class clazz) { * @throws IllegalStateException if SLF4J is not available. */ static Logging slf4j() { - RuntimeException unavailabilityError = Slf4jLogging.checkAvailability(); + var unavailabilityError = Slf4jLogging.checkAvailability(); if (unavailabilityError != null) { throw unavailabilityError; } diff --git a/driver/src/main/java/org/neo4j/driver/Query.java b/driver/src/main/java/org/neo4j/driver/Query.java index 915ff63d63..57acd2ba9f 100644 --- a/driver/src/main/java/org/neo4j/driver/Query.java +++ b/driver/src/main/java/org/neo4j/driver/Query.java @@ -134,8 +134,8 @@ public Query withUpdatedParameters(Value updates) { } else { Map newParameters = newHashMapWithSize(Math.max(parameters.size(), updates.size())); newParameters.putAll(parameters.asMap(ofValue())); - for (Map.Entry entry : updates.asMap(ofValue()).entrySet()) { - Value value = entry.getValue(); + for (var entry : updates.asMap(ofValue()).entrySet()) { + var value = entry.getValue(); if (value.isNull()) { newParameters.remove(entry.getKey()); } else { @@ -155,13 +155,13 @@ public boolean equals(Object o) { return false; } - Query query = (Query) o; + var query = (Query) o; return text.equals(query.text) && parameters.equals(query.parameters); } @Override public int hashCode() { - int result = text.hashCode(); + var result = text.hashCode(); result = 31 * result + parameters.hashCode(); return result; } diff --git a/driver/src/main/java/org/neo4j/driver/QueryConfig.java b/driver/src/main/java/org/neo4j/driver/QueryConfig.java index 5a0e13b00a..0239c527d8 100644 --- a/driver/src/main/java/org/neo4j/driver/QueryConfig.java +++ b/driver/src/main/java/org/neo4j/driver/QueryConfig.java @@ -125,7 +125,7 @@ public Optional bookmarkManager(BookmarkManager defaultBookmark public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - QueryConfig that = (QueryConfig) o; + var that = (QueryConfig) o; return useDefaultBookmarkManager == that.useDefaultBookmarkManager && routing == that.routing && Objects.equals(database, that.database) diff --git a/driver/src/main/java/org/neo4j/driver/SessionConfig.java b/driver/src/main/java/org/neo4j/driver/SessionConfig.java index 6dc8f1674f..99bcc6f0b9 100644 --- a/driver/src/main/java/org/neo4j/driver/SessionConfig.java +++ b/driver/src/main/java/org/neo4j/driver/SessionConfig.java @@ -182,7 +182,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - SessionConfig that = (SessionConfig) o; + var that = (SessionConfig) o; return Objects.equals(bookmarks, that.bookmarks) && defaultAccessMode == that.defaultAccessMode && Objects.equals(database, that.database) diff --git a/driver/src/main/java/org/neo4j/driver/TransactionConfig.java b/driver/src/main/java/org/neo4j/driver/TransactionConfig.java index 6829dcc67b..4a0e5480f3 100644 --- a/driver/src/main/java/org/neo4j/driver/TransactionConfig.java +++ b/driver/src/main/java/org/neo4j/driver/TransactionConfig.java @@ -119,7 +119,7 @@ public Duration timeout() { * @return metadata or empty map when it is not configured. */ public Map metadata() { - Map result = this.convertedMetadata; + var result = this.convertedMetadata; if (result == null) { synchronized (this) { result = this.convertedMetadata; @@ -149,7 +149,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - TransactionConfig that = (TransactionConfig) o; + var that = (TransactionConfig) o; return Objects.equals(timeout, that.timeout) && Objects.equals(metadata, that.metadata); } diff --git a/driver/src/main/java/org/neo4j/driver/Values.java b/driver/src/main/java/org/neo4j/driver/Values.java index 9bf1af6862..ccb2cc19ed 100644 --- a/driver/src/main/java/org/neo4j/driver/Values.java +++ b/driver/src/main/java/org/neo4j/driver/Values.java @@ -223,8 +223,8 @@ public static Value value(Object value) { * @return the array of values */ public static Value[] values(final Object... input) { - Value[] values = new Value[input.length]; - for (int i = 0; i < input.length; i++) { + var values = new Value[input.length]; + for (var i = 0; i < input.length; i++) { values[i] = value(input[i]); } return values; @@ -236,8 +236,8 @@ public static Value[] values(final Object... input) { * @return the value */ public static Value value(Value... input) { - int size = input.length; - Value[] values = new Value[size]; + var size = input.length; + var values = new Value[size]; System.arraycopy(input, 0, values, 0, size); return new ListValue(values); } @@ -257,8 +257,8 @@ public static Value value(byte... input) { * @return the value */ public static Value value(String... input) { - StringValue[] values = new StringValue[input.length]; - for (int i = 0; i < input.length; i++) { + var values = new StringValue[input.length]; + for (var i = 0; i < input.length; i++) { values[i] = new StringValue(input[i]); } return new ListValue(values); @@ -270,8 +270,8 @@ public static Value value(String... input) { * @return the value */ public static Value value(boolean... input) { - Value[] values = new Value[input.length]; - for (int i = 0; i < input.length; i++) { + var values = new Value[input.length]; + for (var i = 0; i < input.length; i++) { values[i] = value(input[i]); } return new ListValue(values); @@ -283,8 +283,8 @@ public static Value value(boolean... input) { * @return the value */ public static Value value(char... input) { - Value[] values = new Value[input.length]; - for (int i = 0; i < input.length; i++) { + var values = new Value[input.length]; + for (var i = 0; i < input.length; i++) { values[i] = value(input[i]); } return new ListValue(values); @@ -296,8 +296,8 @@ public static Value value(char... input) { * @return the value */ public static Value value(long... input) { - Value[] values = new Value[input.length]; - for (int i = 0; i < input.length; i++) { + var values = new Value[input.length]; + for (var i = 0; i < input.length; i++) { values[i] = value(input[i]); } return new ListValue(values); @@ -309,8 +309,8 @@ public static Value value(long... input) { * @return the value */ public static Value value(short... input) { - Value[] values = new Value[input.length]; - for (int i = 0; i < input.length; i++) { + var values = new Value[input.length]; + for (var i = 0; i < input.length; i++) { values[i] = value(input[i]); } return new ListValue(values); @@ -321,8 +321,8 @@ public static Value value(short... input) { * @return the value */ public static Value value(int... input) { - Value[] values = new Value[input.length]; - for (int i = 0; i < input.length; i++) { + var values = new Value[input.length]; + for (var i = 0; i < input.length; i++) { values[i] = value(input[i]); } return new ListValue(values); @@ -333,8 +333,8 @@ public static Value value(int... input) { * @return the value */ public static Value value(double... input) { - Value[] values = new Value[input.length]; - for (int i = 0; i < input.length; i++) { + var values = new Value[input.length]; + for (var i = 0; i < input.length; i++) { values[i] = value(input[i]); } return new ListValue(values); @@ -346,8 +346,8 @@ public static Value value(double... input) { * @return the value */ public static Value value(float... input) { - Value[] values = new Value[input.length]; - for (int i = 0; i < input.length; i++) { + var values = new Value[input.length]; + for (var i = 0; i < input.length; i++) { values[i] = value(input[i]); } return new ListValue(values); @@ -359,9 +359,9 @@ public static Value value(float... input) { * @return the value */ public static Value value(List vals) { - Value[] values = new Value[vals.size()]; - int i = 0; - for (Object val : vals) { + var values = new Value[vals.size()]; + var i = 0; + for (var val : vals) { values[i++] = value(val); } return new ListValue(values); @@ -395,7 +395,7 @@ public static Value value(Iterator val) { * @return the value */ public static Value value(Stream stream) { - Value[] values = stream.map(Values::value).toArray(Value[]::new); + var values = stream.map(Values::value).toArray(Value[]::new); return new ListValue(values); } @@ -460,7 +460,7 @@ public static Value value(final boolean val) { */ public static Value value(final Map val) { Map asValues = newHashMapWithSize(val.size()); - for (Map.Entry entry : val.entrySet()) { + for (var entry : val.entrySet()) { asValues.put(entry.getKey(), value(entry.getValue())); } return new MapValue(asValues); @@ -619,8 +619,8 @@ public static Value parameters(Object... keysAndValues) { + "."); } HashMap map = newHashMapWithSize(keysAndValues.length / 2); - for (int i = 0; i < keysAndValues.length; i += 2) { - Object value = keysAndValues[i + 1]; + for (var i = 0; i < keysAndValues.length; i += 2) { + var value = keysAndValues[i + 1]; assertParameter(value); map.put(keysAndValues[i].toString(), value(value)); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/BoltServerAddress.java b/driver/src/main/java/org/neo4j/driver/internal/BoltServerAddress.java index 5da9bfb60e..4fede8cd22 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/BoltServerAddress.java +++ b/driver/src/main/java/org/neo4j/driver/internal/BoltServerAddress.java @@ -74,7 +74,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - BoltServerAddress address = (BoltServerAddress) o; + var address = (BoltServerAddress) o; return port == address.port && host.equals(address.host) && connectionHost.equals(address.connectionHost); } @@ -114,7 +114,7 @@ public Stream unicastStream() { } private static String hostFrom(URI uri) { - String host = uri.getHost(); + var host = uri.getHost(); if (host == null) { throw invalidAddressFormat(uri); } @@ -122,7 +122,7 @@ private static String hostFrom(URI uri) { } private static int portFrom(URI uri) { - int port = uri.getPort(); + var port = uri.getPort(); return port == -1 ? DEFAULT_PORT : port; } @@ -130,7 +130,7 @@ private static URI uriFrom(String address) { String scheme; String hostPort; - String[] schemeSplit = address.split("://"); + var schemeSplit = address.split("://"); if (schemeSplit.length == 1) { // URI can't parse addresses without scheme, prepend fake "bolt://" to reuse the parsing facility scheme = "bolt://"; @@ -151,7 +151,7 @@ private static String hostPortFrom(String address) { return address; } - boolean containsSingleColon = address.indexOf(":") == address.lastIndexOf(":"); + var containsSingleColon = address.indexOf(":") == address.lastIndexOf(":"); if (containsSingleColon) { // expected to be an IPv4 address with or without port like 127.0.0.1 or 127.0.0.1:7687 return address; diff --git a/driver/src/main/java/org/neo4j/driver/internal/DirectConnectionProvider.java b/driver/src/main/java/org/neo4j/driver/internal/DirectConnectionProvider.java index 0f68ee2694..4564587181 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/DirectConnectionProvider.java +++ b/driver/src/main/java/org/neo4j/driver/internal/DirectConnectionProvider.java @@ -20,7 +20,6 @@ import static org.neo4j.driver.internal.async.ConnectionContext.PENDING_DATABASE_NAME_EXCEPTION_SUPPLIER; -import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletionStage; import java.util.function.Function; import org.neo4j.driver.AuthToken; @@ -47,7 +46,7 @@ public class DirectConnectionProvider implements ConnectionProvider { @Override public CompletionStage acquireConnection(ConnectionContext context) { - CompletableFuture databaseNameFuture = context.databaseNameFuture(); + var databaseNameFuture = context.databaseNameFuture(); databaseNameFuture.complete(DatabaseNameUtil.defaultDatabase()); return acquirePooledConnection(context.overrideAuthToken()) .thenApply(connection -> new DirectConnection( 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 70156e8952..fbd1ad6361 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/DriverFactory.java +++ b/driver/src/main/java/org/neo4j/driver/internal/DriverFactory.java @@ -34,7 +34,6 @@ import org.neo4j.driver.AuthTokens; import org.neo4j.driver.Config; import org.neo4j.driver.Driver; -import org.neo4j.driver.Logger; import org.neo4j.driver.Logging; import org.neo4j.driver.MetricsAdapter; import org.neo4j.driver.internal.async.connection.BootstrapFactory; @@ -99,17 +98,15 @@ public final Driver newInstance( authTokenManager = authTokenManager == null ? new StaticAuthTokenManager(AuthTokens.none()) : authTokenManager; - BoltServerAddress address = new BoltServerAddress(uri); - RoutingSettings routingSettings = - new RoutingSettings(config.routingTablePurgeDelayMillis(), new RoutingContext(uri)); + var address = new BoltServerAddress(uri); + var routingSettings = new RoutingSettings(config.routingTablePurgeDelayMillis(), new RoutingContext(uri)); InternalLoggerFactory.setDefaultFactory(new NettyLogging(config.logging())); EventExecutorGroup eventExecutorGroup = bootstrap.config().group(); - RetryLogic retryLogic = - createRetryLogic(config.maxTransactionRetryTimeMillis(), eventExecutorGroup, config.logging()); + var retryLogic = createRetryLogic(config.maxTransactionRetryTimeMillis(), eventExecutorGroup, config.logging()); - MetricsProvider metricsProvider = getOrCreateMetricsProvider(config, createClock()); - ConnectionPool connectionPool = createConnectionPool( + var metricsProvider = getOrCreateMetricsProvider(config, createClock()); + var connectionPool = createConnectionPool( authTokenManager, securityPlan, bootstrap, @@ -139,12 +136,11 @@ protected ConnectionPool createConnectionPool( Config config, boolean ownsEventLoopGroup, RoutingContext routingContext) { - Clock clock = createClock(); - ConnectionSettings settings = - new ConnectionSettings(authTokenManager, config.userAgent(), config.connectionTimeoutMillis()); + var clock = createClock(); + var settings = new ConnectionSettings(authTokenManager, config.userAgent(), config.connectionTimeoutMillis()); var boltAgent = DriverInfoUtil.boltAgent(); - ChannelConnector connector = createConnector(settings, securityPlan, config, clock, routingContext, boltAgent); - PoolSettings poolSettings = new PoolSettings( + var connector = createConnector(settings, securityPlan, config, clock, routingContext, boltAgent); + var poolSettings = new PoolSettings( config.maxConnectionPoolSize(), config.connectionAcquisitionTimeoutMillis(), config.maxConnectionLifetimeMillis(), @@ -160,7 +156,7 @@ protected ConnectionPool createConnectionPool( } protected static MetricsProvider getOrCreateMetricsProvider(Config config, Clock clock) { - MetricsAdapter metricsAdapter = config.metricsAdapter(); + var metricsAdapter = config.metricsAdapter(); // This can actually only happen when someone mocks the config if (metricsAdapter == null) { metricsAdapter = config.isMetricsEnabled() ? MetricsAdapter.DEFAULT : MetricsAdapter.DEV_NULL; @@ -206,7 +202,7 @@ private InternalDriver createDriver( Supplier rediscoverySupplier, Config config) { try { - String scheme = uri.getScheme().toLowerCase(); + var scheme = uri.getScheme().toLowerCase(); if (isRoutingScheme(scheme)) { return createRoutingDriver( @@ -243,9 +239,9 @@ protected InternalDriver createDirectDriver( MetricsProvider metricsProvider, Config config) { ConnectionProvider connectionProvider = new DirectConnectionProvider(address, connectionPool); - SessionFactory sessionFactory = createSessionFactory(connectionProvider, retryLogic, config); - InternalDriver driver = createDriver(securityPlan, sessionFactory, metricsProvider, config); - Logger log = config.logging().getLog(getClass()); + var sessionFactory = createSessionFactory(connectionProvider, retryLogic, config); + var driver = createDriver(securityPlan, sessionFactory, metricsProvider, config); + var log = config.logging().getLog(getClass()); log.info("Direct driver instance %s created for server address %s", driver.hashCode(), address); return driver; } @@ -267,9 +263,9 @@ protected InternalDriver createRoutingDriver( Config config) { ConnectionProvider connectionProvider = createLoadBalancer( address, connectionPool, eventExecutorGroup, config, routingSettings, rediscoverySupplier); - SessionFactory sessionFactory = createSessionFactory(connectionProvider, retryLogic, config); - InternalDriver driver = createDriver(securityPlan, sessionFactory, metricsProvider, config); - Logger log = config.logging().getLog(getClass()); + var sessionFactory = createSessionFactory(connectionProvider, retryLogic, config); + var driver = createDriver(securityPlan, sessionFactory, metricsProvider, config); + var log = config.logging().getLog(getClass()); log.info("Routing driver instance %s created for server address %s", driver.hashCode(), address); return driver; } @@ -339,7 +335,7 @@ protected Rediscovery createRediscovery( protected void handleNewLoadBalancer(LoadBalancer loadBalancer) {} private static ServerAddressResolver createResolver(Config config) { - ServerAddressResolver configuredResolver = config.resolver(); + var configuredResolver = config.resolver(); return configuredResolver != null ? configuredResolver : IDENTITY_RESOLVER; } @@ -400,7 +396,7 @@ protected DomainNameResolver getDomainNameResolver() { } private static void assertNoRoutingContext(URI uri, RoutingSettings routingSettings) { - RoutingContext routingContext = routingSettings.routingContext(); + var routingContext = routingSettings.routingContext(); if (routingContext.isDefined()) { throw new IllegalArgumentException(NO_ROUTING_CONTEXT_ERROR_MESSAGE + "'" + uri + "'"); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalBookmark.java b/driver/src/main/java/org/neo4j/driver/internal/InternalBookmark.java index eef7abf8c8..2af1ac9906 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalBookmark.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalBookmark.java @@ -52,7 +52,7 @@ public static Bookmark from(Iterable bookmarks) { return empty(); } - int size = Iterables.count(bookmarks); + var size = Iterables.count(bookmarks); if (size == 0) { return empty(); } else if (size == 1) { @@ -60,7 +60,7 @@ public static Bookmark from(Iterable bookmarks) { } Set newValues = new HashSet<>(); - for (Bookmark value : bookmarks) { + for (var value : bookmarks) { if (value == null) { continue; // skip any null bookmark value } @@ -122,7 +122,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InternalBookmark bookmark = (InternalBookmark) o; + var bookmark = (InternalBookmark) o; return Objects.equals(values, bookmark.values); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalDatabaseName.java b/driver/src/main/java/org/neo4j/driver/internal/InternalDatabaseName.java index 11f0c6ffd0..de908fe36f 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalDatabaseName.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalDatabaseName.java @@ -48,7 +48,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InternalDatabaseName that = (InternalDatabaseName) o; + var that = (InternalDatabaseName) o; return databaseName.equals(that.databaseName); } 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 a0673f18de..846e9cafd9 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalDriver.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalDriver.java @@ -215,7 +215,7 @@ private static RuntimeException driverCloseException() { public NetworkSession newSession(SessionConfig config, AuthToken overrideAuthToken) { assertOpen(); - NetworkSession session = sessionFactory.newInstance(config, overrideAuthToken); + var session = sessionFactory.newInstance(config, overrideAuthToken); if (closed.get()) { // session does not immediately acquire connection, it is fine to just throw throw driverCloseException(); diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalEntity.java b/driver/src/main/java/org/neo4j/driver/internal/InternalEntity.java index 15656e2ce1..9c35a65bfe 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalEntity.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalEntity.java @@ -80,7 +80,7 @@ public boolean equals(Object o) { return false; } - InternalEntity that = (InternalEntity) o; + var that = (InternalEntity) o; return id == that.id; } @@ -107,7 +107,7 @@ public Iterable keys() { @Override public Value get(String key) { - Value value = properties.get(key); + var value = properties.get(key); return value == null ? Values.NULL : value; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalIsoDuration.java b/driver/src/main/java/org/neo4j/driver/internal/InternalIsoDuration.java index f3376afe95..bdb4413d78 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalIsoDuration.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalIsoDuration.java @@ -144,7 +144,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InternalIsoDuration that = (InternalIsoDuration) o; + var that = (InternalIsoDuration) o; return months == that.months && days == that.days && seconds == that.seconds && nanoseconds == that.nanoseconds; } @@ -155,7 +155,7 @@ public int hashCode() { @Override public String toString() { - StringBuilder sb = new StringBuilder(); + var sb = new StringBuilder(); sb.append('P'); sb.append(months).append('M'); sb.append(days).append('D'); @@ -170,7 +170,7 @@ public String toString() { sb.append(seconds); } if (nanoseconds > 0) { - int pos = sb.length(); + var pos = sb.length(); // append nanoseconds as a 10-digit string with leading '1' that is later replaced by a '.' if (seconds < 0) { sb.append(2 * NANOS_PER_SECOND - nanoseconds); diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalPair.java b/driver/src/main/java/org/neo4j/driver/internal/InternalPair.java index a9bfeb5ce0..87843cb5f1 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalPair.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalPair.java @@ -58,14 +58,14 @@ public boolean equals(Object o) { return false; } - InternalPair that = (InternalPair) o; + var that = (InternalPair) o; return key.equals(that.key) && value.equals(that.value); } @Override public int hashCode() { - int result = key.hashCode(); + var result = key.hashCode(); result = 31 * result + value.hashCode(); return result; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalPath.java b/driver/src/main/java/org/neo4j/driver/internal/InternalPath.java index 911c8ba91c..5c03bd5b54 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalPath.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalPath.java @@ -69,13 +69,13 @@ public boolean equals(Object other) { return false; } - SelfContainedSegment that = (SelfContainedSegment) other; + var that = (SelfContainedSegment) other; return start.equals(that.start) && end.equals(that.end) && relationship.equals(that.relationship); } @Override public int hashCode() { - int result = start.hashCode(); + var result = start.hashCode(); result = 31 * result + relationship.hashCode(); result = 31 * result + end.hashCode(); return result; @@ -112,8 +112,8 @@ public InternalPath(List alternatingNodeAndRel) { } Node lastNode = null; Relationship lastRelationship = null; - int index = 0; - for (Entity entity : alternatingNodeAndRel) { + var index = 0; + for (var entity : alternatingNodeAndRel) { if (entity == null) { throw new IllegalArgumentException("Path entities cannot be null"); } @@ -128,7 +128,7 @@ public InternalPath(List alternatingNodeAndRel) { + " is not an endpoint of relationship argument " + (index - 1)); } } catch (ClassCastException e) { - String cls = entity.getClass().getName(); + var cls = entity.getClass().getName(); throw new IllegalArgumentException("Expected argument " + index + " to be a node " + index + " but found a " + cls + " " + "instead"); } @@ -143,7 +143,7 @@ public InternalPath(List alternatingNodeAndRel) { + " is not an endpoint of relationship argument " + index); } } catch (ClassCastException e) { - String cls = entity.getClass().getName(); + var cls = entity.getClass().getName(); throw new IllegalArgumentException( "Expected argument " + index + " to be a relationship but found a " + cls + " instead"); } @@ -221,7 +221,7 @@ public boolean equals(Object o) { return false; } - InternalPath segments1 = (InternalPath) o; + var segments1 = (InternalPath) o; return segments.equals(segments1.segments); } @@ -238,7 +238,7 @@ public String toString() { } private void buildSegments() { - for (int i = 0; i < relationships.size(); i++) { + for (var i = 0; i < relationships.size(); i++) { segments.add(new SelfContainedSegment(nodes.get(i), relationships.get(i), nodes.get(i + 1))); } } diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalPoint2D.java b/driver/src/main/java/org/neo4j/driver/internal/InternalPoint2D.java index 7450ecf3cc..ec3d64d02a 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalPoint2D.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalPoint2D.java @@ -60,7 +60,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InternalPoint2D that = (InternalPoint2D) o; + var that = (InternalPoint2D) o; return srid == that.srid && Double.compare(that.x, x) == 0 && Double.compare(that.y, y) == 0; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalPoint3D.java b/driver/src/main/java/org/neo4j/driver/internal/InternalPoint3D.java index 0e0efad437..367589716e 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalPoint3D.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalPoint3D.java @@ -62,7 +62,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InternalPoint3D that = (InternalPoint3D) o; + var that = (InternalPoint3D) o; return srid == that.srid && Double.compare(that.x, x) == 0 && Double.compare(that.y, y) == 0 diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalRecord.java b/driver/src/main/java/org/neo4j/driver/internal/InternalRecord.java index 5c72ff9a65..d66b9c2778 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalRecord.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalRecord.java @@ -74,7 +74,7 @@ public List> fields() { @Override public int index(String key) { - int result = queryKeys.indexOf(key); + var result = queryKeys.indexOf(key); if (result == -1) { throw new NoSuchElementException("Unknown key: " + key); } else { @@ -89,7 +89,7 @@ public boolean containsKey(String key) { @Override public Value get(String key) { - int fieldIndex = queryKeys.indexOf(key); + var fieldIndex = queryKeys.indexOf(key); if (fieldIndex == -1) { return Values.NULL; @@ -128,17 +128,17 @@ public boolean equals(Object other) { if (this == other) { return true; } else if (other instanceof Record) { - Record otherRecord = (Record) other; - int size = size(); + var otherRecord = (Record) other; + var size = size(); if (!(size == otherRecord.size())) { return false; } if (!queryKeys.keys().equals(otherRecord.keys())) { return false; } - for (int i = 0; i < size; i++) { - Value value = get(i); - Value otherValue = otherRecord.get(i); + for (var i = 0; i < size; i++) { + var value = get(i); + var otherValue = otherRecord.get(i); if (!value.equals(otherValue)) { return false; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalResult.java b/driver/src/main/java/org/neo4j/driver/internal/InternalResult.java index 0d88fdf69f..9ad13f67a2 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalResult.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalResult.java @@ -55,7 +55,7 @@ public boolean hasNext() { @Override public Record next() { - Record record = blockingGet(cursor.nextAsync()); + var record = blockingGet(cursor.nextAsync()); if (record == null) { throw new NoSuchRecordException("No more records"); } @@ -69,7 +69,7 @@ public Record single() { @Override public Record peek() { - Record record = blockingGet(cursor.peekAsync()); + var record = blockingGet(cursor.peekAsync()); if (record == null) { throw new NoSuchRecordException("Cannot peek past the last record"); } @@ -78,8 +78,7 @@ public Record peek() { @Override public Stream stream() { - Spliterator spliterator = - Spliterators.spliteratorUnknownSize(this, Spliterator.IMMUTABLE | Spliterator.ORDERED); + var spliterator = Spliterators.spliteratorUnknownSize(this, Spliterator.IMMUTABLE | Spliterator.ORDERED); return StreamSupport.stream(spliterator, false); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalRoutingControl.java b/driver/src/main/java/org/neo4j/driver/internal/InternalRoutingControl.java index b197893c02..0de5649812 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalRoutingControl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalRoutingControl.java @@ -40,7 +40,7 @@ private InternalRoutingControl(String mode) { public boolean equals(Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; - InternalRoutingControl that = (InternalRoutingControl) o; + var that = (InternalRoutingControl) o; return mode.equals(that.mode); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalSession.java b/driver/src/main/java/org/neo4j/driver/internal/InternalSession.java index 588844ae28..75026c5e0a 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalSession.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalSession.java @@ -31,10 +31,8 @@ import org.neo4j.driver.TransactionCallback; import org.neo4j.driver.TransactionConfig; import org.neo4j.driver.TransactionWork; -import org.neo4j.driver.async.ResultCursor; import org.neo4j.driver.exceptions.ClientException; import org.neo4j.driver.internal.async.NetworkSession; -import org.neo4j.driver.internal.async.UnmanagedTransaction; import org.neo4j.driver.internal.spi.Connection; import org.neo4j.driver.internal.util.Futures; @@ -62,12 +60,12 @@ public Result run(String query, Map parameters, TransactionConfi @Override public Result run(Query query, TransactionConfig config) { - ResultCursor cursor = Futures.blockingGet( + var cursor = Futures.blockingGet( session.runAsync(query, config), () -> terminateConnectionOnThreadInterrupt("Thread interrupted while running query in session")); // query executed, it is safe to obtain a connection in a blocking way - Connection connection = Futures.getNow(session.connectionAsync()); + var connection = Futures.getNow(session.connectionAsync()); return new InternalResult(connection, cursor); } @@ -160,9 +158,9 @@ private T transaction( // it is unsafe to execute retries in the event loop threads because this can cause a deadlock // event loop thread will bock and wait for itself to read some data return session.retryLogic().retry(() -> { - try (Transaction tx = beginTransaction(mode, config)) { + try (var tx = beginTransaction(mode, config)) { - T result = work.execute(tx); + var result = work.execute(tx); if (result instanceof Result) { throw new ClientException(String.format( "%s is not a valid return value, it should be consumed before producing a return value", @@ -178,7 +176,7 @@ private T transaction( } private Transaction beginTransaction(AccessMode mode, TransactionConfig config) { - UnmanagedTransaction tx = Futures.blockingGet( + var tx = Futures.blockingGet( session.beginTransactionAsync(mode, config), () -> terminateConnectionOnThreadInterrupt("Thread interrupted while starting a transaction")); return new InternalTransaction(tx); diff --git a/driver/src/main/java/org/neo4j/driver/internal/InternalTransaction.java b/driver/src/main/java/org/neo4j/driver/internal/InternalTransaction.java index d7bcbea0e3..9795bbb7cf 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/InternalTransaction.java +++ b/driver/src/main/java/org/neo4j/driver/internal/InternalTransaction.java @@ -21,7 +21,6 @@ import org.neo4j.driver.Query; import org.neo4j.driver.Result; import org.neo4j.driver.Transaction; -import org.neo4j.driver.async.ResultCursor; import org.neo4j.driver.internal.async.UnmanagedTransaction; import org.neo4j.driver.internal.util.Futures; @@ -55,7 +54,7 @@ public void close() { @Override public Result run(Query query) { - ResultCursor cursor = Futures.blockingGet( + var cursor = Futures.blockingGet( tx.runAsync(query), () -> terminateConnectionOnThreadInterrupt("Thread interrupted while running query in transaction")); return new InternalResult(tx.connection(), cursor); diff --git a/driver/src/main/java/org/neo4j/driver/internal/ResolvedBoltServerAddress.java b/driver/src/main/java/org/neo4j/driver/internal/ResolvedBoltServerAddress.java index 6e520dacec..a089a50302 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/ResolvedBoltServerAddress.java +++ b/driver/src/main/java/org/neo4j/driver/internal/ResolvedBoltServerAddress.java @@ -77,7 +77,7 @@ public boolean equals(Object o) { if (!super.equals(o)) { return false; } - ResolvedBoltServerAddress that = (ResolvedBoltServerAddress) o; + var that = (ResolvedBoltServerAddress) o; return resolvedAddresses.equals(that.resolvedAddresses); } @@ -92,7 +92,7 @@ public String toString() { } private String createStringRepresentation() { - String hostAddresses = resolvedAddresses.stream() + var hostAddresses = resolvedAddresses.stream() .limit(MAX_HOST_ADDRESSES_IN_STRING_VALUE) .map(InetAddress::getHostAddress) .collect(joining( 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 91f8aed98b..3f33bd3f29 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/SessionFactoryImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/SessionFactoryImpl.java @@ -73,15 +73,15 @@ public NetworkSession newInstance(SessionConfig sessionConfig, AuthToken overrid private Set toDistinctSet(Iterable bookmarks) { Set set = new HashSet<>(); if (bookmarks != null) { - for (Bookmark bookmark : bookmarks) { + for (var bookmark : bookmarks) { if (bookmark != null) { @SuppressWarnings("deprecation") - Set values = bookmark.values(); - int size = values.size(); + var values = bookmark.values(); + var size = values.size(); if (size == 1) { set.add(bookmark); } else if (size > 1) { - for (String value : values) { + for (var value : values) { set.add(Bookmark.from(value)); } } diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/InternalAsyncSession.java b/driver/src/main/java/org/neo4j/driver/internal/async/InternalAsyncSession.java index 8220fd272c..25b32df914 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/InternalAsyncSession.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/InternalAsyncSession.java @@ -137,11 +137,11 @@ private CompletionStage transactionAsync( @SuppressWarnings("deprecation") AsyncTransactionWork> work, TransactionConfig config) { return session.retryLogic().retryAsync(() -> { - CompletableFuture resultFuture = new CompletableFuture<>(); - CompletionStage txFuture = session.beginTransactionAsync(mode, config); + var resultFuture = new CompletableFuture(); + var txFuture = session.beginTransactionAsync(mode, config); txFuture.whenComplete((tx, completionError) -> { - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); if (error != null) { resultFuture.completeExceptionally(error); } else { @@ -157,9 +157,9 @@ private void executeWork( CompletableFuture resultFuture, UnmanagedTransaction tx, @SuppressWarnings("deprecation") AsyncTransactionWork> work) { - CompletionStage workFuture = safeExecuteWork(tx, work); + var workFuture = safeExecuteWork(tx, work); workFuture.whenComplete((result, completionError) -> { - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); if (error != null) { closeTxAfterFailedTransactionWork(tx, resultFuture, error); } else if (result instanceof ResultCursor) { @@ -179,7 +179,7 @@ private CompletionStage safeExecuteWork( // async failure will result in a failed future being returned // sync failure will result in an exception being thrown try { - CompletionStage result = work.execute(new InternalAsyncTransaction(tx)); + var result = work.execute(new InternalAsyncTransaction(tx)); // protect from given transaction function returning null return result == null ? completedWithNull() : result; @@ -202,7 +202,7 @@ private void closeTxAfterFailedTransactionWork( private void closeTxAfterSucceededTransactionWork( UnmanagedTransaction tx, CompletableFuture resultFuture, T result) { tx.closeAsync(true).whenComplete((ignored, completionError) -> { - Throwable commitError = Futures.completionExceptionCause(completionError); + var commitError = Futures.completionExceptionCause(completionError); if (commitError != null) { resultFuture.completeExceptionally(commitError); } else { 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 9def045cf5..5183ce82fb 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 @@ -70,7 +70,7 @@ protected void finalize() throws Throwable { } private void logLeakIfNeeded() { - Boolean isOpen = Futures.blockingGet(currentConnectionIsOpen()); + var isOpen = Futures.blockingGet(currentConnectionIsOpen()); if (isOpen) { log.error( "Neo4j Session object leaked, please ensure that your application " @@ -82,9 +82,9 @@ private void logLeakIfNeeded() { } private static String captureStackTrace() { - StringBuilder result = new StringBuilder(); - StackTraceElement[] elements = Thread.currentThread().getStackTrace(); - for (StackTraceElement element : elements) { + var result = new StringBuilder(); + var elements = Thread.currentThread().getStackTrace(); + for (var element : elements) { result.append("\t").append(element).append(lineSeparator()); } return result.toString(); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/NetworkConnection.java b/driver/src/main/java/org/neo4j/driver/internal/async/NetworkConnection.java index 99be9972d5..005591a362 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/NetworkConnection.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/NetworkConnection.java @@ -147,7 +147,7 @@ public CompletionStage reset(Throwable throwable) { @Override public CompletionStage release() { if (executeWithLock(lock, () -> updateStateIfOpen(Status.RELEASED))) { - ChannelReleasingResetResponseHandler handler = new ChannelReleasingResetResponseHandler( + var handler = new ChannelReleasingResetResponseHandler( channel, channelPool, messageDispatcher, clock, releaseFuture); writeResetMessageIfNeeded(handler, false); 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 e422b33a39..671b4a4522 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 @@ -98,7 +98,7 @@ public NetworkSession( this.mode = mode; this.retryLogic = retryLogic; this.log = new PrefixedLogger("[" + hashCode() + "]", logging.getLog(getClass())); - CompletableFuture databaseNameFuture = databaseName + var databaseNameFuture = databaseName .databaseName() .map(ignored -> CompletableFuture.completedFuture(databaseName)) .orElse(new CompletableFuture<>()); @@ -111,7 +111,7 @@ public NetworkSession( } public CompletionStage runAsync(Query query, TransactionConfig config) { - CompletionStage newResultCursorStage = + var newResultCursorStage = buildResultCursorFactory(query, config).thenCompose(ResultCursorFactory::asyncResult); resultCursorStage = newResultCursorStage.exceptionally(error -> null); @@ -121,8 +121,7 @@ public CompletionStage runAsync(Query query, TransactionConfig con } public CompletionStage runRx(Query query, TransactionConfig config) { - CompletionStage newResultCursorStage = - buildResultCursorFactory(query, config).thenCompose(ResultCursorFactory::rxResult); + var newResultCursorStage = buildResultCursorFactory(query, config).thenCompose(ResultCursorFactory::rxResult); resultCursorStage = newResultCursorStage.exceptionally(error -> null); return newResultCursorStage; @@ -145,18 +144,18 @@ public CompletionStage beginTransactionAsync( ensureSessionIsOpen(); // create a chain that acquires connection and starts a transaction - CompletionStage newTransactionStage = ensureNoOpenTxBeforeStartingTx() + var newTransactionStage = ensureNoOpenTxBeforeStartingTx() .thenCompose(ignore -> acquireConnection(mode)) .thenApply(connection -> ImpersonationUtil.ensureImpersonationSupport(connection, connection.impersonatedUser())) .thenCompose(connection -> { - UnmanagedTransaction tx = new UnmanagedTransaction( + var tx = new UnmanagedTransaction( connection, this::handleNewBookmark, fetchSize, notificationConfig); return tx.beginAsync(determineBookmarks(true), config, txType); }); // update the reference to the only known transaction - CompletionStage currentTransactionStage = transactionStage; + var currentTransactionStage = transactionStage; transactionStage = newTransactionStage .exceptionally(error -> null) // ignore errors from starting new transaction @@ -233,7 +232,7 @@ public CompletionStage closeAsync() { // now we have cursor error, active transaction has been closed and connection has been // released // back to the pool; try to propagate cursor and transaction close errors, if any - CompletionException combinedError = Futures.combineErrors(cursorError, txCloseError); + var combinedError = Futures.combineErrors(cursorError, txCloseError); if (combinedError != null) { throw combinedError; } @@ -260,7 +259,7 @@ private CompletionStage buildResultCursorFactory(Query quer ImpersonationUtil.ensureImpersonationSupport(connection, connection.impersonatedUser())) .thenCompose(connection -> { try { - ResultCursorFactory factory = connection + var factory = connection .protocol() .runInAutoCommitTransaction( connection, @@ -278,9 +277,9 @@ private CompletionStage buildResultCursorFactory(Query quer } private CompletionStage acquireConnection(AccessMode mode) { - CompletionStage currentConnectionStage = connectionStage; + var currentConnectionStage = connectionStage; - CompletionStage newConnectionStage = resultCursorStage + var newConnectionStage = resultCursorStage .thenCompose(cursor -> { if (cursor == null) { return completedWithNull(); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/ResultCursorsHolder.java b/driver/src/main/java/org/neo4j/driver/internal/async/ResultCursorsHolder.java index e1447a7abe..7d9031669c 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/ResultCursorsHolder.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/ResultCursorsHolder.java @@ -38,7 +38,7 @@ public void add(CompletionStage cursorStage) { } CompletionStage retrieveNotConsumedError() { - CompletableFuture[] failures = retrieveAllFailures(); + var failures = retrieveAllFailures(); return CompletableFuture.allOf(failures).thenApply(ignore -> findFirstFailure(failures)); } @@ -54,8 +54,8 @@ private CompletableFuture[] retrieveAllFailures() { private static Throwable findFirstFailure(CompletableFuture[] completedFailureFutures) { // all given futures should be completed, it is thus safe to get their values - for (CompletableFuture failureFuture : completedFailureFutures) { - Throwable failure = failureFuture.getNow(null); // does not block + for (var failureFuture : completedFailureFutures) { + var failure = failureFuture.getNow(null); // does not block if (failure != null) { return failure; } 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 1523fa4cb1..bd19a17497 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 @@ -30,7 +30,6 @@ import java.util.EnumSet; import java.util.Set; import java.util.concurrent.CompletableFuture; -import java.util.concurrent.CompletionException; import java.util.concurrent.CompletionStage; import java.util.concurrent.locks.Lock; import java.util.concurrent.locks.ReentrantLock; @@ -160,8 +159,7 @@ public CompletionStage rollbackAsync() { public CompletionStage runAsync(Query query) { ensureCanRunQueries(); - CompletionStage cursorStage = protocol.runInUnmanagedTransaction( - connection, query, this, fetchSize) + var cursorStage = protocol.runInUnmanagedTransaction(connection, query, this, fetchSize) .asyncResult(); resultCursors.add(cursorStage); return cursorStage @@ -171,8 +169,7 @@ public CompletionStage runAsync(Query query) { public CompletionStage runRx(Query query) { ensureCanRunQueries(); - CompletionStage cursorStage = protocol.runInUnmanagedTransaction( - connection, query, this, fetchSize) + var cursorStage = protocol.runInUnmanagedTransaction(connection, query, this, fetchSize) .rxResult(); resultCursors.add(cursorStage); return cursorStage; @@ -199,8 +196,7 @@ public Throwable markTerminated(Throwable cause) { private void addSuppressedWhenNotCaptured(Throwable currentCause, Throwable newCause) { if (currentCause != newCause) { - boolean noneMatch = - Arrays.stream(currentCause.getSuppressed()).noneMatch(suppressed -> suppressed == newCause); + var noneMatch = Arrays.stream(currentCause.getSuppressed()).noneMatch(suppressed -> suppressed == newCause); if (noneMatch) { currentCause.addSuppressed(newCause); } @@ -277,7 +273,7 @@ private CompletionStage doRollbackAsync() { private static BiFunction handleCommitOrRollback(Throwable cursorFailure) { return (ignore, commitOrRollbackError) -> { - CompletionException combinedError = combineErrors(cursorFailure, commitOrRollbackError); + var combinedError = combineErrors(cursorFailure, commitOrRollbackError); if (combinedError != null) { throw combinedError; } @@ -303,7 +299,7 @@ private void handleTransactionCompletion(boolean commitAttempt, Throwable throwa } private CompletionStage closeAsync(boolean commit, boolean completeWithNullIfNotOpen) { - CompletionStage stage = executeWithLock(lock, () -> { + var stage = executeWithLock(lock, () -> { CompletionStage resultStage = null; if (completeWithNullIfNotOpen && !isOpen()) { resultStage = completedWithNull(); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/connection/BoltProtocolUtil.java b/driver/src/main/java/org/neo4j/driver/internal/async/connection/BoltProtocolUtil.java index b41ec92d7f..a8357dc282 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/connection/BoltProtocolUtil.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/connection/BoltProtocolUtil.java @@ -72,7 +72,7 @@ public static void writeChunkHeader(ByteBuf buf, int chunkStartIndex, int header } private static String createHandshakeString() { - ByteBuf buf = handshakeBuf(); + var buf = handshakeBuf(); return String.format( "[0x%s, %s, %s, %s, %s]", toHexString(buf.readInt()), buf.readInt(), buf.readInt(), buf.readInt(), buf.readInt()); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/connection/BootstrapFactory.java b/driver/src/main/java/org/neo4j/driver/internal/async/connection/BootstrapFactory.java index 9377123a99..c12e57bc61 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/connection/BootstrapFactory.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/connection/BootstrapFactory.java @@ -30,7 +30,7 @@ public static Bootstrap newBootstrap(int threadCount) { } public static Bootstrap newBootstrap(EventLoopGroup eventLoopGroup) { - Bootstrap bootstrap = new Bootstrap(); + var bootstrap = new Bootstrap(); bootstrap.group(eventLoopGroup); bootstrap.channel(EventLoopGroupFactory.channelClass()); bootstrap.option(ChannelOption.SO_KEEPALIVE, true); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelAttributes.java b/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelAttributes.java index f1c7fea7ba..070363726a 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelAttributes.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelAttributes.java @@ -145,7 +145,7 @@ public static void setConnectionReadTimeout(Channel channel, Long connectionRead } public static void addBoltPatchesListener(Channel channel, BoltPatchesListener listener) { - Set boltPatchesListeners = get(channel, BOLT_PATCHES_LISTENERS); + var boltPatchesListeners = get(channel, BOLT_PATCHES_LISTENERS); if (boltPatchesListeners == null) { boltPatchesListeners = new HashSet<>(); setOnce(channel, BOLT_PATCHES_LISTENERS, boltPatchesListeners); @@ -154,7 +154,7 @@ public static void addBoltPatchesListener(Channel channel, BoltPatchesListener l } public static Set boltPatchesListeners(Channel channel) { - Set boltPatchesListeners = get(channel, BOLT_PATCHES_LISTENERS); + var boltPatchesListeners = get(channel, BOLT_PATCHES_LISTENERS); return boltPatchesListeners != null ? boltPatchesListeners : Collections.emptySet(); } @@ -183,7 +183,7 @@ private static void set(Channel channel, AttributeKey key, T value) { } private static void setOnce(Channel channel, AttributeKey key, T value) { - T existingValue = channel.attr(key).setIfAbsent(value); + var existingValue = channel.attr(key).setIfAbsent(value); if (existingValue != null) { throw new IllegalStateException( "Unable to set " + key.name() + " because it is already set to " + existingValue); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelConnectedListener.java b/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelConnectedListener.java index 0025574fc5..c46a46c5e7 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelConnectedListener.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelConnectedListener.java @@ -22,10 +22,8 @@ import static org.neo4j.driver.internal.async.connection.BoltProtocolUtil.handshakeBuf; import static org.neo4j.driver.internal.async.connection.BoltProtocolUtil.handshakeString; -import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelFutureListener; -import io.netty.channel.ChannelPipeline; import io.netty.channel.ChannelPromise; import org.neo4j.driver.Logger; import org.neo4j.driver.Logging; @@ -52,13 +50,13 @@ public ChannelConnectedListener( @Override public void operationComplete(ChannelFuture future) { - Channel channel = future.channel(); + var channel = future.channel(); Logger log = new ChannelActivityLogger(channel, logging, getClass()); if (future.isSuccess()) { log.trace("Channel %s connected, initiating bolt handshake", channel); - ChannelPipeline pipeline = channel.pipeline(); + var pipeline = channel.pipeline(); pipeline.addLast(new HandshakeHandler(pipelineBuilder, handshakeCompletedPromise, logging)); log.debug("C: [Bolt Handshake] %s", handshakeString()); channel.writeAndFlush(handshakeBuf(), channel.voidPromise()); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelConnectorImpl.java b/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelConnectorImpl.java index 379397130d..19d3eb760e 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelConnectorImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelConnectorImpl.java @@ -21,10 +21,8 @@ import static java.util.Objects.requireNonNull; import io.netty.bootstrap.Bootstrap; -import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; import io.netty.channel.ChannelOption; -import io.netty.channel.ChannelPipeline; import io.netty.channel.ChannelPromise; import io.netty.resolver.AddressResolverGroup; import java.net.InetSocketAddress; @@ -115,11 +113,11 @@ public ChannelFuture connect(BoltServerAddress address, Bootstrap bootstrap) { socketAddress = InetSocketAddress.createUnresolved(address.connectionHost(), address.port()); } - ChannelFuture channelConnected = bootstrap.connect(socketAddress); + var channelConnected = bootstrap.connect(socketAddress); - Channel channel = channelConnected.channel(); - ChannelPromise handshakeCompleted = channel.newPromise(); - ChannelPromise connectionInitialized = channel.newPromise(); + var channel = channelConnected.channel(); + var handshakeCompleted = channel.newPromise(); + var connectionInitialized = channel.newPromise(); installChannelConnectedListeners(address, channelConnected, handshakeCompleted); installHandshakeCompletedListeners(handshakeCompleted, connectionInitialized); @@ -129,7 +127,7 @@ public ChannelFuture connect(BoltServerAddress address, Bootstrap bootstrap) { private void installChannelConnectedListeners( BoltServerAddress address, ChannelFuture channelConnected, ChannelPromise handshakeCompleted) { - ChannelPipeline pipeline = channelConnected.channel().pipeline(); + var pipeline = channelConnected.channel().pipeline(); // add timeout handler to the pipeline when channel is connected. it's needed to limit amount of time code // spends in TLS and Bolt handshakes. prevents infinite waiting when database does not respond @@ -142,7 +140,7 @@ private void installChannelConnectedListeners( private void installHandshakeCompletedListeners( ChannelPromise handshakeCompleted, ChannelPromise connectionInitialized) { - ChannelPipeline pipeline = handshakeCompleted.channel().pipeline(); + var pipeline = handshakeCompleted.channel().pipeline(); // remove timeout handler from the pipeline once TLS and Bolt handshakes are completed. regular protocol // messages will flow next and we do not want to have read timeout for them diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelPipelineBuilderImpl.java b/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelPipelineBuilderImpl.java index cea52e8c1e..68c0c2fe81 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelPipelineBuilderImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/connection/ChannelPipelineBuilderImpl.java @@ -20,7 +20,6 @@ import static org.neo4j.driver.internal.async.connection.ChannelAttributes.addBoltPatchesListener; -import io.netty.channel.Channel; import io.netty.channel.ChannelPipeline; import org.neo4j.driver.Logging; import org.neo4j.driver.internal.async.inbound.ChannelErrorHandler; @@ -36,13 +35,13 @@ public void build(MessageFormat messageFormat, ChannelPipeline pipeline, Logging // inbound handlers pipeline.addLast(new ChunkDecoder(logging)); pipeline.addLast(new MessageDecoder()); - Channel channel = pipeline.channel(); - InboundMessageHandler inboundMessageHandler = new InboundMessageHandler(messageFormat, logging); + var channel = pipeline.channel(); + var inboundMessageHandler = new InboundMessageHandler(messageFormat, logging); addBoltPatchesListener(channel, inboundMessageHandler); pipeline.addLast(inboundMessageHandler); // outbound handlers - OutboundMessageHandler outboundMessageHandler = new OutboundMessageHandler(messageFormat, logging); + var outboundMessageHandler = new OutboundMessageHandler(messageFormat, logging); addBoltPatchesListener(channel, outboundMessageHandler); pipeline.addLast(OutboundMessageHandler.NAME, outboundMessageHandler); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/connection/HandshakeCompletedListener.java b/driver/src/main/java/org/neo4j/driver/internal/async/connection/HandshakeCompletedListener.java index 43451ff40f..ffd8084e0f 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/connection/HandshakeCompletedListener.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/connection/HandshakeCompletedListener.java @@ -58,7 +58,7 @@ public HandshakeCompletedListener( @Override public void operationComplete(ChannelFuture future) { if (future.isSuccess()) { - BoltProtocol protocol = BoltProtocol.forChannel(future.channel()); + var protocol = BoltProtocol.forChannel(future.channel()); // pre Bolt 5.1 if (BoltProtocolV51.VERSION.compareTo(protocol.version()) > 0) { var channel = connectionInitializedPromise.channel(); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/connection/HandshakeHandler.java b/driver/src/main/java/org/neo4j/driver/internal/async/connection/HandshakeHandler.java index 6ea0371290..de154b7d52 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/connection/HandshakeHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/connection/HandshakeHandler.java @@ -73,7 +73,7 @@ public void channelInactive(ChannelHandlerContext ctx) { if (!failed) { // channel became inactive while doing bolt handshake, not because of some previous error - ServiceUnavailableException error = ErrorUtil.newConnectionTerminatedError(); + var error = ErrorUtil.newConnectionTerminatedError(); fail(ctx, error); } } @@ -84,20 +84,20 @@ public void exceptionCaught(ChannelHandlerContext ctx, Throwable error) { errorLog.traceOrDebug("Another fatal error occurred in the pipeline", error); } else { failed = true; - Throwable cause = transformError(error); + var cause = transformError(error); fail(ctx, cause); } } @Override protected void decode(ChannelHandlerContext ctx, ByteBuf in, List out) { - BoltProtocolVersion serverSuggestedVersion = BoltProtocolVersion.fromRawBytes(in.readInt()); + var serverSuggestedVersion = BoltProtocolVersion.fromRawBytes(in.readInt()); log.debug("S: [Bolt Handshake] %s", serverSuggestedVersion); // this is a one-time handler, remove it when protocol version has been read ctx.pipeline().remove(this); - BoltProtocol protocol = protocolForVersion(serverSuggestedVersion); + var protocol = protocolForVersion(serverSuggestedVersion); if (protocol != null) { protocolSelected(serverSuggestedVersion, protocol.createMessageFormat(), ctx); } else { diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/connection/NettyChannelInitializer.java b/driver/src/main/java/org/neo4j/driver/internal/async/connection/NettyChannelInitializer.java index 70a9b0faef..50780d1d6c 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/connection/NettyChannelInitializer.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/connection/NettyChannelInitializer.java @@ -27,9 +27,7 @@ import io.netty.channel.ChannelInitializer; import io.netty.handler.ssl.SslHandler; import java.time.Clock; -import javax.net.ssl.SSLContext; import javax.net.ssl.SSLEngine; -import javax.net.ssl.SSLParameters; import org.neo4j.driver.AuthTokenManager; import org.neo4j.driver.Logging; import org.neo4j.driver.internal.BoltServerAddress; @@ -63,7 +61,7 @@ public NettyChannelInitializer( @Override protected void initChannel(Channel channel) { if (securityPlan.requiresEncryption()) { - SslHandler sslHandler = createSslHandler(); + var sslHandler = createSslHandler(); channel.pipeline().addFirst(sslHandler); } @@ -71,18 +69,18 @@ protected void initChannel(Channel channel) { } private SslHandler createSslHandler() { - SSLEngine sslEngine = createSslEngine(); - SslHandler sslHandler = new SslHandler(sslEngine); + var sslEngine = createSslEngine(); + var sslHandler = new SslHandler(sslEngine); sslHandler.setHandshakeTimeoutMillis(connectTimeoutMillis); return sslHandler; } private SSLEngine createSslEngine() { - SSLContext sslContext = securityPlan.sslContext(); - SSLEngine sslEngine = sslContext.createSSLEngine(address.host(), address.port()); + var sslContext = securityPlan.sslContext(); + var sslEngine = sslContext.createSSLEngine(address.host(), address.port()); sslEngine.setUseClientMode(true); if (securityPlan.requiresHostnameVerification()) { - SSLParameters sslParameters = sslEngine.getSSLParameters(); + var sslParameters = sslEngine.getSSLParameters(); sslParameters.setEndpointIdentificationAlgorithm("HTTPS"); sslEngine.setSSLParameters(sslParameters); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/inbound/ChannelErrorHandler.java b/driver/src/main/java/org/neo4j/driver/internal/async/inbound/ChannelErrorHandler.java index dbc08d2cfd..559ae7ef76 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/inbound/ChannelErrorHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/inbound/ChannelErrorHandler.java @@ -63,7 +63,7 @@ public void handlerRemoved(ChannelHandlerContext ctx) { public void channelInactive(ChannelHandlerContext ctx) { log.debug("Channel is inactive"); - String terminationReason = terminationReason(ctx.channel()); + var terminationReason = terminationReason(ctx.channel()); Throwable error = ErrorUtil.newConnectionTerminatedError(terminationReason); if (!failed) { @@ -94,7 +94,7 @@ private void logUnexpectedErrorWarning(Throwable error) { } private void fail(Throwable error) { - Throwable cause = transformError(error); + var cause = transformError(error); messageDispatcher.handleChannelError(cause); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/inbound/ChunkDecoder.java b/driver/src/main/java/org/neo4j/driver/internal/async/inbound/ChunkDecoder.java index 57085f168a..bdfa19578d 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/inbound/ChunkDecoder.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/inbound/ChunkDecoder.java @@ -55,10 +55,10 @@ protected void handlerRemoved0(ChannelHandlerContext ctx) { @Override protected ByteBuf extractFrame(ChannelHandlerContext ctx, ByteBuf buffer, int index, int length) { if (log.isTraceEnabled()) { - int originalReaderIndex = buffer.readerIndex(); - int readerIndexWithChunkHeader = originalReaderIndex - INITIAL_BYTES_TO_STRIP; - int lengthWithChunkHeader = INITIAL_BYTES_TO_STRIP + length; - String hexDump = ByteBufUtil.hexDump(buffer, readerIndexWithChunkHeader, lengthWithChunkHeader); + var originalReaderIndex = buffer.readerIndex(); + var readerIndexWithChunkHeader = originalReaderIndex - INITIAL_BYTES_TO_STRIP; + var lengthWithChunkHeader = INITIAL_BYTES_TO_STRIP + length; + var hexDump = ByteBufUtil.hexDump(buffer, readerIndexWithChunkHeader, lengthWithChunkHeader); log.trace("S: %s", hexDump); } return super.extractFrame(ctx, buffer, index, length); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/inbound/InboundMessageDispatcher.java b/driver/src/main/java/org/neo4j/driver/internal/async/inbound/InboundMessageDispatcher.java index 307e105126..c125e1044d 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/inbound/InboundMessageDispatcher.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/inbound/InboundMessageDispatcher.java @@ -89,7 +89,7 @@ public int queuedHandlersCount() { public void handleSuccessMessage(Map meta) { log.debug("S: SUCCESS %s", meta); invokeBeforeLastHandlerHook(HandlerHook.MessageType.SUCCESS); - ResponseHandler handler = removeHandler(); + var handler = removeHandler(); handler.onSuccess(meta); } @@ -98,7 +98,7 @@ public void handleRecordMessage(Value[] fields) { if (log.isDebugEnabled()) { log.debug("S: RECORD %s", Arrays.toString(fields)); } - ResponseHandler handler = handlers.peek(); + var handler = handlers.peek(); if (handler == null) { throw new IllegalStateException( "No handler exists to handle RECORD message with fields: " + Arrays.toString(fields)); @@ -119,7 +119,7 @@ public void handleFailureMessage(String code, String message) { return; } - Throwable currentError = this.currentError; + var currentError = this.currentError; if (currentError instanceof AuthorizationExpiredException authorizationExpiredException) { authorizationStateListener(channel).onExpired(authorizationExpiredException, channel); } else if (currentError instanceof TokenExpiredException tokenExpiredException) { @@ -140,7 +140,7 @@ public void handleFailureMessage(String code, String message) { } invokeBeforeLastHandlerHook(HandlerHook.MessageType.FAILURE); - ResponseHandler handler = removeHandler(); + var handler = removeHandler(); handler.onFailure(currentError); } @@ -174,7 +174,7 @@ public void handleChannelInactive(Throwable cause) { handleChannelError(cause); } else { while (!handlers.isEmpty()) { - ResponseHandler handler = removeHandler(); + var handler = removeHandler(); handler.onFailure(cause); } channel.close(); @@ -192,7 +192,7 @@ public void handleChannelError(Throwable error) { fatalErrorOccurred = true; while (!handlers.isEmpty()) { - ResponseHandler handler = removeHandler(); + var handler = removeHandler(); handler.onFailure(currentError); } @@ -224,7 +224,7 @@ ResponseHandler autoReadManagingHandler() { } private ResponseHandler removeHandler() { - ResponseHandler handler = handlers.remove(); + var handler = handlers.remove(); if (handler == autoReadManagingHandler) { // the auto-read managing handler is being removed // make sure this dispatcher does not hold on to a removed handler diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/inbound/InboundMessageHandler.java b/driver/src/main/java/org/neo4j/driver/internal/async/inbound/InboundMessageHandler.java index b10e1a8f25..49b30d4768 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/inbound/InboundMessageHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/inbound/InboundMessageHandler.java @@ -23,7 +23,6 @@ import static org.neo4j.driver.internal.async.connection.ChannelAttributes.messageDispatcher; import io.netty.buffer.ByteBuf; -import io.netty.channel.Channel; import io.netty.channel.ChannelHandlerContext; import io.netty.channel.SimpleChannelInboundHandler; import io.netty.handler.codec.DecoderException; @@ -52,7 +51,7 @@ public InboundMessageHandler(MessageFormat messageFormat, Logging logging) { @Override public void handlerAdded(ChannelHandlerContext ctx) { - Channel channel = ctx.channel(); + var channel = ctx.channel(); messageDispatcher = requireNonNull(messageDispatcher(channel)); log = new ChannelActivityLogger(channel, logging, getClass()); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/inbound/MessageDecoder.java b/driver/src/main/java/org/neo4j/driver/internal/async/inbound/MessageDecoder.java index fe279b22c5..1be891570d 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/inbound/MessageDecoder.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/inbound/MessageDecoder.java @@ -49,7 +49,7 @@ protected void decode(ChannelHandlerContext ctx, ByteBuf in, List out) { // increment ref count of the buffer and create it's duplicate that shares the content // duplicate will be the output of this decoded and input for the next one - ByteBuf messageBuf = in.retainedDuplicate(); + var messageBuf = in.retainedDuplicate(); // signal that whole message was read by making input buffer seem like it was fully read/consumed in.readerIndex(in.readableBytes()); @@ -62,7 +62,7 @@ protected void decode(ChannelHandlerContext ctx, ByteBuf in, List out) { } private static Cumulator determineDefaultCumulator() { - String value = System.getProperty("messageDecoderCumulator", ""); + var value = System.getProperty("messageDecoderCumulator", ""); if ("merge".equals(value)) { return MERGE_CUMULATOR; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/outbound/ChunkAwareByteBufOutput.java b/driver/src/main/java/org/neo4j/driver/internal/async/outbound/ChunkAwareByteBufOutput.java index b5c0f58430..73a749ab84 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/outbound/ChunkAwareByteBufOutput.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/outbound/ChunkAwareByteBufOutput.java @@ -64,14 +64,14 @@ public PackOutput writeByte(byte value) { @Override public PackOutput writeBytes(byte[] data) { - int offset = 0; - int length = data.length; + var offset = 0; + var length = data.length; while (offset < length) { // Ensure there is an open chunk, and that it has at least one byte of space left ensureCanFitInCurrentChunk(1); // Write as much as we can into the current chunk - int amountToWrite = Math.min(availableBytesInCurrentChunk(), length - offset); + var amountToWrite = Math.min(availableBytesInCurrentChunk(), length - offset); buf.writeBytes(data, offset, amountToWrite); currentChunkSize += amountToWrite; @@ -113,7 +113,7 @@ public PackOutput writeDouble(double value) { } private void ensureCanFitInCurrentChunk(int numberOfBytes) { - int targetChunkSize = currentChunkSize + numberOfBytes; + var targetChunkSize = currentChunkSize + numberOfBytes; if (targetChunkSize > maxChunkSize) { writeChunkSizeHeader(); startNewChunk(buf.writerIndex()); @@ -128,7 +128,7 @@ private void startNewChunk(int index) { private void writeChunkSizeHeader() { // go to the beginning of the chunk and write the size header - int chunkBodySize = currentChunkSize - CHUNK_HEADER_SIZE_BYTES; + var chunkBodySize = currentChunkSize - CHUNK_HEADER_SIZE_BYTES; BoltProtocolUtil.writeChunkHeader(buf, currentChunkStartIndex, chunkBodySize); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/outbound/OutboundMessageHandler.java b/driver/src/main/java/org/neo4j/driver/internal/async/outbound/OutboundMessageHandler.java index d29843f7fe..7578101373 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/outbound/OutboundMessageHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/outbound/OutboundMessageHandler.java @@ -20,7 +20,6 @@ import static io.netty.buffer.ByteBufUtil.hexDump; -import io.netty.buffer.ByteBuf; import io.netty.channel.ChannelHandlerContext; import io.netty.handler.codec.EncoderException; import io.netty.handler.codec.MessageToMessageEncoder; @@ -64,7 +63,7 @@ public void handlerRemoved(ChannelHandlerContext ctx) { protected void encode(ChannelHandlerContext ctx, Message msg, List out) { log.debug("C: %s", msg); - ByteBuf messageBuf = ctx.alloc().ioBuffer(); + var messageBuf = ctx.alloc().ioBuffer(); output.start(messageBuf); try { writer.write(msg); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/pool/ConnectionPoolImpl.java b/driver/src/main/java/org/neo4j/driver/internal/async/pool/ConnectionPoolImpl.java index 92811db312..a87df88983 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/pool/ConnectionPoolImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/pool/ConnectionPoolImpl.java @@ -31,7 +31,6 @@ import io.netty.channel.EventLoopGroup; import java.time.Clock; import java.util.HashMap; -import java.util.Iterator; import java.util.Map; import java.util.Set; import java.util.concurrent.CompletableFuture; @@ -50,7 +49,6 @@ import org.neo4j.driver.exceptions.ServiceUnavailableException; import org.neo4j.driver.internal.BoltServerAddress; import org.neo4j.driver.internal.async.connection.ChannelConnector; -import org.neo4j.driver.internal.metrics.ListenerEvent; import org.neo4j.driver.internal.metrics.MetricsListener; import org.neo4j.driver.internal.spi.Connection; import org.neo4j.driver.internal.spi.ConnectionPool; @@ -123,18 +121,18 @@ public CompletionStage acquire(BoltServerAddress address, AuthToken log.trace("Acquiring a connection from pool towards %s", address); assertNotClosed(); - ExtendedChannelPool pool = getOrCreatePool(address); + var pool = getOrCreatePool(address); - ListenerEvent acquireEvent = metricsListener.createListenerEvent(); + var acquireEvent = metricsListener.createListenerEvent(); metricsListener.beforeAcquiringOrCreating(pool.id(), acquireEvent); - CompletionStage channelFuture = pool.acquire(overrideAuthToken); + var channelFuture = pool.acquire(overrideAuthToken); return channelFuture.handle((channel, error) -> { try { processAcquisitionError(pool, address, error); assertNotClosed(address, channel, pool); setAuthorizationStateListener(channel, pool.healthChecker()); - Connection connection = connectionFactory.createConnection(channel, pool); + var connection = connectionFactory.createConnection(channel, pool); metricsListener.afterAcquiredOrCreated(pool.id(), acquireEvent); return connection; @@ -147,17 +145,16 @@ public CompletionStage acquire(BoltServerAddress address, AuthToken @Override public void retainAll(Set addressesToRetain) { executeWithLock(addressToPoolLock.writeLock(), () -> { - Iterator> entryIterator = - addressToPool.entrySet().iterator(); + var entryIterator = addressToPool.entrySet().iterator(); while (entryIterator.hasNext()) { - Map.Entry entry = entryIterator.next(); - BoltServerAddress address = entry.getKey(); + var entry = entryIterator.next(); + var address = entry.getKey(); if (!addressesToRetain.contains(address)) { - int activeChannels = nettyChannelTracker.inUseChannelCount(address); + var activeChannels = nettyChannelTracker.inUseChannelCount(address); if (activeChannels == 0) { // address is not present in updated routing table and has no active connections // it's now safe to terminate corresponding connection pool and forget about it - ExtendedChannelPool pool = entry.getValue(); + var pool = entry.getValue(); entryIterator.remove(); if (pool != null) { log.info( @@ -215,7 +212,7 @@ public String toString() { } private void processAcquisitionError(ExtendedChannelPool pool, BoltServerAddress serverAddress, Throwable error) { - Throwable cause = Futures.completionExceptionCause(error); + var cause = Futures.completionExceptionCause(error); if (cause != null) { if (cause instanceof TimeoutException) { // NettyChannelPool returns future failed with TimeoutException if acquire operation takes more than @@ -272,12 +269,11 @@ ExtendedChannelPool newPool(BoltServerAddress address) { } private ExtendedChannelPool getOrCreatePool(BoltServerAddress address) { - ExtendedChannelPool existingPool = - executeWithLock(addressToPoolLock.readLock(), () -> addressToPool.get(address)); + var existingPool = executeWithLock(addressToPoolLock.readLock(), () -> addressToPool.get(address)); return existingPool != null ? existingPool : executeWithLock(addressToPoolLock.writeLock(), () -> { - ExtendedChannelPool pool = addressToPool.get(address); + var pool = addressToPool.get(address); if (pool == null) { pool = newPool(address); // before the connection pool is added I can register the metrics for the pool. @@ -320,7 +316,7 @@ private void shutdownEventLoopGroup(Throwable pollCloseError) { Futures.asCompletionStage(eventLoopGroup().terminationFuture()) .whenComplete((ignore, eventLoopGroupTerminationError) -> { - CompletionException combinedErrors = combineErrors(pollCloseError, eventLoopGroupTerminationError); + var combinedErrors = combineErrors(pollCloseError, eventLoopGroupTerminationError); completeWithNullIfNoError(closeFuture, combinedErrors); }); } @@ -328,8 +324,8 @@ private void shutdownEventLoopGroup(Throwable pollCloseError) { private CompletableFuture closeAllPools() { return CompletableFuture.allOf(addressToPool.entrySet().stream() .map(entry -> { - BoltServerAddress address = entry.getKey(); - ExtendedChannelPool pool = entry.getValue(); + var address = entry.getKey(); + var pool = entry.getValue(); log.info("Closing connection pool towards %s", address); // Wait for all pools to be closed. return closePool(pool).toCompletableFuture(); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelHealthChecker.java b/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelHealthChecker.java index ea84180ef4..9710a2cd1c 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelHealthChecker.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelHealthChecker.java @@ -131,13 +131,13 @@ public void onExpired(AuthorizationExpiredException e, Channel channel) { private boolean isTooOld(Channel channel) { if (poolSettings.maxConnectionLifetimeEnabled()) { - long creationTimestampMillis = creationTimestamp(channel); - long currentTimestampMillis = clock.millis(); + var creationTimestampMillis = creationTimestamp(channel); + var currentTimestampMillis = clock.millis(); - long ageMillis = currentTimestampMillis - creationTimestampMillis; - long maxAgeMillis = poolSettings.maxConnectionLifetime(); + var ageMillis = currentTimestampMillis - creationTimestampMillis; + var maxAgeMillis = poolSettings.maxConnectionLifetime(); - boolean tooOld = ageMillis > maxAgeMillis; + var tooOld = ageMillis > maxAgeMillis; if (tooOld) { log.trace( "Failed acquire channel %s from the pool because it is too old: %s > %s", @@ -150,10 +150,10 @@ private boolean isTooOld(Channel channel) { private boolean hasBeenIdleForTooLong(Channel channel) { if (poolSettings.idleTimeBeforeConnectionTestEnabled()) { - Long lastUsedTimestamp = lastUsedTimestamp(channel); + var lastUsedTimestamp = lastUsedTimestamp(channel); if (lastUsedTimestamp != null) { - long idleTime = clock.millis() - lastUsedTimestamp; - boolean idleTooLong = idleTime > poolSettings.idleTimeBeforeConnectionTest(); + var idleTime = clock.millis() - lastUsedTimestamp; + var idleTooLong = idleTime > poolSettings.idleTimeBeforeConnectionTest(); if (idleTooLong) { log.trace("Channel %s has been idle for %s and needs a ping", channel, idleTime); diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelPool.java b/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelPool.java index 892b83d98a..23a1b888c7 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelPool.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelPool.java @@ -29,7 +29,6 @@ import io.netty.bootstrap.Bootstrap; import io.netty.channel.Channel; import io.netty.channel.ChannelFuture; -import io.netty.channel.ChannelPromise; import io.netty.channel.pool.FixedChannelPool; import java.time.Clock; import java.util.concurrent.CompletableFuture; @@ -44,7 +43,6 @@ import org.neo4j.driver.internal.handlers.LogonResponseHandler; import org.neo4j.driver.internal.messaging.request.LogoffMessage; import org.neo4j.driver.internal.messaging.request.LogonMessage; -import org.neo4j.driver.internal.metrics.ListenerEvent; import org.neo4j.driver.internal.security.InternalAuthToken; import org.neo4j.driver.internal.util.Futures; import org.neo4j.driver.internal.util.SessionAuthUtil; @@ -94,12 +92,12 @@ public class NettyChannelPool implements ExtendedChannelPool { RELEASE_HEALTH_CHECK) { @Override protected ChannelFuture connectChannel(Bootstrap bootstrap) { - ListenerEvent creatingEvent = handler.channelCreating(id); - ChannelFuture connectedChannelFuture = connector.connect(address, bootstrap); - Channel channel = connectedChannelFuture.channel(); + var creatingEvent = handler.channelCreating(id); + var connectedChannelFuture = connector.connect(address, bootstrap); + var channel = connectedChannelFuture.channel(); // This ensures that handler.channelCreated is called before SimpleChannelPool calls // handler.channelAcquired - ChannelPromise trackedChannelFuture = channel.newPromise(); + var trackedChannelFuture = channel.newPromise(); connectedChannelFuture.addListener(future -> { if (future.isSuccess()) { // notify pool handler about a successful connection diff --git a/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelTracker.java b/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelTracker.java index e61912aeba..61e20303e1 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelTracker.java +++ b/driver/src/main/java/org/neo4j/driver/internal/async/pool/NettyChannelTracker.java @@ -34,7 +34,6 @@ import java.util.function.Supplier; import org.neo4j.driver.Logger; import org.neo4j.driver.Logging; -import org.neo4j.driver.internal.BoltServerAddress; import org.neo4j.driver.internal.messaging.BoltProtocol; import org.neo4j.driver.internal.metrics.ListenerEvent; import org.neo4j.driver.internal.metrics.MetricsListener; @@ -120,7 +119,7 @@ public void channelCreated(Channel channel, ListenerEvent creatingEvent) { } public ListenerEvent channelCreating(String poolId) { - ListenerEvent creatingEvent = metricsListener.createListenerEvent(); + var creatingEvent = metricsListener.createListenerEvent(); metricsListener.beforeCreating(poolId, creatingEvent); return creatingEvent; } @@ -143,8 +142,8 @@ public int idleChannelCount(ServerAddress address) { } public void prepareToCloseChannels() { - for (Channel channel : allChannels) { - BoltProtocol protocol = BoltProtocol.forChannel(channel); + for (var channel : allChannels) { + var protocol = BoltProtocol.forChannel(channel); try { protocol.prepareToCloseChannel(channel); } catch (Throwable e) { @@ -162,11 +161,11 @@ private void incrementInUse(Channel channel) { } private void decrementInUse(Channel channel) { - BoltServerAddress address = serverAddress(channel); + var address = serverAddress(channel); if (!addressToInUseChannelCount.containsKey(address)) { throw new IllegalStateException("No count exists for address '" + address + "' in the 'in use' count"); } - Integer count = addressToInUseChannelCount.get(address); + var count = addressToInUseChannelCount.get(address); addressToInUseChannelCount.put(address, count - 1); } @@ -175,17 +174,17 @@ private void incrementIdle(Channel channel) { } private void decrementIdle(Channel channel) { - BoltServerAddress address = serverAddress(channel); + var address = serverAddress(channel); if (!addressToIdleChannelCount.containsKey(address)) { throw new IllegalStateException("No count exists for address '" + address + "' in the 'idle' count"); } - Integer count = addressToIdleChannelCount.get(address); + var count = addressToIdleChannelCount.get(address); addressToIdleChannelCount.put(address, count - 1); } private void increment(Channel channel, Map countMap) { ServerAddress address = serverAddress(channel); - Integer count = countMap.computeIfAbsent(address, k -> 0); + var count = countMap.computeIfAbsent(address, k -> 0); countMap.put(address, count + 1); } } diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/ClusterComposition.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/ClusterComposition.java index ace8add911..ae3658084d 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/ClusterComposition.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/ClusterComposition.java @@ -96,7 +96,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - ClusterComposition that = (ClusterComposition) o; + var that = (ClusterComposition) o; return expirationTimestamp == that.expirationTimestamp && Objects.equals(databaseName, that.databaseName) && Objects.equals(readers, that.readers) @@ -124,7 +124,7 @@ public static ClusterComposition parse(Record record, long now) { return null; } - final ClusterComposition result = new ClusterComposition( + final var result = new ClusterComposition( expirationTimestamp(now, record), record.get("db").asString(null)); record.get("servers").asList((Function) value -> { result.servers(value.get("role").asString()) @@ -135,8 +135,8 @@ public static ClusterComposition parse(Record record, long now) { } private static long expirationTimestamp(long now, Record record) { - long ttl = record.get("ttl").asLong(); - long expirationTimestamp = now + ttl * 1000; + var ttl = record.get("ttl").asLong(); + var expirationTimestamp = now + ttl * 1000; if (ttl < 0 || ttl >= MAX_TTL || expirationTimestamp < 0) { expirationTimestamp = Long.MAX_VALUE; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/ClusterRoutingTable.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/ClusterRoutingTable.java index 2ae5159f6a..b3173cd646 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/ClusterRoutingTable.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/ClusterRoutingTable.java @@ -73,7 +73,7 @@ public boolean isStaleFor(AccessMode mode) { @Override public boolean hasBeenStaleFor(long extraTime) { - long totalTime = executeWithLock(tableLock.readLock(), () -> expirationTimestamp) + extraTime; + var totalTime = executeWithLock(tableLock.readLock(), () -> expirationTimestamp) + extraTime; if (totalTime < 0) { totalTime = Long.MAX_VALUE; } @@ -170,7 +170,7 @@ public String toString() { private List newWithoutAddressIfPresent( List addresses, BoltServerAddress addressToSkip) { List newList = new ArrayList<>(addresses.size()); - for (BoltServerAddress address : addresses) { + for (var address : addresses) { if (!address.equals(addressToSkip)) { newList.add(address); } @@ -181,7 +181,7 @@ private List newWithoutAddressIfPresent( private List newWithAddressReplacedIfPresent( List addresses, BoltServerAddress oldAddress, BoltServerAddress newAddress) { List newList = new ArrayList<>(addresses.size()); - for (BoltServerAddress address : addresses) { + for (var address : addresses) { newList.add(address.equals(oldAddress) ? newAddress : address); } return Collections.unmodifiableList(newList); diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/MultiDatabasesRoutingProcedureRunner.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/MultiDatabasesRoutingProcedureRunner.java index 7776ed4c48..eda8f1e05c 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/MultiDatabasesRoutingProcedureRunner.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/MultiDatabasesRoutingProcedureRunner.java @@ -52,7 +52,7 @@ Set adaptBookmarks(Set bookmarks) { @Override Query procedureQuery(BoltProtocolVersion protocolVersion, DatabaseName databaseName) { - HashMap map = new HashMap<>(); + var map = new HashMap(); map.put(ROUTING_CONTEXT, value(context.toMap())); map.put(DATABASE_NAME, value((Object) databaseName.databaseName().orElse(null))); return new Query(MULTI_DB_GET_ROUTING_TABLE, value(map)); diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/RediscoveryImpl.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/RediscoveryImpl.java index 4de48a6446..c801058689 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/RediscoveryImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/RediscoveryImpl.java @@ -104,9 +104,9 @@ public CompletionStage lookupClusterComposition( Set bookmarks, String impersonatedUser, AuthToken overrideAuthToken) { - CompletableFuture result = new CompletableFuture<>(); + var result = new CompletableFuture(); // if we failed discovery, we will chain all errors into this one. - ServiceUnavailableException baseError = new ServiceUnavailableException( + var baseError = new ServiceUnavailableException( String.format(NO_ROUTERS_AVAILABLE, routingTable.database().description())); lookupClusterComposition( routingTable, connectionPool, result, bookmarks, impersonatedUser, overrideAuthToken, baseError); @@ -123,7 +123,7 @@ private void lookupClusterComposition( Throwable baseError) { lookup(routingTable, pool, bookmarks, impersonatedUser, overrideAuthToken, baseError) .whenComplete((compositionLookupResult, completionError) -> { - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); if (error != null) { result.completeExceptionally(error); } else if (compositionLookupResult != null) { @@ -219,7 +219,7 @@ private CompletionStage lookupOnKnownRouters( AuthToken authToken, Throwable baseError) { CompletableFuture result = completedWithNull(); - for (BoltServerAddress address : routingTable.routers()) { + for (var address : routingTable.routers()) { result = result.thenCompose(composition -> { if (composition != null) { return completedFuture(composition); @@ -259,7 +259,7 @@ private CompletionStage lookupOnInitialRouter( resolvedRouters.removeAll(seenServers); CompletableFuture result = completedWithNull(); - for (BoltServerAddress address : resolvedRouters) { + for (var address : resolvedRouters) { result = result.thenCompose(composition -> { if (composition != null) { return completedFuture(composition); @@ -290,7 +290,7 @@ private CompletionStage lookupOnRouter( String impersonatedUser, AuthToken overrideAuthToken, Throwable baseError) { - CompletableFuture addressFuture = CompletableFuture.completedFuture(routerAddress); + var addressFuture = CompletableFuture.completedFuture(routerAddress); return addressFuture .thenApply(address -> @@ -301,7 +301,7 @@ private CompletionStage lookupOnRouter( .thenCompose(connection -> provider.getClusterComposition( connection, routingTable.database(), bookmarks, impersonatedUser)) .handle((response, error) -> { - Throwable cause = Futures.completionExceptionCause(error); + var cause = Futures.completionExceptionCause(error); if (cause != null) { return handleRoutingProcedureError(cause, routingTable, routerAddress, baseError); } else { @@ -326,7 +326,7 @@ private ClusterComposition handleRoutingProcedureError( } private boolean mustAbortDiscovery(Throwable throwable) { - boolean abort = false; + var abort = false; if (!(throwable instanceof AuthorizationExpiredException) && throwable instanceof SecurityException) { abort = true; @@ -340,7 +340,7 @@ private boolean mustAbortDiscovery(Throwable throwable) { } else if (throwable instanceof UnsupportedFeatureException) { abort = true; } else if (throwable instanceof ClientException) { - String code = ((ClientException) throwable).code(); + var code = ((ClientException) throwable).code(); abort = switch (code) { case TRANSACTION_INVALID_BOOKMARK_CODE, TRANSACTION_INVALID_BOOKMARK_MIXTURE_CODE, @@ -357,7 +357,7 @@ private boolean mustAbortDiscovery(Throwable throwable) { public List resolve() throws UnknownHostException { List resolvedAddresses = new LinkedList<>(); UnknownHostException exception = null; - for (ServerAddress serverAddress : resolver.resolve(initialRouter)) { + for (var serverAddress : resolver.resolve(initialRouter)) { try { resolveAllByDomainName(serverAddress).unicastStream().forEach(resolvedAddresses::add); } catch (UnknownHostException e) { @@ -387,7 +387,7 @@ private T addAndReturn(Collection collection, T element) { private BoltServerAddress resolveByDomainNameOrThrowCompletionException( BoltServerAddress address, RoutingTable routingTable) { try { - ResolvedBoltServerAddress resolvedAddress = resolveAllByDomainName(address); + var resolvedAddress = resolveAllByDomainName(address); routingTable.replaceRouterIfPresent(address, resolvedAddress); return resolvedAddress .unicastStream() diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/RouteMessageRoutingProcedureRunner.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/RouteMessageRoutingProcedureRunner.java index 9da7067b94..ca090e6258 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/RouteMessageRoutingProcedureRunner.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/RouteMessageRoutingProcedureRunner.java @@ -63,9 +63,9 @@ protected RouteMessageRoutingProcedureRunner( @Override public CompletionStage run( Connection connection, DatabaseName databaseName, Set bookmarks, String impersonatedUser) { - CompletableFuture> completableFuture = createCompletableFuture.get(); + var completableFuture = createCompletableFuture.get(); - DirectConnection directConnection = toDirectConnection(connection, databaseName, impersonatedUser); + var directConnection = toDirectConnection(connection, databaseName, impersonatedUser); directConnection.writeAndFlush( new RouteMessage( routingContext, bookmarks, databaseName.databaseName().orElse(null), impersonatedUser), diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingContext.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingContext.java index cfb295c572..98fdf3fa19 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingContext.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingContext.java @@ -62,7 +62,7 @@ public String toString() { } private static Map parseParameters(URI uri) { - String query = uri.getQuery(); + var query = uri.getQuery(); String address; if (uri.getPort() == -1) { @@ -78,14 +78,14 @@ private static Map parseParameters(URI uri) { return parameters; } - String[] pairs = query.split("&"); - for (String pair : pairs) { - String[] keyValue = pair.split("="); + var pairs = query.split("&"); + for (var pair : pairs) { + var keyValue = pair.split("="); if (keyValue.length != 2) { throw new IllegalArgumentException("Invalid parameters: '" + pair + "' in URI '" + uri + "'"); } - String previousValue = + var previousValue = parameters.put(trimAndVerifyKey(keyValue[0], "key", uri), trimAndVerify(keyValue[1], "value", uri)); if (previousValue != null) { throw new IllegalArgumentException( @@ -96,7 +96,7 @@ private static Map parseParameters(URI uri) { } private static String trimAndVerifyKey(String s, String key, URI uri) { - String trimmed = trimAndVerify(s, key, uri); + var trimmed = trimAndVerify(s, key, uri); if (trimmed.equals(ROUTING_ADDRESS_KEY)) { throw new IllegalArgumentException("The key 'address' is reserved for routing context."); @@ -106,7 +106,7 @@ private static String trimAndVerifyKey(String s, String key, URI uri) { } private static String trimAndVerify(String string, String name, URI uri) { - String result = string.trim(); + var result = string.trim(); if (result.isEmpty()) { throw new IllegalArgumentException("Illegal empty " + name + " in URI query '" + uri + "'"); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingProcedureClusterCompositionProvider.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingProcedureClusterCompositionProvider.java index 765122836c..03c49008b6 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingProcedureClusterCompositionProvider.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingProcedureClusterCompositionProvider.java @@ -23,13 +23,10 @@ import static org.neo4j.driver.internal.messaging.request.MultiDatabaseUtil.supportsRouteMessage; import java.time.Clock; -import java.util.List; import java.util.Set; import java.util.concurrent.CompletionException; import java.util.concurrent.CompletionStage; import org.neo4j.driver.Bookmark; -import org.neo4j.driver.Query; -import org.neo4j.driver.Record; import org.neo4j.driver.exceptions.ProtocolException; import org.neo4j.driver.exceptions.value.ValueException; import org.neo4j.driver.internal.DatabaseName; @@ -88,9 +85,9 @@ private ClusterComposition processRoutingResponse(RoutingProcedureResponse respo response.error()); } - List records = response.records(); + var records = response.records(); - long now = clock.millis(); + var now = clock.millis(); // the record size is wrong if (records.size() != 1) { @@ -122,7 +119,7 @@ private ClusterComposition processRoutingResponse(RoutingProcedureResponse respo } private static String invokedProcedureString(RoutingProcedureResponse response) { - Query query = response.procedure(); + var query = response.procedure(); return query.text() + " " + query.parameters(); } } diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingTableHandlerImpl.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingTableHandlerImpl.java index 0f910ab99d..6d4c7a39ed 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingTableHandlerImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingTableHandlerImpl.java @@ -80,7 +80,7 @@ public synchronized CompletionStage ensureRoutingTable(ConnectionC // existing routing table is not fresh and should be updated log.debug("Routing table for database '%s' is stale. %s", databaseName.description(), routingTable); - CompletableFuture resultFuture = new CompletableFuture<>(); + var resultFuture = new CompletableFuture(); refreshRoutingTableFuture = resultFuture; rediscovery @@ -91,7 +91,7 @@ public synchronized CompletionStage ensureRoutingTable(ConnectionC null, context.overrideAuthToken()) .whenComplete((composition, completionError) -> { - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); if (error != null) { clusterCompositionLookupFailed(error); } else { @@ -117,7 +117,7 @@ public synchronized CompletionStage updateRoutingTable( < routingTable.expirationTimestamp()) { return completedFuture(routingTable); } - CompletableFuture resultFuture = new CompletableFuture<>(); + var resultFuture = new CompletableFuture(); refreshRoutingTableFuture = resultFuture; freshClusterCompositionFetched(compositionLookupResult); return resultFuture; @@ -145,7 +145,7 @@ private synchronized void freshClusterCompositionFetched(ClusterCompositionLooku log.debug("Updated routing table for database '%s'. %s", databaseName.description(), routingTable); - CompletableFuture routingTableFuture = refreshRoutingTableFuture; + var routingTableFuture = refreshRoutingTableFuture; refreshRoutingTableFuture = null; routingTableFuture.complete(routingTable); } catch (Throwable error) { @@ -160,7 +160,7 @@ private synchronized void clusterCompositionLookupFailed(Throwable error) { databaseName.description(), routingTable), error); routingTableRegistry.remove(databaseName); - CompletableFuture routingTableFuture = refreshRoutingTableFuture; + var routingTableFuture = refreshRoutingTableFuture; refreshRoutingTableFuture = null; routingTableFuture.completeExceptionally(error); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingTableRegistryImpl.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingTableRegistryImpl.java index 1d1f96dbf7..aa3f311206 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingTableRegistryImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingTableRegistryImpl.java @@ -86,8 +86,8 @@ public RoutingTableRegistryImpl( @Override public CompletionStage ensureRoutingTable(ConnectionContext context) { return ensureDatabaseNameIsCompleted(context).thenCompose(ctxAndHandler -> { - ConnectionContext completedContext = ctxAndHandler.getContext(); - RoutingTableHandler handler = ctxAndHandler.getHandler() != null + var completedContext = ctxAndHandler.getContext(); + var handler = ctxAndHandler.getHandler() != null ? ctxAndHandler.getHandler() : getOrCreate(Futures.joinNowOrElseThrow( completedContext.databaseNameFuture(), PENDING_DATABASE_NAME_EXCEPTION_SUPPLIER)); @@ -97,7 +97,7 @@ public CompletionStage ensureRoutingTable(ConnectionContext private CompletionStage ensureDatabaseNameIsCompleted(ConnectionContext context) { CompletionStage contextAndHandlerStage; - CompletableFuture contextDatabaseNameFuture = context.databaseNameFuture(); + var contextDatabaseNameFuture = context.databaseNameFuture(); if (contextDatabaseNameFuture.isDone()) { contextAndHandlerStage = CompletableFuture.completedFuture(new ConnectionContextAndHandler(context, null)); @@ -107,18 +107,17 @@ private CompletionStage ensureDatabaseNameIsComplet contextAndHandlerStage = CompletableFuture.completedFuture(new ConnectionContextAndHandler(context, null)); } else { - String impersonatedUser = context.impersonatedUser(); - Principal principal = new Principal(impersonatedUser); - CompletionStage databaseNameStage = principalToDatabaseNameStage.get(principal); - AtomicReference handlerRef = new AtomicReference<>(); + var impersonatedUser = context.impersonatedUser(); + var principal = new Principal(impersonatedUser); + var databaseNameStage = principalToDatabaseNameStage.get(principal); + var handlerRef = new AtomicReference(); if (databaseNameStage == null) { - CompletableFuture databaseNameFuture = new CompletableFuture<>(); + var databaseNameFuture = new CompletableFuture(); principalToDatabaseNameStage.put(principal, databaseNameFuture); databaseNameStage = databaseNameFuture; - ClusterRoutingTable routingTable = - new ClusterRoutingTable(DatabaseNameUtil.defaultDatabase(), clock); + var routingTable = new ClusterRoutingTable(DatabaseNameUtil.defaultDatabase(), clock); rediscovery .lookupClusterComposition( routingTable, @@ -127,10 +126,10 @@ private CompletionStage ensureDatabaseNameIsComplet impersonatedUser, context.overrideAuthToken()) .thenCompose(compositionLookupResult -> { - DatabaseName databaseName = DatabaseNameUtil.database(compositionLookupResult + var databaseName = DatabaseNameUtil.database(compositionLookupResult .getClusterComposition() .databaseName()); - RoutingTableHandler handler = getOrCreate(databaseName); + var handler = getOrCreate(databaseName); handlerRef.set(handler); return handler.updateRoutingTable(compositionLookupResult) .thenApply(ignored -> databaseName); @@ -167,7 +166,7 @@ public Set allServers() { // obviously we just had a snapshot of all servers in all routing tables // after we read it, the set could already be changed. Set servers = new HashSet<>(); - for (RoutingTableHandler tableHandler : routingTableHandlers.values()) { + for (var tableHandler : routingTableHandlers.values()) { servers.addAll(tableHandler.servers()); } return servers; @@ -203,7 +202,7 @@ public boolean contains(DatabaseName databaseName) { private RoutingTableHandler getOrCreate(DatabaseName databaseName) { return routingTableHandlers.computeIfAbsent(databaseName, name -> { - RoutingTableHandler handler = factory.newInstance(name, this); + var handler = factory.newInstance(name, this); log.debug("Routing table handler for database '%s' is added.", databaseName.description()); return handler; }); @@ -230,7 +229,7 @@ static class RoutingTableHandlerFactory { } RoutingTableHandler newInstance(DatabaseName databaseName, RoutingTableRegistry allTables) { - ClusterRoutingTable routingTable = new ClusterRoutingTable(databaseName, clock); + var routingTable = new ClusterRoutingTable(databaseName, clock); return new RoutingTableHandlerImpl( routingTable, rediscovery, connectionPool, allTables, logging, routingTablePurgeDelayMs); } @@ -251,7 +250,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - Principal principal = (Principal) o; + var principal = (Principal) o; return Objects.equals(id, principal.id); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/SingleDatabaseRoutingProcedureRunner.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/SingleDatabaseRoutingProcedureRunner.java index 127e71069e..e4b4af54af 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/SingleDatabaseRoutingProcedureRunner.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/SingleDatabaseRoutingProcedureRunner.java @@ -58,8 +58,8 @@ public SingleDatabaseRoutingProcedureRunner(RoutingContext context) { @Override public CompletionStage run( Connection connection, DatabaseName databaseName, Set bookmarks, String impersonatedUser) { - DirectConnection delegate = connection(connection); - Query procedure = procedureQuery(connection.protocol().version(), databaseName); + var delegate = connection(connection); + var procedure = procedureQuery(connection.protocol().version(), databaseName); return runProcedure(delegate, procedure, adaptBookmarks(bookmarks)) .thenCompose(records -> releaseConnection(delegate, records)) .handle((records, error) -> processProcedureResponse(procedure, records, error)); @@ -109,7 +109,7 @@ private CompletionStage> releaseConnection(Connection connection, L private static RoutingProcedureResponse processProcedureResponse( Query procedure, List records, Throwable error) { - Throwable cause = Futures.completionExceptionCause(error); + var cause = Futures.completionExceptionCause(error); if (cause != null) { return handleError(procedure, cause); } else { diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/loadbalancing/LeastConnectedLoadBalancingStrategy.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/loadbalancing/LeastConnectedLoadBalancingStrategy.java index 0ba7974569..578ef7ece7 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/loadbalancing/LeastConnectedLoadBalancingStrategy.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/loadbalancing/LeastConnectedLoadBalancingStrategy.java @@ -53,23 +53,23 @@ public BoltServerAddress selectWriter(List knownWriters) { private BoltServerAddress select( List addresses, RoundRobinArrayIndex addressesIndex, String addressType) { - int size = addresses.size(); + var size = addresses.size(); if (size == 0) { log.trace("Unable to select %s, no known addresses given", addressType); return null; } // choose start index for iteration in round-robin fashion - int startIndex = addressesIndex.next(size); - int index = startIndex; + var startIndex = addressesIndex.next(size); + var index = startIndex; BoltServerAddress leastConnectedAddress = null; - int leastActiveConnections = Integer.MAX_VALUE; + var leastActiveConnections = Integer.MAX_VALUE; // iterate over the array to find the least connected address do { - BoltServerAddress address = addresses.get(index); - int activeConnections = connectionPool.inUseConnections(address); + var address = addresses.get(index); + var activeConnections = connectionPool.inUseConnections(address); if (activeConnections < leastActiveConnections) { leastConnectedAddress = address; diff --git a/driver/src/main/java/org/neo4j/driver/internal/cluster/loadbalancing/LoadBalancer.java b/driver/src/main/java/org/neo4j/driver/internal/cluster/loadbalancing/LoadBalancer.java index ca4cbdfdfe..a030d396f8 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cluster/loadbalancing/LoadBalancer.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cluster/loadbalancing/LoadBalancer.java @@ -122,7 +122,7 @@ public CompletionStage verifyConnectivity() { .thenCompose(supports -> routingTables.ensureRoutingTable(simple(supports))) .handle((ignored, error) -> { if (error != null) { - Throwable cause = completionExceptionCause(error); + var cause = completionExceptionCause(error); if (cause instanceof ServiceUnavailableException) { throw Futures.asCompletionException(new ServiceUnavailableException( "Unable to connect to database management service, ensure the database is running and that there is a working network connection to it.", @@ -165,10 +165,10 @@ private CompletionStage detectFeature( CompletableFuture result = completedWithNull(); Throwable baseError = new ServiceUnavailableException(baseErrorMessagePrefix + addresses); - for (BoltServerAddress address : addresses) { + for (var address : addresses) { result = onErrorContinue(result, baseError, completionError -> { // We fail fast on security errors - Throwable error = completionExceptionCause(completionError); + var error = completionExceptionCause(completionError); if (error instanceof SecurityException) { return failedFuture(error); } @@ -181,7 +181,7 @@ private CompletionStage detectFeature( return onErrorContinue(result, baseError, completionError -> { // If we failed with security errors, then we rethrow the security error out, otherwise we throw the chained // errors. - Throwable error = completionExceptionCause(completionError); + var error = completionExceptionCause(completionError); if (error instanceof SecurityException) { return failedFuture(error); } @@ -195,7 +195,7 @@ public RoutingTableRegistry getRoutingTableRegistry() { private CompletionStage acquire( AccessMode mode, RoutingTable routingTable, AuthToken overrideAuthToken) { - CompletableFuture result = new CompletableFuture<>(); + var result = new CompletableFuture(); List attemptExceptions = new ArrayList<>(); acquire(mode, routingTable, result, overrideAuthToken, attemptExceptions); return result; @@ -207,11 +207,11 @@ private void acquire( CompletableFuture result, AuthToken overrideAuthToken, List attemptErrors) { - List addresses = getAddressesByMode(mode, routingTable); - BoltServerAddress address = selectAddress(mode, addresses); + var addresses = getAddressesByMode(mode, routingTable); + var address = selectAddress(mode, addresses); if (address == null) { - SessionExpiredException completionError = new SessionExpiredException( + var completionError = new SessionExpiredException( format(CONNECTION_ACQUISITION_COMPLETION_EXCEPTION_MESSAGE, mode, routingTable)); attemptErrors.forEach(completionError::addSuppressed); log.error(CONNECTION_ACQUISITION_COMPLETION_FAILURE_MESSAGE, completionError); @@ -220,10 +220,10 @@ private void acquire( } connectionPool.acquire(address, overrideAuthToken).whenComplete((connection, completionError) -> { - Throwable error = completionExceptionCause(completionError); + var error = completionExceptionCause(completionError); if (error != null) { if (error instanceof ServiceUnavailableException) { - String attemptMessage = format(CONNECTION_ACQUISITION_ATTEMPT_FAILURE_MESSAGE, address); + var attemptMessage = format(CONNECTION_ACQUISITION_ATTEMPT_FAILURE_MESSAGE, address); log.warn(attemptMessage); log.debug(attemptMessage, error); attemptErrors.add(error); diff --git a/driver/src/main/java/org/neo4j/driver/internal/cursor/AsyncResultCursorImpl.java b/driver/src/main/java/org/neo4j/driver/internal/cursor/AsyncResultCursorImpl.java index e75625be2e..34f7018645 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/cursor/AsyncResultCursorImpl.java +++ b/driver/src/main/java/org/neo4j/driver/internal/cursor/AsyncResultCursorImpl.java @@ -81,7 +81,7 @@ public CompletionStage singleAsync() { @Override public CompletionStage forEachAsync(Consumer action) { - CompletableFuture resultFuture = new CompletableFuture<>(); + var resultFuture = new CompletableFuture(); internalForEachAsync(action, resultFuture); return resultFuture.thenCompose(ignore -> consumeAsync()); } @@ -114,12 +114,12 @@ public CompletionStage pullAllFailureAsync() { } private void internalForEachAsync(Consumer action, CompletableFuture resultFuture) { - CompletionStage recordFuture = nextAsync(); + var recordFuture = nextAsync(); // use async completion listener because of recursion, otherwise it is possible for // the caller thread to get StackOverflowError when result is large and buffered recordFuture.whenCompleteAsync((record, completionError) -> { - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); if (error != null) { resultFuture.completeExceptionally(error); } else if (record != null) { diff --git a/driver/src/main/java/org/neo4j/driver/internal/handlers/HelloResponseHandler.java b/driver/src/main/java/org/neo4j/driver/internal/handlers/HelloResponseHandler.java index 8e2fb99328..30f4abeac3 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/handlers/HelloResponseHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/handlers/HelloResponseHandler.java @@ -33,10 +33,8 @@ import java.time.Clock; import java.util.Map; import java.util.Optional; -import java.util.Set; import java.util.function.Supplier; import org.neo4j.driver.Value; -import org.neo4j.driver.internal.messaging.BoltProtocolVersion; import org.neo4j.driver.internal.messaging.v43.BoltProtocolV43; import org.neo4j.driver.internal.messaging.v44.BoltProtocolV44; import org.neo4j.driver.internal.spi.ResponseHandler; @@ -60,17 +58,17 @@ public HelloResponseHandler(ChannelPromise connectionInitializedPromise, Clock c @Override public void onSuccess(Map metadata) { try { - String serverAgent = extractServer(metadata).asString(); + var serverAgent = extractServer(metadata).asString(); setServerAgent(channel, serverAgent); - String connectionId = extractConnectionId(metadata); + var connectionId = extractConnectionId(metadata); setConnectionId(channel, connectionId); processConfigurationHints(metadata); - BoltProtocolVersion protocolVersion = protocolVersion(channel); + var protocolVersion = protocolVersion(channel); if (BoltProtocolV44.VERSION.equals(protocolVersion) || BoltProtocolV43.VERSION.equals(protocolVersion)) { - Set boltPatches = extractBoltPatches(metadata); + var boltPatches = extractBoltPatches(metadata); if (!boltPatches.isEmpty()) { boltPatchesListeners(channel).forEach(listener -> listener.handle(boltPatches)); } @@ -98,7 +96,7 @@ public void onRecord(Value[] fields) { } private static String extractConnectionId(Map metadata) { - Value value = metadata.get(CONNECTION_ID_METADATA_KEY); + var value = metadata.get(CONNECTION_ID_METADATA_KEY); if (value == null || value.isNull()) { throw new IllegalStateException("Unable to extract " + CONNECTION_ID_METADATA_KEY + " from a response to HELLO message. " + "Received metadata: " + metadata); @@ -107,7 +105,7 @@ private static String extractConnectionId(Map metadata) { } private void processConfigurationHints(Map metadata) { - Value configurationHints = metadata.get(CONFIGURATION_HINTS_KEY); + var configurationHints = metadata.get(CONFIGURATION_HINTS_KEY); if (configurationHints != null) { getFromSupplierOrEmptyOnException(() -> configurationHints .get(CONNECTION_RECEIVE_TIMEOUT_SECONDS_KEY) diff --git a/driver/src/main/java/org/neo4j/driver/internal/handlers/HelloV51ResponseHandler.java b/driver/src/main/java/org/neo4j/driver/internal/handlers/HelloV51ResponseHandler.java index d9a4c6dde6..1c127f95a3 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/handlers/HelloV51ResponseHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/handlers/HelloV51ResponseHandler.java @@ -45,7 +45,7 @@ public void onSuccess(Map metadata) { var serverAgent = extractServer(metadata).asString(); setServerAgent(channel, serverAgent); - String connectionId = extractConnectionId(metadata); + var connectionId = extractConnectionId(metadata); setConnectionId(channel, connectionId); helloFuture.complete(null); @@ -66,7 +66,7 @@ public void onRecord(Value[] fields) { } private static String extractConnectionId(Map metadata) { - Value value = metadata.get(CONNECTION_ID_METADATA_KEY); + var value = metadata.get(CONNECTION_ID_METADATA_KEY); if (value == null || value.isNull()) { throw new IllegalStateException("Unable to extract " + CONNECTION_ID_METADATA_KEY + " from a response to HELLO message. " + "Received metadata: " + metadata); diff --git a/driver/src/main/java/org/neo4j/driver/internal/handlers/LegacyPullAllResponseHandler.java b/driver/src/main/java/org/neo4j/driver/internal/handlers/LegacyPullAllResponseHandler.java index 490c77219b..05110eac98 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/handlers/LegacyPullAllResponseHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/handlers/LegacyPullAllResponseHandler.java @@ -116,12 +116,12 @@ public synchronized void onFailure(Throwable error) { completionListener.afterFailure(error); - boolean failedRecordFuture = failRecordFuture(error); + var failedRecordFuture = failRecordFuture(error); if (failedRecordFuture) { // error propagated through the record future completeFailureFuture(null); } else { - boolean completedFailureFuture = completeFailureFuture(error); + var completedFailureFuture = completeFailureFuture(error); if (!completedFailureFuture) { // error has not been propagated to the user, remember it failure = error; @@ -146,7 +146,7 @@ public synchronized void disableAutoReadManagement() { } public synchronized CompletionStage peekAsync() { - Record record = records.peek(); + var record = records.peek(); if (record == null) { if (failure != null) { return failedFuture(extractFailure()); @@ -218,7 +218,7 @@ private void enqueueRecord(Record record) { records.add(record); - boolean shouldBufferAllRecords = failureFuture != null; + var shouldBufferAllRecords = failureFuture != null; // when failure is requested we have to buffer all remaining records and then return the error // do not disable auto-read in this case, otherwise records will not be consumed and trailing // SUCCESS or FAILURE message will not arrive as well, so callers will get stuck waiting for the error @@ -231,7 +231,7 @@ private void enqueueRecord(Record record) { } private Record dequeueRecord() { - Record record = records.poll(); + var record = records.poll(); if (records.size() < RECORD_BUFFER_LOW_WATERMARK) { // less than low watermark records are now available in the buffer, tell connection to pre-fetch more @@ -249,7 +249,7 @@ private List recordsAsList(Function mapFunction) { List result = new ArrayList<>(records.size()); while (!records.isEmpty()) { - Record record = records.poll(); + var record = records.poll(); result.add(mapFunction.apply(record)); } return result; @@ -260,14 +260,14 @@ private Throwable extractFailure() { throw new IllegalStateException("Can't extract failure because it does not exist"); } - Throwable error = failure; + var error = failure; failure = null; // propagate failure only once return error; } private void completeRecordFuture(Record record) { if (recordFuture != null) { - CompletableFuture future = recordFuture; + var future = recordFuture; recordFuture = null; future.complete(record); } @@ -275,7 +275,7 @@ private void completeRecordFuture(Record record) { private boolean failRecordFuture(Throwable error) { if (recordFuture != null) { - CompletableFuture future = recordFuture; + var future = recordFuture; recordFuture = null; future.completeExceptionally(error); return true; @@ -285,7 +285,7 @@ private boolean failRecordFuture(Throwable error) { private boolean completeFailureFuture(Throwable error) { if (failureFuture != null) { - CompletableFuture future = failureFuture; + var future = failureFuture; failureFuture = null; future.complete(error); return true; @@ -294,7 +294,7 @@ private boolean completeFailureFuture(Throwable error) { } private ResultSummary extractResultSummary(Map metadata) { - long resultAvailableAfter = runResponseHandler.resultAvailableAfter(); + var resultAvailableAfter = runResponseHandler.resultAvailableAfter(); return metadataExtractor.extractSummary(query, connection, resultAvailableAfter, metadata); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/handlers/PullHandlers.java b/driver/src/main/java/org/neo4j/driver/internal/handlers/PullHandlers.java index 3cce37f653..38f55e843b 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/handlers/PullHandlers.java +++ b/driver/src/main/java/org/neo4j/driver/internal/handlers/PullHandlers.java @@ -36,8 +36,7 @@ public static PullAllResponseHandler newBoltV3PullAllHandler( Connection connection, Consumer bookmarkConsumer, UnmanagedTransaction tx) { - PullResponseCompletionListener completionListener = - createPullResponseCompletionListener(connection, bookmarkConsumer, tx); + var completionListener = createPullResponseCompletionListener(connection, bookmarkConsumer, tx); return new LegacyPullAllResponseHandler( query, runHandler, connection, BoltProtocolV3.METADATA_EXTRACTOR, completionListener); @@ -50,8 +49,7 @@ public static PullAllResponseHandler newBoltV4AutoPullHandler( Consumer bookmarkConsumer, UnmanagedTransaction tx, long fetchSize) { - PullResponseCompletionListener completionListener = - createPullResponseCompletionListener(connection, bookmarkConsumer, tx); + var completionListener = createPullResponseCompletionListener(connection, bookmarkConsumer, tx); return new AutoPullResponseHandler( query, runHandler, connection, BoltProtocolV3.METADATA_EXTRACTOR, completionListener, fetchSize); @@ -63,8 +61,7 @@ public static PullResponseHandler newBoltV4BasicPullHandler( Connection connection, Consumer bookmarkConsumer, UnmanagedTransaction tx) { - PullResponseCompletionListener completionListener = - createPullResponseCompletionListener(connection, bookmarkConsumer, tx); + var completionListener = createPullResponseCompletionListener(connection, bookmarkConsumer, tx); return new BasicPullResponseHandler( query, runHandler, connection, BoltProtocolV3.METADATA_EXTRACTOR, completionListener); diff --git a/driver/src/main/java/org/neo4j/driver/internal/handlers/RouteMessageResponseHandler.java b/driver/src/main/java/org/neo4j/driver/internal/handlers/RouteMessageResponseHandler.java index d6d5bede06..2d07476f1d 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/handlers/RouteMessageResponseHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/handlers/RouteMessageResponseHandler.java @@ -67,7 +67,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - RouteMessageResponseHandler that = (RouteMessageResponseHandler) o; + var that = (RouteMessageResponseHandler) o; return completableFuture.equals(that.completableFuture); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/handlers/RoutingResponseHandler.java b/driver/src/main/java/org/neo4j/driver/internal/handlers/RoutingResponseHandler.java index 4c8db3df39..48576ce6bd 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/handlers/RoutingResponseHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/handlers/RoutingResponseHandler.java @@ -57,7 +57,7 @@ public void onSuccess(Map metadata) { @Override public void onFailure(Throwable error) { - Throwable newError = handledError(error); + var newError = handledError(error); delegate.onFailure(newError); } @@ -77,7 +77,7 @@ public void disableAutoReadManagement() { } private Throwable handledError(Throwable receivedError) { - Throwable error = Futures.completionExceptionCause(receivedError); + var error = Futures.completionExceptionCause(receivedError); if (error instanceof ServiceUnavailableException) { return handledServiceUnavailableException(((ServiceUnavailableException) error)); @@ -96,7 +96,7 @@ private Throwable handledServiceUnavailableException(ServiceUnavailableException } private Throwable handledTransientException(TransientException e) { - String errorCode = e.code(); + var errorCode = e.code(); if (Objects.equals(errorCode, "Neo.TransientError.General.DatabaseUnavailable")) { errorHandler.onConnectionFailure(address); } @@ -121,7 +121,7 @@ private Throwable handledClientException(ClientException e) { } private static boolean isFailureToWrite(ClientException e) { - String errorCode = e.code(); + var errorCode = e.code(); return Objects.equals(errorCode, "Neo.ClientError.Cluster.NotALeader") || Objects.equals(errorCode, "Neo.ClientError.General.ForbiddenOnReadOnlyDatabase"); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/handlers/pulln/AutoPullResponseHandler.java b/driver/src/main/java/org/neo4j/driver/internal/handlers/pulln/AutoPullResponseHandler.java index ed5952431a..5bfe8baa92 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/handlers/pulln/AutoPullResponseHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/handlers/pulln/AutoPullResponseHandler.java @@ -121,7 +121,7 @@ private void handleFailure(Throwable error) { } public synchronized CompletionStage peekAsync() { - Record record = records.peek(); + var record = records.peek(); if (record == null) { if (isDone()) { return completedWithValueIfNoFailure(null); @@ -199,7 +199,7 @@ private void enqueueRecord(Record record) { } private Record dequeueRecord() { - Record record = records.poll(); + var record = records.poll(); if (records.size() <= lowRecordWatermark) { // if not in streaming state we need to restart streaming @@ -219,7 +219,7 @@ private List recordsAsList(Function mapFunction) { List result = new ArrayList<>(records.size()); while (!records.isEmpty()) { - Record record = records.poll(); + var record = records.poll(); result.add(mapFunction.apply(record)); } return result; @@ -230,14 +230,14 @@ private Throwable extractFailure() { throw new IllegalStateException("Can't extract failure because it does not exist"); } - Throwable error = failure; + var error = failure; failure = null; // propagate failure only once return error; } private void completeRecordFuture(Record record) { if (recordFuture != null) { - CompletableFuture future = recordFuture; + var future = recordFuture; recordFuture = null; future.complete(record); } @@ -245,7 +245,7 @@ private void completeRecordFuture(Record record) { private void completeSummaryFuture(ResultSummary summary) { if (summaryFuture != null) { - CompletableFuture future = summaryFuture; + var future = summaryFuture; summaryFuture = null; future.complete(summary); } @@ -253,7 +253,7 @@ private void completeSummaryFuture(ResultSummary summary) { private boolean failRecordFuture(Throwable error) { if (recordFuture != null) { - CompletableFuture future = recordFuture; + var future = recordFuture; recordFuture = null; future.completeExceptionally(error); return true; @@ -263,7 +263,7 @@ private boolean failRecordFuture(Throwable error) { private boolean failSummaryFuture(Throwable error) { if (summaryFuture != null) { - CompletableFuture future = summaryFuture; + var future = summaryFuture; summaryFuture = null; future.completeExceptionally(error); return true; diff --git a/driver/src/main/java/org/neo4j/driver/internal/handlers/pulln/BasicPullResponseHandler.java b/driver/src/main/java/org/neo4j/driver/internal/handlers/pulln/BasicPullResponseHandler.java index 64056e4b20..7fbf8bcefc 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/handlers/pulln/BasicPullResponseHandler.java +++ b/driver/src/main/java/org/neo4j/driver/internal/handlers/pulln/BasicPullResponseHandler.java @@ -222,7 +222,7 @@ protected boolean isDone() { } private ResultSummary extractResultSummary(Map metadata) { - long resultAvailableAfter = runResponseHandler.resultAvailableAfter(); + var resultAvailableAfter = runResponseHandler.resultAvailableAfter(); return metadataExtractor.extractSummary(query, connection, resultAvailableAfter, metadata); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/ChannelActivityLogger.java b/driver/src/main/java/org/neo4j/driver/internal/logging/ChannelActivityLogger.java index a94e28e564..c23cc46550 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/logging/ChannelActivityLogger.java +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/ChannelActivityLogger.java @@ -24,7 +24,6 @@ import io.netty.channel.Channel; import org.neo4j.driver.Logger; import org.neo4j.driver.Logging; -import org.neo4j.driver.internal.BoltServerAddress; import org.neo4j.driver.internal.async.connection.ChannelAttributes; public class ChannelActivityLogger extends ReformattedLogger { @@ -50,8 +49,8 @@ protected String reformat(String message) { return message; } - String dbConnectionId = getDbConnectionId(); - String serverAddress = getServerAddress(); + var dbConnectionId = getDbConnectionId(); + var serverAddress = getServerAddress(); return format( "[0x%s][%s][%s] %s", @@ -68,7 +67,7 @@ private String getDbConnectionId() { private String getServerAddress() { if (serverAddress == null) { - BoltServerAddress serverAddress = ChannelAttributes.serverAddress(channel); + var serverAddress = ChannelAttributes.serverAddress(channel); this.serverAddress = serverAddress != null ? serverAddress.toString() : null; } 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 fe415bc49f..844cd7ab86 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 @@ -27,7 +27,6 @@ import java.util.Objects; import java.util.logging.ConsoleHandler; import java.util.logging.Formatter; -import java.util.logging.Handler; import java.util.logging.Level; import java.util.logging.LogRecord; import org.neo4j.driver.Logger; @@ -58,12 +57,12 @@ public static class ConsoleLogger extends JULogger { public ConsoleLogger(String name, Level level) { super(name, level); - java.util.logging.Logger logger = java.util.logging.Logger.getLogger(name); + var logger = java.util.logging.Logger.getLogger(name); logger.setUseParentHandlers(false); // remove all other logging handlers - Handler[] handlers = logger.getHandlers(); - for (Handler handlerToRemove : handlers) { + var handlers = logger.getHandlers(); + for (var handlerToRemove : handlers) { logger.removeHandler(handlerToRemove); } @@ -86,10 +85,10 @@ public String format(LogRecord record) { } private String formatThrowable(Throwable throwable) { - String throwableString = ""; + var throwableString = ""; if (throwable != null) { - StringWriter sw = new StringWriter(); - PrintWriter pw = new PrintWriter(sw); + var sw = new StringWriter(); + var pw = new PrintWriter(sw); pw.println(); throwable.printStackTrace(pw); pw.close(); diff --git a/driver/src/main/java/org/neo4j/driver/internal/logging/NettyLogger.java b/driver/src/main/java/org/neo4j/driver/internal/logging/NettyLogger.java index bb4210f395..0c3ae182a2 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/logging/NettyLogger.java +++ b/driver/src/main/java/org/neo4j/driver/internal/logging/NettyLogger.java @@ -185,7 +185,7 @@ public void error(String format, Object... arguments) { return; } - Object arg = arguments[arguments.length - 1]; + var arg = arguments[arguments.length - 1]; if (arg instanceof Throwable) { // still give all arguments to string format, // for the worst case, the redundant parameter will be ignored. diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/AbstractMessageWriter.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/AbstractMessageWriter.java index 3737cfffad..4c140c8406 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/AbstractMessageWriter.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/AbstractMessageWriter.java @@ -34,8 +34,8 @@ protected AbstractMessageWriter(ValuePacker packer, Map en @Override public final void write(Message msg) throws IOException { - byte signature = msg.signature(); - MessageEncoder encoder = encodersByMessageSignature.get(signature); + var signature = msg.signature(); + var encoder = encodersByMessageSignature.get(signature); if (encoder == null) { throw new IOException("No encoder found for message " + msg + " with signature " + signature); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/BoltProtocolVersion.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/BoltProtocolVersion.java index 791001f3c4..754ff0f39a 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/BoltProtocolVersion.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/BoltProtocolVersion.java @@ -30,8 +30,8 @@ public BoltProtocolVersion(int majorVersion, int minorVersion) { } public static BoltProtocolVersion fromRawBytes(int rawVersion) { - int major = rawVersion & 0x000000FF; - int minor = (rawVersion >> 8) & 0x000000FF; + var major = rawVersion & 0x000000FF; + var minor = (rawVersion >> 8) & 0x000000FF; return new BoltProtocolVersion(major, minor); } @@ -45,7 +45,7 @@ public long getMajorVersion() { } public int toInt() { - int shiftedMinor = minorVersion << 8; + var shiftedMinor = minorVersion << 8; return shiftedMinor | majorVersion; } @@ -55,8 +55,8 @@ public int toIntRange(BoltProtocolVersion minVersion) { } else if (minorVersion < minVersion.minorVersion) { throw new IllegalArgumentException("Max version should be newer than min version"); } - int range = minorVersion - minVersion.minorVersion; - int shiftedRange = range << 16; + var range = minorVersion - minVersion.minorVersion; + var shiftedRange = range << 16; return shiftedRange | toInt(); } @@ -80,7 +80,7 @@ public boolean equals(Object o) { } else if (!(o instanceof BoltProtocolVersion)) { return false; } else { - BoltProtocolVersion other = (BoltProtocolVersion) o; + var other = (BoltProtocolVersion) o; return this.getMajorVersion() == other.getMajorVersion() && this.getMinorVersion() == other.getMinorVersion(); } @@ -88,7 +88,7 @@ public boolean equals(Object o) { @Override public int compareTo(BoltProtocolVersion other) { - int result = Integer.compare(majorVersion, other.majorVersion); + var result = Integer.compare(majorVersion, other.majorVersion); if (result == 0) { return Integer.compare(minorVersion, other.minorVersion); diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonMessageReader.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonMessageReader.java index 0482c28d6c..39cf510253 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonMessageReader.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonMessageReader.java @@ -19,8 +19,6 @@ package org.neo4j.driver.internal.messaging.common; import java.io.IOException; -import java.util.Map; -import org.neo4j.driver.Value; import org.neo4j.driver.internal.messaging.MessageFormat; import org.neo4j.driver.internal.messaging.ResponseMessageHandler; import org.neo4j.driver.internal.messaging.ValueUnpacker; @@ -44,7 +42,7 @@ protected CommonMessageReader(ValueUnpacker unpacker) { @Override public void read(ResponseMessageHandler handler) throws IOException { unpacker.unpackStructHeader(); - int type = unpacker.unpackStructSignature(); + var type = unpacker.unpackStructSignature(); switch (type) { case SuccessMessage.SIGNATURE: unpackSuccessMessage(handler); @@ -64,14 +62,14 @@ public void read(ResponseMessageHandler handler) throws IOException { } private void unpackSuccessMessage(ResponseMessageHandler output) throws IOException { - Map map = unpacker.unpackMap(); + var map = unpacker.unpackMap(); output.handleSuccessMessage(map); } private void unpackFailureMessage(ResponseMessageHandler output) throws IOException { - Map params = unpacker.unpackMap(); - String code = params.get("code").asString(); - String message = params.get("message").asString(); + var params = unpacker.unpackMap(); + var code = params.get("code").asString(); + var message = params.get("message").asString(); output.handleFailureMessage(code, message); } @@ -80,7 +78,7 @@ private void unpackIgnoredMessage(ResponseMessageHandler output) throws IOExcept } private void unpackRecordMessage(ResponseMessageHandler output) throws IOException { - Value[] fields = unpacker.unpackArray(); + var fields = unpacker.unpackArray(); output.handleRecordMessage(fields); } } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonValuePacker.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonValuePacker.java index aac8a0d1a0..e253434dff 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonValuePacker.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonValuePacker.java @@ -21,12 +21,10 @@ import static java.time.ZoneOffset.UTC; import java.io.IOException; -import java.time.Instant; import java.time.LocalDate; import java.time.LocalDateTime; import java.time.LocalTime; import java.time.OffsetTime; -import java.time.ZoneId; import java.time.ZoneOffset; import java.time.ZonedDateTime; import java.util.Map; @@ -103,7 +101,7 @@ public final void pack(Map map) throws IOException { return; } packer.packMapHeader(map.size()); - for (Map.Entry entry : map.entrySet()) { + for (var entry : map.entrySet()) { packer.pack(entry.getKey()); pack(entry.getValue()); } @@ -162,7 +160,7 @@ protected void packInternalValue(InternalValue value) throws IOException { case MAP: packer.packMapHeader(value.size()); - for (String s : value.keys()) { + for (var s : value.keys()) { packer.pack(s); pack(value.get(s)); } @@ -170,7 +168,7 @@ protected void packInternalValue(InternalValue value) throws IOException { case LIST: packer.packListHeader(value.size()); - for (Value item : value.values()) { + for (var item : value.values()) { pack(item); } break; @@ -186,8 +184,8 @@ private void packDate(LocalDate localDate) throws IOException { } private void packTime(OffsetTime offsetTime) throws IOException { - long nanoOfDayLocal = offsetTime.toLocalTime().toNanoOfDay(); - int offsetSeconds = offsetTime.getOffset().getTotalSeconds(); + var nanoOfDayLocal = offsetTime.toLocalTime().toNanoOfDay(); + var offsetSeconds = offsetTime.getOffset().getTotalSeconds(); packer.packStructHeader(TIME_STRUCT_SIZE, TIME); packer.pack(nanoOfDayLocal); @@ -200,8 +198,8 @@ private void packLocalTime(LocalTime localTime) throws IOException { } private void packLocalDateTime(LocalDateTime localDateTime) throws IOException { - long epochSecondUtc = localDateTime.toEpochSecond(UTC); - int nano = localDateTime.getNano(); + var epochSecondUtc = localDateTime.toEpochSecond(UTC); + var nano = localDateTime.getNano(); packer.packStructHeader(LOCAL_DATE_TIME_STRUCT_SIZE, LOCAL_DATE_TIME); packer.pack(epochSecondUtc); @@ -209,20 +207,20 @@ private void packLocalDateTime(LocalDateTime localDateTime) throws IOException { } private void packZonedDateTimeUsingUtcBaseline(ZonedDateTime zonedDateTime) throws IOException { - Instant instant = zonedDateTime.toInstant(); - long epochSecondLocal = instant.getEpochSecond(); - int nano = zonedDateTime.getNano(); - ZoneId zone = zonedDateTime.getZone(); + var instant = zonedDateTime.toInstant(); + var epochSecondLocal = instant.getEpochSecond(); + var nano = zonedDateTime.getNano(); + var zone = zonedDateTime.getZone(); if (zone instanceof ZoneOffset) { - int offsetSeconds = ((ZoneOffset) zone).getTotalSeconds(); + var offsetSeconds = ((ZoneOffset) zone).getTotalSeconds(); packer.packStructHeader(DATE_TIME_STRUCT_SIZE, DATE_TIME_WITH_ZONE_OFFSET_UTC); packer.pack(epochSecondLocal); packer.pack(nano); packer.pack(offsetSeconds); } else { - String zoneId = zone.getId(); + var zoneId = zone.getId(); packer.packStructHeader(DATE_TIME_STRUCT_SIZE, DATE_TIME_WITH_ZONE_ID_UTC); packer.pack(epochSecondLocal); @@ -232,19 +230,19 @@ private void packZonedDateTimeUsingUtcBaseline(ZonedDateTime zonedDateTime) thro } private void packZonedDateTime(ZonedDateTime zonedDateTime) throws IOException { - long epochSecondLocal = zonedDateTime.toLocalDateTime().toEpochSecond(UTC); - int nano = zonedDateTime.getNano(); + var epochSecondLocal = zonedDateTime.toLocalDateTime().toEpochSecond(UTC); + var nano = zonedDateTime.getNano(); - ZoneId zone = zonedDateTime.getZone(); + var zone = zonedDateTime.getZone(); if (zone instanceof ZoneOffset) { - int offsetSeconds = ((ZoneOffset) zone).getTotalSeconds(); + var offsetSeconds = ((ZoneOffset) zone).getTotalSeconds(); packer.packStructHeader(DATE_TIME_STRUCT_SIZE, DATE_TIME_WITH_ZONE_OFFSET); packer.pack(epochSecondLocal); packer.pack(nano); packer.pack(offsetSeconds); } else { - String zoneId = zone.getId(); + var zoneId = zone.getId(); packer.packStructHeader(DATE_TIME_STRUCT_SIZE, DATE_TIME_WITH_ZONE_ID); packer.pack(epochSecondLocal); diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonValueUnpacker.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonValueUnpacker.java index ce7066e9c0..1727534bad 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonValueUnpacker.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/common/CommonValueUnpacker.java @@ -48,7 +48,6 @@ import org.neo4j.driver.internal.messaging.ValueUnpacker; import org.neo4j.driver.internal.packstream.PackInput; import org.neo4j.driver.internal.packstream.PackStream; -import org.neo4j.driver.internal.packstream.PackType; import org.neo4j.driver.internal.types.TypeConstructor; import org.neo4j.driver.internal.util.Iterables; import org.neo4j.driver.internal.value.ListValue; @@ -117,13 +116,13 @@ public int unpackStructSignature() throws IOException { @Override public Map unpackMap() throws IOException { - int size = (int) unpacker.unpackMapHeader(); + var size = (int) unpacker.unpackMapHeader(); if (size == 0) { return Collections.emptyMap(); } Map map = Iterables.newHashMapWithSize(size); - for (int i = 0; i < size; i++) { - String key = unpacker.unpackString(); + for (var i = 0; i < size; i++) { + var key = unpacker.unpackString(); map.put(key, unpack()); } return map; @@ -131,16 +130,16 @@ public Map unpackMap() throws IOException { @Override public Value[] unpackArray() throws IOException { - int size = (int) unpacker.unpackListHeader(); - Value[] values = new Value[size]; - for (int i = 0; i < size; i++) { + var size = (int) unpacker.unpackListHeader(); + var values = new Value[size]; + for (var i = 0; i < size; i++) { values[i] = unpack(); } return values; } protected Value unpack() throws IOException { - PackType type = unpacker.peekNextType(); + var type = unpacker.peekNextType(); switch (type) { case NULL: return value(unpacker.unpackNull()); @@ -158,16 +157,16 @@ protected Value unpack() throws IOException { return new MapValue(unpackMap()); } case LIST: { - int size = (int) unpacker.unpackListHeader(); - Value[] vals = new Value[size]; - for (int j = 0; j < size; j++) { + var size = (int) unpacker.unpackListHeader(); + var vals = new Value[size]; + for (var j = 0; j < size; j++) { vals[j] = unpack(); } return new ListValue(vals); } case STRUCT: { - long size = unpacker.unpackStructHeader(); - byte structType = unpacker.unpackStructSignature(); + var size = unpacker.unpackStructHeader(); + var structType = unpacker.unpackStructSignature(); return unpackStruct(size, structType); } } @@ -227,7 +226,7 @@ private Value unpackStruct(long size, byte type) throws IOException { return unpackPoint3D(); case NODE: ensureCorrectStructSize(TypeConstructor.NODE, getNodeFields(), size); - InternalNode adapted = unpackNode(); + var adapted = unpackNode(); return new NodeValue(adapted); case RELATIONSHIP: ensureCorrectStructSize(TypeConstructor.RELATIONSHIP, getRelationshipFields(), size); @@ -241,13 +240,13 @@ private Value unpackStruct(long size, byte type) throws IOException { } protected Value unpackRelationship() throws IOException { - long urn = unpacker.unpackLong(); - long startUrn = unpacker.unpackLong(); - long endUrn = unpacker.unpackLong(); - String relType = unpacker.unpackString(); - Map props = unpackMap(); + var urn = unpacker.unpackLong(); + var startUrn = unpacker.unpackLong(); + var endUrn = unpacker.unpackLong(); + var relType = unpacker.unpackString(); + var props = unpackMap(); - InternalRelationship adapted = new InternalRelationship( + var adapted = new InternalRelationship( urn, String.valueOf(urn), startUrn, @@ -260,17 +259,17 @@ protected Value unpackRelationship() throws IOException { } protected InternalNode unpackNode() throws IOException { - long urn = unpacker.unpackLong(); + var urn = unpacker.unpackLong(); - int numLabels = (int) unpacker.unpackListHeader(); + var numLabels = (int) unpacker.unpackListHeader(); List labels = new ArrayList<>(numLabels); - for (int i = 0; i < numLabels; i++) { + for (var i = 0; i < numLabels; i++) { labels.add(unpacker.unpackString()); } - int numProps = (int) unpacker.unpackMapHeader(); + var numProps = (int) unpacker.unpackMapHeader(); Map props = Iterables.newHashMapWithSize(numProps); - for (int j = 0; j < numProps; j++) { - String key = unpacker.unpackString(); + for (var j = 0; j < numProps; j++) { + var key = unpacker.unpackString(); props.put(key, unpack()); } @@ -280,40 +279,40 @@ protected InternalNode unpackNode() throws IOException { @SuppressWarnings("deprecation") protected Value unpackPath() throws IOException { // List of unique nodes - Node[] uniqNodes = new Node[(int) unpacker.unpackListHeader()]; - for (int i = 0; i < uniqNodes.length; i++) { + var uniqNodes = new Node[(int) unpacker.unpackListHeader()]; + for (var i = 0; i < uniqNodes.length; i++) { ensureCorrectStructSize(TypeConstructor.NODE, getNodeFields(), unpacker.unpackStructHeader()); ensureCorrectStructSignature("NODE", NODE, unpacker.unpackStructSignature()); uniqNodes[i] = unpackNode(); } // List of unique relationships, without start/end information - InternalRelationship[] uniqRels = new InternalRelationship[(int) unpacker.unpackListHeader()]; - for (int i = 0; i < uniqRels.length; i++) { + var uniqRels = new InternalRelationship[(int) unpacker.unpackListHeader()]; + for (var i = 0; i < uniqRels.length; i++) { ensureCorrectStructSize(TypeConstructor.RELATIONSHIP, 3, unpacker.unpackStructHeader()); ensureCorrectStructSignature( "UNBOUND_RELATIONSHIP", UNBOUND_RELATIONSHIP, unpacker.unpackStructSignature()); - long id = unpacker.unpackLong(); - String relType = unpacker.unpackString(); - Map props = unpackMap(); + var id = unpacker.unpackLong(); + var relType = unpacker.unpackString(); + var props = unpackMap(); uniqRels[i] = new InternalRelationship( id, String.valueOf(id), -1, String.valueOf(-1), -1, String.valueOf(-1), relType, props); } // Path sequence - int length = (int) unpacker.unpackListHeader(); + var length = (int) unpacker.unpackListHeader(); // Knowing the sequence length, we can create the arrays that will represent the nodes, rels and segments in // their "path order" - Path.Segment[] segments = new Path.Segment[length / 2]; - Node[] nodes = new Node[segments.length + 1]; - Relationship[] rels = new Relationship[segments.length]; + var segments = new Path.Segment[length / 2]; + var nodes = new Node[segments.length + 1]; + var rels = new Relationship[segments.length]; Node prevNode = uniqNodes[0], nextNode; // Start node is always 0, and isn't encoded in the sequence nodes[0] = prevNode; InternalRelationship rel; - for (int i = 0; i < segments.length; i++) { - int relIdx = (int) unpacker.unpackLong(); + for (var i = 0; i < segments.length; i++) { + var relIdx = (int) unpacker.unpackLong(); nextNode = uniqNodes[(int) unpacker.unpackLong()]; // Negative rel index means this rel was traversed "inversed" from its direction if (relIdx < 0) { @@ -336,7 +335,7 @@ protected Value unpackPath() throws IOException { protected final void ensureCorrectStructSize(TypeConstructor typeConstructor, int expected, long actual) { if (expected != actual) { - String structName = typeConstructor.toString(); + var structName = typeConstructor.toString(); throw new ClientException(String.format( "Invalid message received, serialized %s structures should have %d fields, " + "received %s structure has %d fields.", @@ -353,27 +352,27 @@ protected void ensureCorrectStructSignature(String structName, byte expected, by } private Value unpackDate() throws IOException { - long epochDay = unpacker.unpackLong(); + var epochDay = unpacker.unpackLong(); return value(LocalDate.ofEpochDay(epochDay)); } private Value unpackTime() throws IOException { - long nanoOfDayLocal = unpacker.unpackLong(); - int offsetSeconds = Math.toIntExact(unpacker.unpackLong()); + var nanoOfDayLocal = unpacker.unpackLong(); + var offsetSeconds = Math.toIntExact(unpacker.unpackLong()); - LocalTime localTime = LocalTime.ofNanoOfDay(nanoOfDayLocal); - ZoneOffset offset = ZoneOffset.ofTotalSeconds(offsetSeconds); + var localTime = LocalTime.ofNanoOfDay(nanoOfDayLocal); + var offset = ZoneOffset.ofTotalSeconds(offsetSeconds); return value(OffsetTime.of(localTime, offset)); } private Value unpackLocalTime() throws IOException { - long nanoOfDayLocal = unpacker.unpackLong(); + var nanoOfDayLocal = unpacker.unpackLong(); return value(LocalTime.ofNanoOfDay(nanoOfDayLocal)); } private Value unpackLocalDateTime() throws IOException { - long epochSecondUtc = unpacker.unpackLong(); - int nano = Math.toIntExact(unpacker.unpackLong()); + var epochSecondUtc = unpacker.unpackLong(); + var nano = Math.toIntExact(unpacker.unpackLong()); return value(LocalDateTime.ofEpochSecond(epochSecondUtc, nano, UTC)); } @@ -400,37 +399,37 @@ private Value unpackDateTime(ZoneMode unpackOffset, BaselineMode useUtcBaseline) } private Value unpackDuration() throws IOException { - long months = unpacker.unpackLong(); - long days = unpacker.unpackLong(); - long seconds = unpacker.unpackLong(); - int nanoseconds = Math.toIntExact(unpacker.unpackLong()); + var months = unpacker.unpackLong(); + var days = unpacker.unpackLong(); + var seconds = unpacker.unpackLong(); + var nanoseconds = Math.toIntExact(unpacker.unpackLong()); return isoDuration(months, days, seconds, nanoseconds); } private Value unpackPoint2D() throws IOException { - int srid = Math.toIntExact(unpacker.unpackLong()); - double x = unpacker.unpackDouble(); - double y = unpacker.unpackDouble(); + var srid = Math.toIntExact(unpacker.unpackLong()); + var x = unpacker.unpackDouble(); + var y = unpacker.unpackDouble(); return point(srid, x, y); } private Value unpackPoint3D() throws IOException { - int srid = Math.toIntExact(unpacker.unpackLong()); - double x = unpacker.unpackDouble(); - double y = unpacker.unpackDouble(); - double z = unpacker.unpackDouble(); + var srid = Math.toIntExact(unpacker.unpackLong()); + var x = unpacker.unpackDouble(); + var y = unpacker.unpackDouble(); + var z = unpacker.unpackDouble(); return point(srid, x, y, z); } private static ZonedDateTime newZonedDateTime(long epochSecondLocal, long nano, ZoneId zoneId) { - Instant instant = Instant.ofEpochSecond(epochSecondLocal, nano); - LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, UTC); + var instant = Instant.ofEpochSecond(epochSecondLocal, nano); + var localDateTime = LocalDateTime.ofInstant(instant, UTC); return ZonedDateTime.of(localDateTime, zoneId); } private ZonedDateTime newZonedDateTimeUsingUtcBaseline(long epochSecondLocal, int nano, ZoneId zoneId) { - Instant instant = Instant.ofEpochSecond(epochSecondLocal, nano); - LocalDateTime localDateTime = LocalDateTime.ofInstant(instant, zoneId); + var instant = Instant.ofEpochSecond(epochSecondLocal, nano); + var localDateTime = LocalDateTime.ofInstant(instant, zoneId); return ZonedDateTime.of(localDateTime, zoneId); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/BeginMessageEncoder.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/BeginMessageEncoder.java index b16b18ea9e..127612e8cf 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/BeginMessageEncoder.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/BeginMessageEncoder.java @@ -30,7 +30,7 @@ public class BeginMessageEncoder implements MessageEncoder { @Override public void encode(Message message, ValuePacker packer) throws IOException { checkArgument(message, BeginMessage.class); - BeginMessage beginMessage = (BeginMessage) message; + var beginMessage = (BeginMessage) message; packer.packStructHeader(1, beginMessage.signature()); packer.pack(beginMessage.metadata()); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/HelloMessageEncoder.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/HelloMessageEncoder.java index a4435c7a44..d75ccafcb1 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/HelloMessageEncoder.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/HelloMessageEncoder.java @@ -30,7 +30,7 @@ public class HelloMessageEncoder implements MessageEncoder { @Override public void encode(Message message, ValuePacker packer) throws IOException { checkArgument(message, HelloMessage.class); - HelloMessage helloMessage = (HelloMessage) message; + var helloMessage = (HelloMessage) message; packer.packStructHeader(1, helloMessage.signature()); packer.pack(helloMessage.metadata()); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RouteMessageEncoder.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RouteMessageEncoder.java index d59d3f0fe1..90a3a38db1 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RouteMessageEncoder.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RouteMessageEncoder.java @@ -35,7 +35,7 @@ public class RouteMessageEncoder implements MessageEncoder { @Override public void encode(Message message, ValuePacker packer) throws IOException { checkArgument(message, RouteMessage.class); - RouteMessage routeMessage = (RouteMessage) message; + var routeMessage = (RouteMessage) message; packer.packStructHeader(3, message.signature()); packer.pack(routeMessage.getRoutingContext()); packer.pack(value(routeMessage.getBookmarks().stream().map(Bookmark::value))); diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RouteV44MessageEncoder.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RouteV44MessageEncoder.java index 10aa7fac61..fc98c8f9d2 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RouteV44MessageEncoder.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RouteV44MessageEncoder.java @@ -38,7 +38,7 @@ public class RouteV44MessageEncoder implements MessageEncoder { @Override public void encode(Message message, ValuePacker packer) throws IOException { checkArgument(message, RouteMessage.class); - RouteMessage routeMessage = (RouteMessage) message; + var routeMessage = (RouteMessage) message; packer.packStructHeader(3, message.signature()); packer.pack(routeMessage.getRoutingContext()); packer.pack(value(routeMessage.getBookmarks().stream().map(Bookmark::value))); diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RunWithMetadataMessageEncoder.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RunWithMetadataMessageEncoder.java index 43ada81b36..25e862bbb2 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RunWithMetadataMessageEncoder.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/encode/RunWithMetadataMessageEncoder.java @@ -30,7 +30,7 @@ public class RunWithMetadataMessageEncoder implements MessageEncoder { @Override public void encode(Message message, ValuePacker packer) throws IOException { checkArgument(message, RunWithMetadataMessage.class); - RunWithMetadataMessage runMessage = (RunWithMetadataMessage) message; + var runMessage = (RunWithMetadataMessage) message; packer.packStructHeader(3, runMessage.signature()); packer.pack(runMessage.query()); packer.pack(runMessage.parameters()); diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/AbstractStreamingMessage.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/AbstractStreamingMessage.java index 0f46f1b264..4e9f03ae80 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/AbstractStreamingMessage.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/AbstractStreamingMessage.java @@ -50,7 +50,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - AbstractStreamingMessage that = (AbstractStreamingMessage) o; + var that = (AbstractStreamingMessage) o; return Objects.equals(metadata, that.metadata); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/BeginMessage.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/BeginMessage.java index 0b599a3169..ab04655115 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/BeginMessage.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/BeginMessage.java @@ -79,7 +79,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - BeginMessage that = (BeginMessage) o; + var that = (BeginMessage) o; return Objects.equals(metadata(), that.metadata()); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/HelloMessage.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/HelloMessage.java index c9e0b7ce54..fe3e6fd14e 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/HelloMessage.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/HelloMessage.java @@ -66,7 +66,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - HelloMessage that = (HelloMessage) o; + var that = (HelloMessage) o; return Objects.equals(metadata(), that.metadata()); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/RouteMessage.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/RouteMessage.java index 3cb3c19884..e35ac9bb35 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/RouteMessage.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/RouteMessage.java @@ -90,7 +90,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - RouteMessage that = (RouteMessage) o; + var that = (RouteMessage) o; return routingContext.equals(that.routingContext) && Objects.equals(databaseName, that.databaseName) && Objects.equals(impersonatedUser, that.impersonatedUser); diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/RunWithMetadataMessage.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/RunWithMetadataMessage.java index 2bb7a1f677..a4023b3228 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/RunWithMetadataMessage.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/RunWithMetadataMessage.java @@ -68,7 +68,7 @@ public static RunWithMetadataMessage autoCommitTxRunMessage( Set bookmarks, String impersonatedUser, NotificationConfig notificationConfig) { - Map metadata = buildMetadata( + var metadata = buildMetadata( txTimeout, txMetadata, databaseName, mode, bookmarks, impersonatedUser, null, notificationConfig); return new RunWithMetadataMessage(query.text(), query.parameters().asMap(ofValue()), metadata); } @@ -104,7 +104,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - RunWithMetadataMessage that = (RunWithMetadataMessage) o; + var that = (RunWithMetadataMessage) o; return Objects.equals(query, that.query) && Objects.equals(parameters, that.parameters) && Objects.equals(metadata(), that.metadata()); diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilder.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilder.java index 8ef53923df..12b1f39ad3 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilder.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/request/TransactionMetadataBuilder.java @@ -61,14 +61,14 @@ public static Map buildMetadata( String impersonatedUser, String txType, NotificationConfig notificationConfig) { - boolean bookmarksPresent = !bookmarks.isEmpty(); - boolean txTimeoutPresent = txTimeout != null; - boolean txMetadataPresent = txMetadata != null && !txMetadata.isEmpty(); - boolean accessModePresent = mode == AccessMode.READ; - boolean databaseNamePresent = databaseName.databaseName().isPresent(); - boolean impersonatedUserPresent = impersonatedUser != null; - boolean txTypePresent = txType != null; - boolean notificationConfigPresent = notificationConfig != null; + var bookmarksPresent = !bookmarks.isEmpty(); + var txTimeoutPresent = txTimeout != null; + var txMetadataPresent = txMetadata != null && !txMetadata.isEmpty(); + var accessModePresent = mode == AccessMode.READ; + var databaseNamePresent = databaseName.databaseName().isPresent(); + var impersonatedUserPresent = impersonatedUser != null; + var txTypePresent = txType != null; + var notificationConfigPresent = notificationConfig != null; if (!bookmarksPresent && !txTimeoutPresent diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/response/FailureMessage.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/response/FailureMessage.java index 5a9380d99a..75fa3a8817 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/response/FailureMessage.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/response/FailureMessage.java @@ -67,7 +67,7 @@ public boolean equals(Object o) { return false; } - FailureMessage that = (FailureMessage) o; + var that = (FailureMessage) o; return !(code != null ? !code.equals(that.code) : that.code != null) && !(message != null ? !message.equals(that.message) : that.message != null); @@ -75,7 +75,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - int result = code != null ? code.hashCode() : 0; + var result = code != null ? code.hashCode() : 0; result = 31 * result + (message != null ? message.hashCode() : 0); return result; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/response/RecordMessage.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/response/RecordMessage.java index 406b1c49fd..dfc87469fb 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/response/RecordMessage.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/response/RecordMessage.java @@ -54,7 +54,7 @@ public boolean equals(Object o) { return false; } - RecordMessage that = (RecordMessage) o; + var that = (RecordMessage) o; return Arrays.equals(fields, that.fields); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/v3/BoltProtocolV3.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/v3/BoltProtocolV3.java index 678a2877e5..d379b47d3c 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/v3/BoltProtocolV3.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/v3/BoltProtocolV3.java @@ -44,7 +44,6 @@ import org.neo4j.driver.internal.DatabaseBookmark; import org.neo4j.driver.internal.DatabaseName; import org.neo4j.driver.internal.async.UnmanagedTransaction; -import org.neo4j.driver.internal.async.inbound.InboundMessageDispatcher; import org.neo4j.driver.internal.cluster.RoutingContext; import org.neo4j.driver.internal.cursor.AsyncResultCursorOnlyFactory; import org.neo4j.driver.internal.cursor.ResultCursorFactory; @@ -52,7 +51,6 @@ import org.neo4j.driver.internal.handlers.CommitTxResponseHandler; import org.neo4j.driver.internal.handlers.HelloResponseHandler; import org.neo4j.driver.internal.handlers.NoOpResponseHandler; -import org.neo4j.driver.internal.handlers.PullAllResponseHandler; import org.neo4j.driver.internal.handlers.RollbackTxResponseHandler; import org.neo4j.driver.internal.handlers.RunResponseHandler; import org.neo4j.driver.internal.messaging.BoltProtocol; @@ -93,7 +91,7 @@ public void initializeChannel( channelInitializedPromise.setFailure(exception); return; } - Channel channel = channelInitializedPromise.channel(); + var channel = channelInitializedPromise.channel(); HelloMessage message; if (routingContext.isServerRoutingEnabled()) { @@ -114,7 +112,7 @@ public void initializeChannel( notificationConfig); } - HelloResponseHandler handler = new HelloResponseHandler(channelInitializedPromise, clock); + var handler = new HelloResponseHandler(channelInitializedPromise, clock); messageDispatcher(channel).enqueue(handler); channel.writeAndFlush(message, channel.voidPromise()); @@ -122,9 +120,9 @@ public void initializeChannel( @Override public void prepareToCloseChannel(Channel channel) { - InboundMessageDispatcher messageDispatcher = messageDispatcher(channel); + var messageDispatcher = messageDispatcher(channel); - GoodbyeMessage message = GoodbyeMessage.GOODBYE; + var message = GoodbyeMessage.GOODBYE; messageDispatcher.enqueue(NoOpResponseHandler.INSTANCE); channel.writeAndFlush(message, channel.voidPromise()); @@ -148,8 +146,8 @@ public CompletionStage beginTransaction( return Futures.failedFuture(error); } - CompletableFuture beginTxFuture = new CompletableFuture<>(); - BeginMessage beginMessage = new BeginMessage( + var beginTxFuture = new CompletableFuture(); + var beginMessage = new BeginMessage( bookmarks, config, connection.databaseName(), @@ -163,14 +161,14 @@ public CompletionStage beginTransaction( @Override public CompletionStage commitTransaction(Connection connection) { - CompletableFuture commitFuture = new CompletableFuture<>(); + var commitFuture = new CompletableFuture(); connection.writeAndFlush(COMMIT, new CommitTxResponseHandler(commitFuture)); return commitFuture; } @Override public CompletionStage rollbackTransaction(Connection connection) { - CompletableFuture rollbackFuture = new CompletableFuture<>(); + var rollbackFuture = new CompletableFuture(); connection.writeAndFlush(ROLLBACK, new RollbackTxResponseHandler(rollbackFuture)); return rollbackFuture; } @@ -189,7 +187,7 @@ public ResultCursorFactory runInAutoCommitTransaction( throw exception; } verifyDatabaseNameBeforeTransaction(connection.databaseName()); - RunWithMetadataMessage runMessage = autoCommitTxRunMessage( + var runMessage = autoCommitTxRunMessage( query, config, connection.databaseName(), @@ -203,7 +201,7 @@ public ResultCursorFactory runInAutoCommitTransaction( @Override public ResultCursorFactory runInUnmanagedTransaction( Connection connection, Query query, UnmanagedTransaction tx, long fetchSize) { - RunWithMetadataMessage runMessage = unmanagedTxRunMessage(query); + var runMessage = unmanagedTxRunMessage(query); return buildResultCursorFactory(connection, query, (ignored) -> {}, tx, runMessage, fetchSize); } @@ -214,10 +212,9 @@ protected ResultCursorFactory buildResultCursorFactory( UnmanagedTransaction tx, RunWithMetadataMessage runMessage, long ignored) { - CompletableFuture runFuture = new CompletableFuture<>(); - RunResponseHandler runHandler = new RunResponseHandler(runFuture, METADATA_EXTRACTOR, connection, tx); - PullAllResponseHandler pullHandler = - newBoltV3PullAllHandler(query, runHandler, connection, bookmarkConsumer, tx); + var runFuture = new CompletableFuture(); + var runHandler = new RunResponseHandler(runFuture, METADATA_EXTRACTOR, connection, tx); + var pullHandler = newBoltV3PullAllHandler(query, runHandler, connection, bookmarkConsumer, tx); return new AsyncResultCursorOnlyFactory(connection, runMessage, runHandler, runFuture, pullHandler); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/v4/BoltProtocolV4.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/v4/BoltProtocolV4.java index 00ba111904..483eef126c 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/v4/BoltProtocolV4.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/v4/BoltProtocolV4.java @@ -29,9 +29,7 @@ import org.neo4j.driver.internal.async.UnmanagedTransaction; import org.neo4j.driver.internal.cursor.ResultCursorFactory; import org.neo4j.driver.internal.cursor.ResultCursorFactoryImpl; -import org.neo4j.driver.internal.handlers.PullAllResponseHandler; import org.neo4j.driver.internal.handlers.RunResponseHandler; -import org.neo4j.driver.internal.handlers.pulln.PullResponseHandler; import org.neo4j.driver.internal.messaging.BoltProtocol; import org.neo4j.driver.internal.messaging.BoltProtocolVersion; import org.neo4j.driver.internal.messaging.MessageFormat; @@ -56,13 +54,11 @@ protected ResultCursorFactory buildResultCursorFactory( UnmanagedTransaction tx, RunWithMetadataMessage runMessage, long fetchSize) { - CompletableFuture runFuture = new CompletableFuture<>(); - RunResponseHandler runHandler = new RunResponseHandler(runFuture, METADATA_EXTRACTOR, connection, tx); + var runFuture = new CompletableFuture(); + var runHandler = new RunResponseHandler(runFuture, METADATA_EXTRACTOR, connection, tx); - PullAllResponseHandler pullAllHandler = - newBoltV4AutoPullHandler(query, runHandler, connection, bookmarkConsumer, tx, fetchSize); - PullResponseHandler pullHandler = - newBoltV4BasicPullHandler(query, runHandler, connection, bookmarkConsumer, tx); + var pullAllHandler = newBoltV4AutoPullHandler(query, runHandler, connection, bookmarkConsumer, tx, fetchSize); + var pullHandler = newBoltV4BasicPullHandler(query, runHandler, connection, bookmarkConsumer, tx); return new ResultCursorFactoryImpl(connection, runMessage, runHandler, runFuture, pullHandler, pullAllHandler); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/v41/BoltProtocolV41.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/v41/BoltProtocolV41.java index ff927408f8..7b5a3b1891 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/v41/BoltProtocolV41.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/v41/BoltProtocolV41.java @@ -29,9 +29,7 @@ import org.neo4j.driver.internal.async.UnmanagedTransaction; import org.neo4j.driver.internal.cursor.ResultCursorFactory; import org.neo4j.driver.internal.cursor.ResultCursorFactoryImpl; -import org.neo4j.driver.internal.handlers.PullAllResponseHandler; import org.neo4j.driver.internal.handlers.RunResponseHandler; -import org.neo4j.driver.internal.handlers.pulln.PullResponseHandler; import org.neo4j.driver.internal.messaging.BoltProtocol; import org.neo4j.driver.internal.messaging.BoltProtocolVersion; import org.neo4j.driver.internal.messaging.MessageFormat; @@ -57,13 +55,11 @@ protected ResultCursorFactory buildResultCursorFactory( UnmanagedTransaction tx, RunWithMetadataMessage runMessage, long fetchSize) { - CompletableFuture runFuture = new CompletableFuture<>(); - RunResponseHandler runHandler = new RunResponseHandler(runFuture, METADATA_EXTRACTOR, connection, tx); + var runFuture = new CompletableFuture(); + var runHandler = new RunResponseHandler(runFuture, METADATA_EXTRACTOR, connection, tx); - PullAllResponseHandler pullAllHandler = - newBoltV4AutoPullHandler(query, runHandler, connection, bookmarkConsumer, tx, fetchSize); - PullResponseHandler pullHandler = - newBoltV4BasicPullHandler(query, runHandler, connection, bookmarkConsumer, tx); + var pullAllHandler = newBoltV4AutoPullHandler(query, runHandler, connection, bookmarkConsumer, tx, fetchSize); + var pullHandler = newBoltV4BasicPullHandler(query, runHandler, connection, bookmarkConsumer, tx); return new ResultCursorFactoryImpl(connection, runMessage, runHandler, runFuture, pullHandler, pullAllHandler); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/messaging/v5/ValueUnpackerV5.java b/driver/src/main/java/org/neo4j/driver/internal/messaging/v5/ValueUnpackerV5.java index ea2bc9265d..6894a0b43f 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/messaging/v5/ValueUnpackerV5.java +++ b/driver/src/main/java/org/neo4j/driver/internal/messaging/v5/ValueUnpackerV5.java @@ -57,21 +57,21 @@ protected int getRelationshipFields() { @Override protected InternalNode unpackNode() throws IOException { - long urn = unpacker.unpackLong(); + var urn = unpacker.unpackLong(); - int numLabels = (int) unpacker.unpackListHeader(); + var numLabels = (int) unpacker.unpackListHeader(); List labels = new ArrayList<>(numLabels); - for (int i = 0; i < numLabels; i++) { + for (var i = 0; i < numLabels; i++) { labels.add(unpacker.unpackString()); } - int numProps = (int) unpacker.unpackMapHeader(); + var numProps = (int) unpacker.unpackMapHeader(); Map props = Iterables.newHashMapWithSize(numProps); - for (int j = 0; j < numProps; j++) { - String key = unpacker.unpackString(); + for (var j = 0; j < numProps; j++) { + var key = unpacker.unpackString(); props.put(key, unpack()); } - String elementId = unpacker.unpackString(); + var elementId = unpacker.unpackString(); return new InternalNode(urn, elementId, labels, props); } @@ -79,41 +79,41 @@ protected InternalNode unpackNode() throws IOException { @Override protected Value unpackPath() throws IOException { // List of unique nodes - InternalNode[] uniqNodes = new InternalNode[(int) unpacker.unpackListHeader()]; - for (int i = 0; i < uniqNodes.length; i++) { + var uniqNodes = new InternalNode[(int) unpacker.unpackListHeader()]; + for (var i = 0; i < uniqNodes.length; i++) { ensureCorrectStructSize(TypeConstructor.NODE, getNodeFields(), unpacker.unpackStructHeader()); ensureCorrectStructSignature("NODE", NODE, unpacker.unpackStructSignature()); uniqNodes[i] = unpackNode(); } // List of unique relationships, without start/end information - InternalRelationship[] uniqRels = new InternalRelationship[(int) unpacker.unpackListHeader()]; - for (int i = 0; i < uniqRels.length; i++) { + var uniqRels = new InternalRelationship[(int) unpacker.unpackListHeader()]; + for (var i = 0; i < uniqRels.length; i++) { ensureCorrectStructSize(TypeConstructor.RELATIONSHIP, 4, unpacker.unpackStructHeader()); ensureCorrectStructSignature( "UNBOUND_RELATIONSHIP", UNBOUND_RELATIONSHIP, unpacker.unpackStructSignature()); - long id = unpacker.unpackLong(); - String relType = unpacker.unpackString(); - Map props = unpackMap(); - String elementId = unpacker.unpackString(); + var id = unpacker.unpackLong(); + var relType = unpacker.unpackString(); + var props = unpackMap(); + var elementId = unpacker.unpackString(); uniqRels[i] = new InternalRelationship( id, elementId, -1, String.valueOf(-1), -1, String.valueOf(-1), relType, props); } // Path sequence - int length = (int) unpacker.unpackListHeader(); + var length = (int) unpacker.unpackListHeader(); // Knowing the sequence length, we can create the arrays that will represent the nodes, rels and segments in // their "path order" - Path.Segment[] segments = new Path.Segment[length / 2]; - Node[] nodes = new Node[segments.length + 1]; - Relationship[] rels = new Relationship[segments.length]; + var segments = new Path.Segment[length / 2]; + var nodes = new Node[segments.length + 1]; + var rels = new Relationship[segments.length]; InternalNode prevNode = uniqNodes[0], nextNode; // Start node is always 0, and isn't encoded in the sequence nodes[0] = prevNode; InternalRelationship rel; - for (int i = 0; i < segments.length; i++) { - int relIdx = (int) unpacker.unpackLong(); + for (var i = 0; i < segments.length; i++) { + var relIdx = (int) unpacker.unpackLong(); nextNode = uniqNodes[(int) unpacker.unpackLong()]; // Negative rel index means this rel was traversed "inversed" from its direction if (relIdx < 0) { @@ -139,16 +139,16 @@ private void setStartAndEnd(InternalRelationship rel, InternalNode start, Intern @Override protected Value unpackRelationship() throws IOException { - long urn = unpacker.unpackLong(); - long startUrn = unpacker.unpackLong(); - long endUrn = unpacker.unpackLong(); - String relType = unpacker.unpackString(); - Map props = unpackMap(); - String elementId = unpacker.unpackString(); - String startElementId = unpacker.unpackString(); - String endElementId = unpacker.unpackString(); - - InternalRelationship adapted = new InternalRelationship( + var urn = unpacker.unpackLong(); + var startUrn = unpacker.unpackLong(); + var endUrn = unpacker.unpackLong(); + var relType = unpacker.unpackString(); + var props = unpackMap(); + var elementId = unpacker.unpackString(); + var startElementId = unpacker.unpackString(); + var endElementId = unpacker.unpackString(); + + var adapted = new InternalRelationship( urn, elementId, startUrn, startElementId, endUrn, endElementId, relType, props); return new RelationshipValue(adapted); } 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 e92013e8ce..52961247b4 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 @@ -123,8 +123,7 @@ public String toString() { } private ConnectionPoolMetricsListener poolMetrics(String poolId) { - InternalConnectionPoolMetrics poolMetrics = - (InternalConnectionPoolMetrics) this.connectionPoolMetrics.get(poolId); + var poolMetrics = (InternalConnectionPoolMetrics) this.connectionPoolMetrics.get(poolId); if (poolMetrics == null) { log.warn(format("Failed to find pool metrics with id `%s` in %s.", poolId, this.connectionPoolMetrics)); return DevNullPoolMetricsListener.INSTANCE; diff --git a/driver/src/main/java/org/neo4j/driver/internal/metrics/MicrometerConnectionPoolMetrics.java b/driver/src/main/java/org/neo4j/driver/internal/metrics/MicrometerConnectionPoolMetrics.java index 12429c484d..d509d0b4f6 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/metrics/MicrometerConnectionPoolMetrics.java +++ b/driver/src/main/java/org/neo4j/driver/internal/metrics/MicrometerConnectionPoolMetrics.java @@ -86,7 +86,7 @@ final class MicrometerConnectionPoolMetrics implements ConnectionPoolMetricsList this.id = poolId; this.inUseSupplier = inUseSupplier; this.idleSupplier = idleSupplier; - String host = + var host = address instanceof BoltServerAddress ? ((BoltServerAddress) address).connectionHost() : address.host(); Iterable tags = Tags.concat(initialTags, "address", String.format("%s:%d", host, address.port())); @@ -117,7 +117,7 @@ public void afterFailedToCreate() { @Override public void afterCreated(ListenerEvent connEvent) { creating.decrementAndGet(); - Timer.Sample sample = ((MicrometerTimerListenerEvent) connEvent).getSample(); + var sample = ((MicrometerTimerListenerEvent) connEvent).getSample(); sample.stop(totalConnectionTimer); } @@ -139,7 +139,7 @@ public void afterAcquiringOrCreating() { @Override public void afterAcquiredOrCreated(ListenerEvent acquireEvent) { - Timer.Sample sample = ((MicrometerTimerListenerEvent) acquireEvent).getSample(); + var sample = ((MicrometerTimerListenerEvent) acquireEvent).getSample(); sample.stop(totalAcquisitionTimer); } @@ -155,7 +155,7 @@ public void acquired(ListenerEvent inUseEvent) { @Override public void released(ListenerEvent inUseEvent) { - Timer.Sample sample = ((MicrometerTimerListenerEvent) inUseEvent).getSample(); + var sample = ((MicrometerTimerListenerEvent) inUseEvent).getSample(); sample.stop(totalInUseTimer); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/metrics/MicrometerMetrics.java b/driver/src/main/java/org/neo4j/driver/internal/metrics/MicrometerMetrics.java index 8d064e5064..4d87a2d3fb 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/metrics/MicrometerMetrics.java +++ b/driver/src/main/java/org/neo4j/driver/internal/metrics/MicrometerMetrics.java @@ -116,8 +116,7 @@ public void removePoolMetrics(String poolId) { } private ConnectionPoolMetricsListener poolMetricsListener(String poolId) { - ConnectionPoolMetricsListener poolMetrics = - (ConnectionPoolMetricsListener) this.connectionPoolMetrics.get(poolId); + var poolMetrics = (ConnectionPoolMetricsListener) this.connectionPoolMetrics.get(poolId); if (poolMetrics == null) { return DevNullPoolMetricsListener.INSTANCE; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/packstream/PackStream.java b/driver/src/main/java/org/neo4j/driver/internal/packstream/PackStream.java index 411114f595..14c07a95a4 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/packstream/PackStream.java +++ b/driver/src/main/java/org/neo4j/driver/internal/packstream/PackStream.java @@ -200,7 +200,7 @@ public void pack(String value) throws IOException { if (value == null) { packNull(); } else { - byte[] utf8 = value.getBytes(UTF_8); + var utf8 = value.getBytes(UTF_8); packStringHeader(utf8.length); packRaw(utf8); } @@ -344,9 +344,9 @@ public Unpacker(PackInput in) { } public long unpackStructHeader() throws IOException { - final byte markerByte = in.readByte(); - final byte markerHighNibble = (byte) (markerByte & 0xF0); - final byte markerLowNibble = (byte) (markerByte & 0x0F); + final var markerByte = in.readByte(); + final var markerHighNibble = (byte) (markerByte & 0xF0); + final var markerLowNibble = (byte) (markerByte & 0x0F); if (markerHighNibble == TINY_STRUCT) { return markerLowNibble; @@ -366,9 +366,9 @@ public byte unpackStructSignature() throws IOException { } public long unpackListHeader() throws IOException { - final byte markerByte = in.readByte(); - final byte markerHighNibble = (byte) (markerByte & 0xF0); - final byte markerLowNibble = (byte) (markerByte & 0x0F); + final var markerByte = in.readByte(); + final var markerHighNibble = (byte) (markerByte & 0xF0); + final var markerLowNibble = (byte) (markerByte & 0x0F); if (markerHighNibble == TINY_LIST) { return markerLowNibble; @@ -386,9 +386,9 @@ public long unpackListHeader() throws IOException { } public long unpackMapHeader() throws IOException { - final byte markerByte = in.readByte(); - final byte markerHighNibble = (byte) (markerByte & 0xF0); - final byte markerLowNibble = (byte) (markerByte & 0x0F); + final var markerByte = in.readByte(); + final var markerHighNibble = (byte) (markerByte & 0xF0); + final var markerLowNibble = (byte) (markerByte & 0x0F); if (markerHighNibble == TINY_MAP) { return markerLowNibble; @@ -406,7 +406,7 @@ public long unpackMapHeader() throws IOException { } public long unpackLong() throws IOException { - final byte markerByte = in.readByte(); + final var markerByte = in.readByte(); if (markerByte >= MINUS_2_TO_THE_4) { return markerByte; } @@ -425,7 +425,7 @@ public long unpackLong() throws IOException { } public double unpackDouble() throws IOException { - final byte markerByte = in.readByte(); + final var markerByte = in.readByte(); if (markerByte == FLOAT_64) { return in.readDouble(); } @@ -433,14 +433,14 @@ public double unpackDouble() throws IOException { } public byte[] unpackBytes() throws IOException { - final byte markerByte = in.readByte(); + final var markerByte = in.readByte(); switch (markerByte) { case BYTES_8: return unpackRawBytes(unpackUINT8()); case BYTES_16: return unpackRawBytes(unpackUINT16()); case BYTES_32: { - long size = unpackUINT32(); + var size = unpackUINT32(); if (size <= Integer.MAX_VALUE) { return unpackRawBytes((int) size); } else { @@ -453,7 +453,7 @@ public byte[] unpackBytes() throws IOException { } public String unpackString() throws IOException { - final byte markerByte = in.readByte(); + final var markerByte = in.readByte(); if (markerByte == TINY_STRING) // Note no mask, so we compare to 0x80. { return EMPTY_STRING; @@ -470,7 +470,7 @@ public String unpackString() throws IOException { * @throws IOException if the unpacked value was not null */ public Object unpackNull() throws IOException { - final byte markerByte = in.readByte(); + final var markerByte = in.readByte(); if (markerByte != NULL) { throw new Unexpected("Expected a null, but got: 0x" + toHexString(markerByte & 0xFF)); } @@ -478,8 +478,8 @@ public Object unpackNull() throws IOException { } private byte[] unpackUtf8(byte markerByte) throws IOException { - final byte markerHighNibble = (byte) (markerByte & 0xF0); - final byte markerLowNibble = (byte) (markerByte & 0x0F); + final var markerHighNibble = (byte) (markerByte & 0xF0); + final var markerLowNibble = (byte) (markerByte & 0x0F); if (markerHighNibble == TINY_STRING) { return unpackRawBytes(markerLowNibble); @@ -490,7 +490,7 @@ private byte[] unpackUtf8(byte markerByte) throws IOException { case STRING_16: return unpackRawBytes(unpackUINT16()); case STRING_32: { - long size = unpackUINT32(); + var size = unpackUINT32(); if (size <= Integer.MAX_VALUE) { return unpackRawBytes((int) size); } else { @@ -503,7 +503,7 @@ private byte[] unpackUtf8(byte markerByte) throws IOException { } public boolean unpackBoolean() throws IOException { - final byte markerByte = in.readByte(); + final var markerByte = in.readByte(); switch (markerByte) { case TRUE: return true; @@ -530,14 +530,14 @@ private byte[] unpackRawBytes(int size) throws IOException { if (size == 0) { return EMPTY_BYTE_ARRAY; } - byte[] heapBuffer = new byte[size]; + var heapBuffer = new byte[size]; in.readBytes(heapBuffer, 0, heapBuffer.length); return heapBuffer; } public PackType peekNextType() throws IOException { - final byte markerByte = in.peekByte(); - final byte markerHighNibble = (byte) (markerByte & 0xF0); + final var markerByte = in.peekByte(); + final var markerHighNibble = (byte) (markerByte & 0xF0); switch (markerHighNibble) { case TINY_STRING: diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactive/AbstractReactiveSession.java b/driver/src/main/java/org/neo4j/driver/internal/reactive/AbstractReactiveSession.java index 8d3429abdf..97aff83e06 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactive/AbstractReactiveSession.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactive/AbstractReactiveSession.java @@ -60,7 +60,7 @@ Publisher doBeginTransaction(TransactionConfig config) { protected Publisher doBeginTransaction(TransactionConfig config, String txType) { return createSingleItemPublisher( () -> { - CompletableFuture txFuture = new CompletableFuture<>(); + var txFuture = new CompletableFuture(); session.beginTransactionAsync(config, txType).whenComplete((tx, completionError) -> { if (tx != null) { txFuture.complete(createTransaction(tx)); @@ -78,7 +78,7 @@ protected Publisher doBeginTransaction(TransactionConfig config, String txTyp private Publisher beginTransaction(AccessMode mode, TransactionConfig config) { return createSingleItemPublisher( () -> { - CompletableFuture txFuture = new CompletableFuture<>(); + var txFuture = new CompletableFuture(); session.beginTransactionAsync(mode, config).whenComplete((tx, completionError) -> { if (tx != null) { txFuture.complete(createTransaction(tx)); @@ -112,7 +112,7 @@ protected Publisher runTransaction( } return value; })); - Flux repeatableWork = Flux.usingWhen( + var repeatableWork = Flux.usingWhen( beginTransaction(mode, config), work, tx -> closeTransaction(tx, true), @@ -128,7 +128,7 @@ private void releaseConnectionBeforeReturning(CompletableFuture returnFut // The logic here shall be the same as `SessionPullResponseHandler#afterFailure`. // The reason we need to release connection in session is that we made `rxSession.close()` optional; // Otherwise, session.close shall handle everything for us. - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); if (error instanceof TransactionNestingException) { returnFuture.completeExceptionally(error); } else { diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactive/BaseReactiveQueryRunner.java b/driver/src/main/java/org/neo4j/driver/internal/reactive/BaseReactiveQueryRunner.java index ac08cf13d2..77fce4a7f4 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactive/BaseReactiveQueryRunner.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactive/BaseReactiveQueryRunner.java @@ -36,7 +36,7 @@ interface BaseReactiveQueryRunner extends ReactiveQueryRunner { @Override default Publisher run(String queryStr, Value parameters) { try { - Query query = new Query(queryStr, parameters); + var query = new Query(queryStr, parameters); return run(query); } catch (Throwable t) { return publisherToFlowPublisher(Mono.error(t)); @@ -56,7 +56,7 @@ default Publisher run(String query, Record parameters) { @Override default Publisher run(String queryStr) { try { - Query query = new Query(queryStr); + var query = new Query(queryStr); return run(query); } catch (Throwable t) { return publisherToFlowPublisher(Mono.error(t)); diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveResult.java b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveResult.java index 01aafc1e34..36e2b4d261 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveResult.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveResult.java @@ -65,7 +65,7 @@ public Publisher records() { public Publisher consume() { return publisherToFlowPublisher( Mono.create(sink -> cursor.summaryAsync().whenComplete((summary, summaryCompletionError) -> { - Throwable error = Futures.completionExceptionCause(summaryCompletionError); + var error = Futures.completionExceptionCause(summaryCompletionError); if (summary != null) { sink.success(summary); } else { diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveSession.java b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveSession.java index efea7b8490..e7b7e4682b 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveSession.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveSession.java @@ -102,7 +102,7 @@ public Publisher run(Query query, TransactionConfig config) { .then(Mono.error(error))) .flatMap(cursor -> { Mono publisher; - Throwable runError = cursor.getRunError(); + var runError = cursor.getRunError(); if (runError != null) { publisher = Mono.fromCompletionStage(session.releaseConnectionAsync()) .onErrorMap(releaseError -> Futures.combineErrors(runError, releaseError)) diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveTransaction.java b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveTransaction.java index 1f7153099d..2f3c5dfe34 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveTransaction.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalReactiveTransaction.java @@ -48,7 +48,7 @@ public Publisher run(Query query) { return publisherToFlowPublisher(Mono.fromCompletionStage(cursorStage) .flatMap(cursor -> { Mono publisher; - Throwable runError = cursor.getRunError(); + var runError = cursor.getRunError(); if (runError != null) { publisher = Mono.error(runError); tx.markTerminated(runError); diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxResult.java b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxResult.java index e75b5dba19..bb881ffe19 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxResult.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxResult.java @@ -64,7 +64,7 @@ public Publisher records() { sink.onRequest(cursor::request); } } else { - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); sink.error(error); } }), @@ -115,7 +115,7 @@ public Publisher consume() { return Mono.create(sink -> getCursorFuture().whenComplete((cursor, completionError) -> { if (cursor != null) { cursor.summaryAsync().whenComplete((summary, summaryCompletionError) -> { - Throwable error = Futures.completionExceptionCause(summaryCompletionError); + var error = Futures.completionExceptionCause(summaryCompletionError); if (summary != null) { sink.success(summary); } else { @@ -123,7 +123,7 @@ public Publisher consume() { } }); } else { - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); sink.error(error); } })); diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxSession.java b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxSession.java index 7dd371c34a..aa52e2ae6e 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxSession.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxSession.java @@ -95,7 +95,7 @@ public RxResult run(Query query) { @Override public RxResult run(Query query, TransactionConfig config) { return new InternalRxResult(() -> { - CompletableFuture resultCursorFuture = new CompletableFuture<>(); + var resultCursorFuture = new CompletableFuture(); session.runRx(query, config).whenComplete((cursor, completionError) -> { if (cursor != null) { resultCursorFuture.complete(cursor); @@ -114,7 +114,7 @@ private void releaseConnectionBeforeReturning(CompletableFuture returnFut // The logic here shall be the same as `SessionPullResponseHandler#afterFailure`. // The reason we need to release connection in session is that we made `rxSession.close()` optional; // Otherwise, session.close shall handle everything for us. - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); if (error instanceof TransactionNestingException) { returnFuture.completeExceptionally(error); } else { diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxTransaction.java b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxTransaction.java index dcde113bd4..af06c456d8 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxTransaction.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactive/InternalRxTransaction.java @@ -36,7 +36,7 @@ public InternalRxTransaction(UnmanagedTransaction tx) { @Override public RxResult run(Query query) { return new InternalRxResult(() -> { - CompletableFuture cursorFuture = new CompletableFuture<>(); + var cursorFuture = new CompletableFuture(); tx.runRx(query).whenComplete((cursor, completionError) -> { if (cursor != null) { cursorFuture.complete(cursor); @@ -46,7 +46,7 @@ public RxResult run(Query query) { // where cursor handling failure // This is optional as tx still holds a reference to all cursor futures and they will be clean up // properly in commit - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); tx.markTerminated(error); cursorFuture.completeExceptionally(error); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactive/RxUtils.java b/driver/src/main/java/org/neo4j/driver/internal/reactive/RxUtils.java index c913e9f971..bc4bf45d7e 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactive/RxUtils.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactive/RxUtils.java @@ -37,7 +37,7 @@ public class RxUtils { */ public static Publisher createEmptyPublisher(Supplier> supplier) { return Mono.create(sink -> supplier.get().whenComplete((ignore, completionError) -> { - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); if (error != null) { sink.error(error); } else { @@ -85,7 +85,7 @@ public static Publisher createSingleItemPublisher( sink.error(nullResultThrowableSupplier.get()); } } else { - Throwable error = Optional.ofNullable(Futures.completionExceptionCause(completionError)) + var error = Optional.ofNullable(Futures.completionExceptionCause(completionError)) .orElse(completionError); sink.error(error); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/BaseReactiveQueryRunner.java b/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/BaseReactiveQueryRunner.java index a16491aebf..2a5d22d3fd 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/BaseReactiveQueryRunner.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/BaseReactiveQueryRunner.java @@ -34,7 +34,7 @@ interface BaseReactiveQueryRunner extends ReactiveQueryRunner { @Override default Publisher run(String queryStr, Value parameters) { try { - Query query = new Query(queryStr, parameters); + var query = new Query(queryStr, parameters); return run(query); } catch (Throwable t) { return Mono.error(t); @@ -54,7 +54,7 @@ default Publisher run(String query, Record parameters) { @Override default Publisher run(String queryStr) { try { - Query query = new Query(queryStr); + var query = new Query(queryStr); return run(query); } catch (Throwable t) { return Mono.error(t); diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveResult.java b/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveResult.java index 42d596b784..a1ec60dbed 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveResult.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveResult.java @@ -63,7 +63,7 @@ public Publisher records() { @Override public Publisher consume() { return Mono.create(sink -> cursor.summaryAsync().whenComplete((summary, summaryCompletionError) -> { - Throwable error = Futures.completionExceptionCause(summaryCompletionError); + var error = Futures.completionExceptionCause(summaryCompletionError); if (summary != null) { sink.success(summary); } else { diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveSession.java b/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveSession.java index 032377254c..8f46bb12b5 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveSession.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveSession.java @@ -96,7 +96,7 @@ public Publisher run(Query query, TransactionConfig config) { .then(Mono.error(error))) .flatMap(cursor -> { Mono publisher; - Throwable runError = cursor.getRunError(); + var runError = cursor.getRunError(); if (runError != null) { publisher = Mono.fromCompletionStage(session.releaseConnectionAsync()) .onErrorMap(releaseError -> Futures.combineErrors(runError, releaseError)) diff --git a/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveTransaction.java b/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveTransaction.java index 40400ec491..60c8a2ba55 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveTransaction.java +++ b/driver/src/main/java/org/neo4j/driver/internal/reactivestreams/InternalReactiveTransaction.java @@ -47,7 +47,7 @@ public Publisher run(Query query) { return Mono.fromCompletionStage(cursorStage) .flatMap(cursor -> { Mono publisher; - Throwable runError = cursor.getRunError(); + var runError = cursor.getRunError(); if (runError != null) { publisher = Mono.error(runError); tx.markTerminated(runError); 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 4f8d178dc0..4bbae7ee89 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 @@ -20,7 +20,6 @@ import static java.util.concurrent.TimeUnit.SECONDS; -import io.netty.util.concurrent.EventExecutor; import io.netty.util.concurrent.EventExecutorGroup; import java.time.Clock; import java.time.Duration; @@ -108,22 +107,22 @@ protected ExponentialBackoffRetryLogic( public T retry(Supplier work) { List errors = null; long startTime = -1; - long nextDelayMs = initialRetryDelayMs; + var nextDelayMs = initialRetryDelayMs; while (true) { try { return work.get(); } catch (Throwable throwable) { - Throwable error = extractPossibleTerminationCause(throwable); + var error = extractPossibleTerminationCause(throwable); if (canRetryOn(error)) { - long currentTime = clock.millis(); + var currentTime = clock.millis(); if (startTime == -1) { startTime = currentTime; } - long elapsedTime = currentTime - startTime; + var elapsedTime = currentTime - startTime; if (elapsedTime < maxRetryTimeMs) { - long delayWithJitterMs = computeDelayWithJitter(nextDelayMs); + var delayWithJitterMs = computeDelayWithJitter(nextDelayMs); log.warn("Transaction failed and will be retried in " + delayWithJitterMs + "ms", error); sleep(delayWithJitterMs); @@ -142,7 +141,7 @@ public T retry(Supplier work) { @Override public CompletionStage retryAsync(Supplier> work) { - CompletableFuture resultFuture = new CompletableFuture<>(); + var resultFuture = new CompletableFuture(); executeWorkInEventLoop(resultFuture, work); return resultFuture; } @@ -173,7 +172,7 @@ private static Throwable extractPossibleTerminationCause(Throwable error) { private Retry exponentialBackoffRetryRx() { return Retry.from(retrySignals -> retrySignals.flatMap(retrySignal -> Mono.deferContextual(contextView -> { - Throwable throwable = retrySignal.failure(); + var throwable = retrySignal.failure(); // Extract nested Neo4jException from not Neo4jException. Reactor usingWhen returns RuntimeException on // async resource cleanup failure. if (throwable != null @@ -181,19 +180,19 @@ private Retry exponentialBackoffRetryRx() { && throwable.getCause() instanceof Neo4jException) { throwable = throwable.getCause(); } - Throwable error = extractPossibleTerminationCause(throwable); + var error = extractPossibleTerminationCause(throwable); List errors = contextView.getOrDefault("errors", null); if (canRetryOn(error)) { - long currentTime = clock.millis(); + var currentTime = clock.millis(); long startTime = contextView.getOrDefault("startTime", currentTime); long nextDelayMs = contextView.getOrDefault("nextDelayMs", initialRetryDelayMs); - long elapsedTime = currentTime - startTime; + var elapsedTime = currentTime - startTime; if (elapsedTime < maxRetryTimeMs) { - long delayWithJitterMs = computeDelayWithJitter(nextDelayMs); + var delayWithJitterMs = computeDelayWithJitter(nextDelayMs); log.warn( "Reactive transaction failed and is scheduled to retry in " + delayWithJitterMs + "ms", error); @@ -202,8 +201,8 @@ private Retry exponentialBackoffRetryRx() { errors = recordError(error, errors); // retry on netty event loop thread - EventExecutor eventExecutor = eventExecutorGroup.next(); - Context context = Context.of( + var eventExecutor = eventExecutorGroup.next(); + var context = Context.of( "errors", errors, "startTime", startTime, "nextDelayMs", nextDelayMs); @@ -221,7 +220,7 @@ private Retry exponentialBackoffRetryRx() { private void executeWorkInEventLoop(CompletableFuture resultFuture, Supplier> work) { // this is the very first time we execute given work - EventExecutor eventExecutor = eventExecutorGroup.next(); + var eventExecutor = eventExecutorGroup.next(); eventExecutor.execute(() -> executeWork(resultFuture, work, -1, initialRetryDelayMs, null)); } @@ -234,14 +233,14 @@ private void retryWorkInEventLoop( long delayMs, List errors) { // work has failed before, we need to schedule retry with the given delay - EventExecutor eventExecutor = eventExecutorGroup.next(); + var eventExecutor = eventExecutorGroup.next(); - long delayWithJitterMs = computeDelayWithJitter(delayMs); + var delayWithJitterMs = computeDelayWithJitter(delayMs); log.warn("Async transaction failed and is scheduled to retry in " + delayWithJitterMs + "ms", error); eventExecutor.schedule( () -> { - long newRetryDelayMs = (long) (delayMs * multiplier); + var newRetryDelayMs = (long) (delayMs * multiplier); executeWork(resultFuture, work, startTime, newRetryDelayMs, errors); }, delayWithJitterMs, @@ -264,7 +263,7 @@ private void executeWork( } workStage.whenComplete((result, completionError) -> { - Throwable error = Futures.completionExceptionCause(completionError); + var error = Futures.completionExceptionCause(completionError); if (error != null) { // work failed in async way, attempt to schedule a retry retryOnError(resultFuture, work, startTime, retryDelayMs, error, errors); @@ -281,14 +280,14 @@ private void retryOnError( long retryDelayMs, Throwable throwable, List errors) { - Throwable error = extractPossibleTerminationCause(throwable); + var error = extractPossibleTerminationCause(throwable); if (canRetryOn(error)) { - long currentTime = clock.millis(); + var currentTime = clock.millis(); if (startTime == -1) { startTime = currentTime; } - long elapsedTime = currentTime - startTime; + var elapsedTime = currentTime - startTime; if (elapsedTime < maxRetryTimeMs) { errors = recordError(error, errors); retryWorkInEventLoop(resultFuture, work, error, startTime, retryDelayMs, errors); @@ -305,9 +304,9 @@ private long computeDelayWithJitter(long delayMs) { delayMs = MAX_RETRY_DELAY; } - long jitter = (long) (delayMs * jitterFactor); - long min = delayMs - jitter; - long max = delayMs + jitter; + var jitter = (long) (delayMs * jitterFactor); + var min = delayMs - jitter; + var max = delayMs + jitter; return ThreadLocalRandom.current().nextLong(min, max + 1); } @@ -348,7 +347,7 @@ private static List recordError(Throwable error, List erro private static void addSuppressed(Throwable error, List suppressedErrors) { if (suppressedErrors != null) { - for (Throwable suppressedError : suppressedErrors) { + for (var suppressedError : suppressedErrors) { if (error != suppressedError) { error.addSuppressed(suppressedError); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/security/InternalAuthToken.java b/driver/src/main/java/org/neo4j/driver/internal/security/InternalAuthToken.java index d4848edc7b..e7593ee6f7 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/security/InternalAuthToken.java +++ b/driver/src/main/java/org/neo4j/driver/internal/security/InternalAuthToken.java @@ -52,7 +52,7 @@ public boolean equals(Object o) { return false; } - InternalAuthToken that = (InternalAuthToken) o; + var that = (InternalAuthToken) o; return content != null ? content.equals(that.content) : that.content == null; } 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 492ebf3557..9ab97f8655 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 @@ -50,7 +50,7 @@ public class SecurityPlanImpl implements SecurityPlan { public static SecurityPlan forAllCertificates( boolean requiresHostnameVerification, RevocationCheckingStrategy revocationCheckingStrategy) throws GeneralSecurityException { - SSLContext sslContext = SSLContext.getInstance("TLS"); + var sslContext = SSLContext.getInstance("TLS"); sslContext.init(new KeyManager[0], new TrustManager[] {new TrustAllTrustManager()}, null); return new SecurityPlanImpl(true, sslContext, requiresHostnameVerification, revocationCheckingStrategy); @@ -61,21 +61,21 @@ public static SecurityPlan forCustomCASignedCertificates( boolean requiresHostnameVerification, RevocationCheckingStrategy revocationCheckingStrategy) throws GeneralSecurityException, IOException { - SSLContext sslContext = configureSSLContext(certFiles, revocationCheckingStrategy); + var sslContext = configureSSLContext(certFiles, revocationCheckingStrategy); return new SecurityPlanImpl(true, sslContext, requiresHostnameVerification, revocationCheckingStrategy); } public static SecurityPlan forSystemCASignedCertificates( boolean requiresHostnameVerification, RevocationCheckingStrategy revocationCheckingStrategy) throws GeneralSecurityException, IOException { - SSLContext sslContext = configureSSLContext(Collections.emptyList(), revocationCheckingStrategy); + var sslContext = configureSSLContext(Collections.emptyList(), revocationCheckingStrategy); return new SecurityPlanImpl(true, sslContext, requiresHostnameVerification, revocationCheckingStrategy); } private static SSLContext configureSSLContext( List customCertFiles, RevocationCheckingStrategy revocationCheckingStrategy) throws GeneralSecurityException, IOException { - KeyStore trustedKeyStore = KeyStore.getInstance(KeyStore.getDefaultType()); + var trustedKeyStore = KeyStore.getInstance(KeyStore.getDefaultType()); trustedKeyStore.load(null, null); if (!customCertFiles.isEmpty()) { @@ -85,12 +85,10 @@ private static SSLContext configureSSLContext( loadSystemCertificates(trustedKeyStore); } - PKIXBuilderParameters pkixBuilderParameters = - configurePKIXBuilderParameters(trustedKeyStore, revocationCheckingStrategy); + var pkixBuilderParameters = configurePKIXBuilderParameters(trustedKeyStore, revocationCheckingStrategy); - SSLContext sslContext = SSLContext.getInstance("TLS"); - TrustManagerFactory trustManagerFactory = - TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + var sslContext = SSLContext.getInstance("TLS"); + var trustManagerFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); if (pkixBuilderParameters == null) { trustManagerFactory.init(trustedKeyStore); @@ -128,12 +126,12 @@ private static PKIXBuilderParameters configurePKIXBuilderParameters( private static void loadSystemCertificates(KeyStore trustedKeyStore) throws GeneralSecurityException, IOException { // To customize the PKIXParameters we need to get hold of the default KeyStore, no other elegant way available - TrustManagerFactory tempFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); + var tempFactory = TrustManagerFactory.getInstance(TrustManagerFactory.getDefaultAlgorithm()); tempFactory.init((KeyStore) null); // Get hold of the default trust manager X509TrustManager x509TrustManager = null; - for (TrustManager trustManager : tempFactory.getTrustManagers()) { + for (var trustManager : tempFactory.getTrustManagers()) { if (trustManager instanceof X509TrustManager) { x509TrustManager = (X509TrustManager) trustManager; break; 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 c951a34efb..45cbee1b77 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 @@ -58,8 +58,8 @@ public static boolean isCustomized(SecuritySettings securitySettings) { } private static boolean hasEqualTrustStrategy(SecuritySettings settings) { - Config.TrustStrategy t1 = SecuritySettings.DEFAULT.trustStrategy(); - Config.TrustStrategy t2 = settings.trustStrategy(); + var t1 = SecuritySettings.DEFAULT.trustStrategy(); + var t2 = settings.trustStrategy(); if (t1 == t2) { return true; } @@ -86,8 +86,8 @@ private static SecurityPlan createSecurityPlanFromScheme(String scheme) private static SecurityPlan createSecurityPlanImpl(boolean encrypted, Config.TrustStrategy trustStrategy) throws GeneralSecurityException, IOException { if (encrypted) { - boolean hostnameVerificationEnabled = trustStrategy.isHostnameVerificationEnabled(); - RevocationCheckingStrategy revocationCheckingStrategy = trustStrategy.revocationCheckingStrategy(); + var hostnameVerificationEnabled = trustStrategy.isHostnameVerificationEnabled(); + var revocationCheckingStrategy = trustStrategy.revocationCheckingStrategy(); switch (trustStrategy.strategy()) { case TRUST_CUSTOM_CA_SIGNED_CERTIFICATES: return SecurityPlanImpl.forCustomCASignedCertificates( diff --git a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalDatabaseInfo.java b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalDatabaseInfo.java index 8c83c9e4eb..ebdbd26e0a 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalDatabaseInfo.java +++ b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalDatabaseInfo.java @@ -43,7 +43,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InternalDatabaseInfo that = (InternalDatabaseInfo) o; + var that = (InternalDatabaseInfo) o; return Objects.equals(name, that.name); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalInputPosition.java b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalInputPosition.java index 24aff9b8ad..d50a69b8dc 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalInputPosition.java +++ b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalInputPosition.java @@ -65,7 +65,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InternalInputPosition that = (InternalInputPosition) o; + var that = (InternalInputPosition) o; return offset == that.offset && line == that.line && column == that.column; } 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 17feb6e70d..abae302612 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 @@ -32,9 +32,9 @@ public class InternalNotification implements Notification { public static final Function VALUE_TO_NOTIFICATION = value -> { - String code = value.get("code").asString(); - String title = value.get("title").asString(); - String description = value.get("description").asString(); + var code = value.get("code").asString(); + var title = value.get("title").asString(); + var description = value.get("description").asString(); var rawSeverityLevel = value.containsKey("severity") ? value.get("severity").asString() : null; var severityLevel = @@ -42,7 +42,7 @@ public class InternalNotification implements Notification { var rawCategory = value.containsKey("category") ? value.get("category").asString() : null; var category = InternalNotificationCategory.valueOf(rawCategory).orElse(null); - Value posValue = value.get("position"); + var posValue = value.get("position"); InputPosition position = null; if (posValue != NULL) { position = new InternalInputPosition( diff --git a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalPlan.java b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalPlan.java index f92e679b0f..c18437b622 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalPlan.java +++ b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalPlan.java @@ -80,7 +80,7 @@ public boolean equals(Object o) { return false; } - InternalPlan that = (InternalPlan) o; + var that = (InternalPlan) o; return operatorType.equals(that.operatorType) && arguments.equals(that.arguments) @@ -90,7 +90,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - int result = operatorType.hashCode(); + var result = operatorType.hashCode(); result = 31 * result + identifiers.hashCode(); result = 31 * result + arguments.hashCode(); result = 31 * result + children.hashCode(); @@ -140,19 +140,19 @@ public Converter(PlanCreator planCreator) { @Override public T apply(Value plan) { - final String operatorType = plan.get("operatorType").asString(); + final var operatorType = plan.get("operatorType").asString(); - final Value argumentsValue = plan.get("args"); - final Map arguments = argumentsValue.isNull() + final var argumentsValue = plan.get("args"); + final var arguments = argumentsValue.isNull() ? Collections.emptyMap() : argumentsValue.asMap(Values.ofValue()); - final Value identifiersValue = plan.get("identifiers"); - final List identifiers = + final var identifiersValue = plan.get("identifiers"); + final var identifiers = identifiersValue.isNull() ? Collections.emptyList() : identifiersValue.asList(ofString()); - final Value childrenValue = plan.get("children"); - final List children = childrenValue.isNull() ? Collections.emptyList() : childrenValue.asList(this); + final var childrenValue = plan.get("children"); + final var children = childrenValue.isNull() ? Collections.emptyList() : childrenValue.asList(this); return planCreator.create(operatorType, arguments, identifiers, children, plan); } 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 4b786f80e4..702d595b3f 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 @@ -139,7 +139,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InternalResultSummary that = (InternalResultSummary) o; + var that = (InternalResultSummary) o; return resultAvailableAfter == that.resultAvailableAfter && resultConsumedAfter == that.resultConsumedAfter && Objects.equals(query, that.query) diff --git a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalServerInfo.java b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalServerInfo.java index 0f659b19f9..a53f849fa3 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalServerInfo.java +++ b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalServerInfo.java @@ -59,7 +59,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - InternalServerInfo that = (InternalServerInfo) o; + var that = (InternalServerInfo) o; return Objects.equals(address, that.address); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalSummaryCounters.java b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalSummaryCounters.java index 2976a36af5..7d2cbbae09 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/summary/InternalSummaryCounters.java +++ b/driver/src/main/java/org/neo4j/driver/internal/summary/InternalSummaryCounters.java @@ -152,7 +152,7 @@ public boolean equals(Object o) { return false; } - InternalSummaryCounters that = (InternalSummaryCounters) o; + var that = (InternalSummaryCounters) o; return nodesCreated == that.nodesCreated && nodesDeleted == that.nodesDeleted @@ -170,7 +170,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - int result = nodesCreated; + var result = nodesCreated; result = 31 * result + nodesDeleted; result = 31 * result + relationshipsCreated; result = 31 * result + relationshipsDeleted; 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 d484c7ab43..5dd761b279 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 @@ -41,7 +41,7 @@ final class Target_org_neo4j_driver_internal_DriverFactory { */ @Substitute protected static MetricsProvider getOrCreateMetricsProvider(Config config, Clock clock) { - MetricsAdapter metricsAdapter = config.metricsAdapter(); + var metricsAdapter = config.metricsAdapter(); if (metricsAdapter == null) { metricsAdapter = config.isMetricsEnabled() ? MetricsAdapter.DEFAULT : MetricsAdapter.DEV_NULL; } @@ -53,7 +53,7 @@ protected static MetricsProvider getOrCreateMetricsProvider(Config config, Clock case MICROMETER: try { @SuppressWarnings("unused") - Class metricsClass = Class.forName("io.micrometer.core.instrument.Metrics"); + var metricsClass = Class.forName("io.micrometer.core.instrument.Metrics"); return MicrometerMetricsProvider.forGlobalRegistry(); } catch (ClassNotFoundException e) { return DevNullMetricsProvider.INSTANCE; diff --git a/driver/src/main/java/org/neo4j/driver/internal/types/TypeConstructor.java b/driver/src/main/java/org/neo4j/driver/internal/types/TypeConstructor.java index 4bfae5df5a..a3a63a5e4c 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/types/TypeConstructor.java +++ b/driver/src/main/java/org/neo4j/driver/internal/types/TypeConstructor.java @@ -34,7 +34,7 @@ public boolean covers(Value value) { NUMBER { @Override public boolean covers(Value value) { - TypeConstructor valueType = typeConstructorOf(value); + var valueType = typeConstructorOf(value); return valueType == this || valueType == INTEGER || valueType == FLOAT; } }, @@ -44,7 +44,7 @@ public boolean covers(Value value) { MAP { @Override public boolean covers(Value value) { - TypeConstructor valueType = typeConstructorOf(value); + var valueType = typeConstructorOf(value); return valueType == MAP || valueType == NODE || valueType == RELATIONSHIP; } }, diff --git a/driver/src/main/java/org/neo4j/driver/internal/types/TypeRepresentation.java b/driver/src/main/java/org/neo4j/driver/internal/types/TypeRepresentation.java index 68a0f7688c..54d00c0150 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/types/TypeRepresentation.java +++ b/driver/src/main/java/org/neo4j/driver/internal/types/TypeRepresentation.java @@ -57,7 +57,7 @@ public boolean equals(Object o) { return false; } - TypeRepresentation that = (TypeRepresentation) o; + var that = (TypeRepresentation) o; return tyCon == that.tyCon; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/util/CertificateTool.java b/driver/src/main/java/org/neo4j/driver/internal/util/CertificateTool.java index 685b6fb54f..fde26f2a00 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/util/CertificateTool.java +++ b/driver/src/main/java/org/neo4j/driver/internal/util/CertificateTool.java @@ -48,7 +48,7 @@ public final class CertificateTool { * @throws IOException */ public static void saveX509Cert(String certStr, File certFile) throws IOException { - try (BufferedWriter writer = new BufferedWriter(new FileWriter(certFile))) { + try (var writer = new BufferedWriter(new FileWriter(certFile))) { writer.write(BEGIN_CERT); writer.newLine(); @@ -81,9 +81,9 @@ public static void saveX509Cert(Certificate cert, File certFile) throws GeneralS * @throws IOException */ public static void saveX509Cert(Certificate[] certs, File certFile) throws GeneralSecurityException, IOException { - try (BufferedWriter writer = new BufferedWriter(new FileWriter(certFile))) { - for (Certificate cert : certs) { - String certStr = + try (var writer = new BufferedWriter(new FileWriter(certFile))) { + for (var cert : certs) { + var certStr = Base64.getEncoder().encodeToString(cert.getEncoded()).replaceAll("(.{64})", "$1\n"); writer.write(BEGIN_CERT); @@ -108,14 +108,14 @@ public static void saveX509Cert(Certificate[] certs, File certFile) throws Gener */ public static void loadX509Cert(List certFiles, KeyStore keyStore) throws GeneralSecurityException, IOException { - int certCount = 0; // The files might contain multiple certs - for (File certFile : certFiles) { - try (BufferedInputStream inputStream = new BufferedInputStream(new FileInputStream(certFile))) { - CertificateFactory certFactory = CertificateFactory.getInstance("X.509"); + var certCount = 0; // The files might contain multiple certs + for (var certFile : certFiles) { + try (var inputStream = new BufferedInputStream(new FileInputStream(certFile))) { + var certFactory = CertificateFactory.getInstance("X.509"); while (inputStream.available() > 0) { try { - Certificate cert = certFactory.generateCertificate(inputStream); + var cert = certFactory.generateCertificate(inputStream); certCount++; loadX509Cert(cert, "neo4j.javadriver.trustedcert." + certCount, keyStore); } catch (CertificateException e) { @@ -137,7 +137,7 @@ public static void loadX509Cert(List certFiles, KeyStore keyStore) public static void loadX509Cert(X509Certificate[] certificates, KeyStore keyStore) throws GeneralSecurityException, IOException { - for (int i = 0; i < certificates.length; i++) { + for (var i = 0; i < certificates.length; i++) { loadX509Cert(certificates[i], "neo4j.javadriver.trustedcert." + i, keyStore); } } @@ -159,7 +159,7 @@ public static void loadX509Cert(Certificate cert, String certAlias, KeyStore key * @return */ public static String X509CertToString(String cert) { - String cert64CharPerLine = cert.replaceAll("(.{64})", "$1\n"); + var cert64CharPerLine = cert.replaceAll("(.{64})", "$1\n"); return BEGIN_CERT + "\n" + cert64CharPerLine + "\n" + END_CERT + "\n"; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/util/DriverInfoUtil.java b/driver/src/main/java/org/neo4j/driver/internal/util/DriverInfoUtil.java index acafbf1bb8..81a0dd1bb9 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/util/DriverInfoUtil.java +++ b/driver/src/main/java/org/neo4j/driver/internal/util/DriverInfoUtil.java @@ -57,7 +57,7 @@ public static String driverVersion() { // "Session" is arbitrary - the only thing that matters is that the class we use here is in the // 'org.neo4j.driver' package, because that is where the jar manifest specifies the version. // This is done as part of the build, adding a MANIFEST.MF file to the generated jarfile. - Package pkg = Session.class.getPackage(); + var pkg = Session.class.getPackage(); if (pkg != null && pkg.getImplementationVersion() != null) { return pkg.getImplementationVersion(); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/util/ErrorUtil.java b/driver/src/main/java/org/neo4j/driver/internal/util/ErrorUtil.java index f569ab1c18..b55fc9da03 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/util/ErrorUtil.java +++ b/driver/src/main/java/org/neo4j/driver/internal/util/ErrorUtil.java @@ -108,12 +108,12 @@ public static boolean isFatal(Throwable error) { } public static void rethrowAsyncException(ExecutionException e) { - Throwable error = e.getCause(); + var error = e.getCause(); - InternalExceptionCause internalCause = new InternalExceptionCause(error.getStackTrace()); + var internalCause = new InternalExceptionCause(error.getStackTrace()); error.addSuppressed(internalCause); - StackTraceElement[] currentStackTrace = Stream.of(Thread.currentThread().getStackTrace()) + var currentStackTrace = Stream.of(Thread.currentThread().getStackTrace()) .skip(2) // do not include Thread.currentThread() and this method in the stacktrace .toArray(StackTraceElement[]::new); error.setStackTrace(currentStackTrace); @@ -128,17 +128,17 @@ public static void rethrowAsyncException(ExecutionException e) { } private static boolean isProtocolViolationError(Neo4jException error) { - String errorCode = error.code(); + var errorCode = error.code(); return errorCode != null && errorCode.startsWith("Neo.ClientError.Request"); } private static boolean isClientOrTransientError(Neo4jException error) { - String errorCode = error.code(); + var errorCode = error.code(); return errorCode != null && (errorCode.contains("ClientError") || errorCode.contains("TransientError")); } private static String extractErrorClass(String code) { - String[] parts = code.split("\\."); + var parts = code.split("\\."); if (parts.length < 2) { return ""; } @@ -146,7 +146,7 @@ private static String extractErrorClass(String code) { } private static String extractErrorSubClass(String code) { - String[] parts = code.split("\\."); + var parts = code.split("\\."); if (parts.length < 3) { return ""; } @@ -161,7 +161,7 @@ public static void addSuppressed(Throwable mainError, Throwable error) { public static Throwable getRootCause(Throwable error) { Objects.requireNonNull(error); - Throwable cause = error.getCause(); + var cause = error.getCause(); if (cause == null) { // Nothing causes this error, returns the error itself return error; diff --git a/driver/src/main/java/org/neo4j/driver/internal/util/Extract.java b/driver/src/main/java/org/neo4j/driver/internal/util/Extract.java index 4996fb1a2c..ea84df5e05 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/util/Extract.java +++ b/driver/src/main/java/org/neo4j/driver/internal/util/Extract.java @@ -65,7 +65,7 @@ public static List list(Value[] values) { } public static List list(Value[] data, Function mapFunction) { - int size = data.length; + var size = data.length; switch (size) { case 0: return emptyList(); @@ -73,7 +73,7 @@ public static List list(Value[] data, Function mapFunction) { return singletonList(mapFunction.apply(data[0])); default: List result = new ArrayList<>(size); - for (Value value : data) { + for (var value : data) { result.add(mapFunction.apply(value)); } return unmodifiableList(result); @@ -84,13 +84,13 @@ public static Map map(Map data, Function if (data.isEmpty()) { return emptyMap(); } else { - int size = data.size(); + var size = data.size(); if (size == 1) { - Map.Entry head = data.entrySet().iterator().next(); + var head = data.entrySet().iterator().next(); return singletonMap(head.getKey(), mapFunction.apply(head.getValue())); } else { Map map = Iterables.newLinkedHashMapWithSize(size); - for (Map.Entry entry : data.entrySet()) { + for (var entry : data.entrySet()) { map.put(entry.getKey(), mapFunction.apply(entry.getValue())); } return unmodifiableMap(map); @@ -99,7 +99,7 @@ public static Map map(Map data, Function } public static Map map(Record record, Function mapFunction) { - int size = record.size(); + var size = record.size(); switch (size) { case 0: return emptyMap(); @@ -109,8 +109,8 @@ public static Map map(Record record, Function mapFuncti default: Map map = Iterables.newLinkedHashMapWithSize(size); - List keys = record.keys(); - for (int i = 0; i < size; i++) { + var keys = record.keys(); + for (var i = 0; i < size; i++) { map.put(keys.get(i), mapFunction.apply(record.get(i))); } return unmodifiableMap(map); @@ -119,21 +119,21 @@ public static Map map(Record record, Function mapFuncti public static Iterable> properties( final MapAccessor map, final Function mapFunction) { - int size = map.size(); + var size = map.size(); switch (size) { case 0: return emptyList(); case 1: { - String key = map.keys().iterator().next(); - Value value = map.get(key); + var key = map.keys().iterator().next(); + var value = map.get(key); return singletonList(InternalPair.of(key, mapFunction.apply(value))); } default: { List> list = new ArrayList<>(size); - for (String key : map.keys()) { - Value value = map.get(key); + for (var key : map.keys()) { + var value = map.get(key); list.add(InternalPair.of(key, mapFunction.apply(value))); } return unmodifiableList(list); @@ -142,23 +142,23 @@ public static Iterable> properties( } public static List> fields(final Record map, final Function mapFunction) { - int size = map.keys().size(); + var size = map.keys().size(); switch (size) { case 0: return emptyList(); case 1: { - String key = map.keys().iterator().next(); - Value value = map.get(key); + var key = map.keys().iterator().next(); + var value = map.get(key); return singletonList(InternalPair.of(key, mapFunction.apply(value))); } default: { List> list = new ArrayList<>(size); - List keys = map.keys(); - for (int i = 0; i < size; i++) { - String key = keys.get(i); - Value value = map.get(i); + var keys = map.keys(); + for (var i = 0; i < size; i++) { + var key = keys.get(i); + var value = map.get(i); list.add(InternalPair.of(key, mapFunction.apply(value))); } return unmodifiableList(list); @@ -172,8 +172,8 @@ public static Map mapOfValues(Map map) { } Map result = newHashMapWithSize(map.size()); - for (Map.Entry entry : map.entrySet()) { - Object value = entry.getValue(); + for (var entry : map.entrySet()) { + var value = entry.getValue(); assertParameter(value); result.put(entry.getKey(), value(value)); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/util/Format.java b/driver/src/main/java/org/neo4j/driver/internal/util/Format.java index 4778a5958f..46365c1b1f 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/util/Format.java +++ b/driver/src/main/java/org/neo4j/driver/internal/util/Format.java @@ -18,7 +18,6 @@ */ package org.neo4j.driver.internal.util; -import java.util.Iterator; import java.util.Map; import java.util.Map.Entry; @@ -29,7 +28,7 @@ private Format() { // formats map using ':' as key-value separator instead of default '=' public static String formatPairs(Map entries) { - Iterator> iterator = entries.entrySet().iterator(); + var iterator = entries.entrySet().iterator(); switch (entries.size()) { case 0: return "{}"; @@ -39,7 +38,7 @@ public static String formatPairs(Map entries) { } default: { - StringBuilder builder = new StringBuilder(); + var builder = new StringBuilder(); builder.append("{"); builder.append(keyValueString(iterator.next())); while (iterator.hasNext()) { diff --git a/driver/src/main/java/org/neo4j/driver/internal/util/Futures.java b/driver/src/main/java/org/neo4j/driver/internal/util/Futures.java index 4d69e4cf7e..8b6aa004f2 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/util/Futures.java +++ b/driver/src/main/java/org/neo4j/driver/internal/util/Futures.java @@ -53,7 +53,7 @@ public static CompletableFuture completeWithNullIfNoError(CompletableFutu } public static CompletionStage asCompletionStage(io.netty.util.concurrent.Future future) { - CompletableFuture result = new CompletableFuture<>(); + var result = new CompletableFuture(); return asCompletionStage(future, result); } @@ -80,7 +80,7 @@ public static CompletionStage asCompletionStage( } public static CompletableFuture failedFuture(Throwable error) { - CompletableFuture result = new CompletableFuture<>(); + var result = new CompletableFuture(); result.completeExceptionally(error); return result; } @@ -93,7 +93,7 @@ public static V blockingGet(CompletionStage stage, Runnable interruptHand EventLoopGroupFactory.assertNotInEventLoopThread(); Future future = stage.toCompletableFuture(); - boolean interrupted = false; + var interrupted = false; try { while (true) { try { @@ -170,8 +170,8 @@ public static CompletionException asCompletionException(Throwable error) { */ public static CompletionException combineErrors(Throwable error1, Throwable error2) { if (error1 != null && error2 != null) { - Throwable cause1 = completionExceptionCause(error1); - Throwable cause2 = completionExceptionCause(error2); + var cause1 = completionExceptionCause(error1); + var cause2 = completionExceptionCause(error2); addSuppressed(cause1, cause2); return asCompletionException(cause1); } else if (error1 != null) { diff --git a/driver/src/main/java/org/neo4j/driver/internal/util/Iterables.java b/driver/src/main/java/org/neo4j/driver/internal/util/Iterables.java index 9e845559f6..882742a6b0 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/util/Iterables.java +++ b/driver/src/main/java/org/neo4j/driver/internal/util/Iterables.java @@ -40,7 +40,7 @@ public static int count(Iterable it) { if (it instanceof Collection) { return ((Collection) it).size(); } - int size = 0; + var size = 0; for (Object o : it) { size++; } @@ -52,18 +52,18 @@ public static List asList(Iterable it) { return (List) it; } List list = new ArrayList<>(); - for (T t : it) { + for (var t : it) { list.add(t); } return list; } public static T single(Iterable it) { - Iterator iterator = it.iterator(); + var iterator = it.iterator(); if (!iterator.hasNext()) { throw new IllegalArgumentException("Given iterable is empty"); } - T result = iterator.next(); + var result = iterator.next(); if (iterator.hasNext()) { throw new IllegalArgumentException("Given iterable contains more than one element: " + it); } @@ -72,7 +72,7 @@ public static T single(Iterable it) { public static Map map(String... alternatingKeyValue) { Map out = newHashMapWithSize(alternatingKeyValue.length / 2); - for (int i = 0; i < alternatingKeyValue.length; i += 2) { + for (var i = 0; i < alternatingKeyValue.length; i += 2) { out.put(alternatingKeyValue[i], alternatingKeyValue[i + 1]); } return out; @@ -82,7 +82,7 @@ public static Iterable map(final Iterable it, final Function return new Iterable() { @Override public Iterator iterator() { - final Iterator aIterator = it.iterator(); + final var aIterator = it.iterator(); return new Iterator() { @Override public boolean hasNext() { 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 dfbf84436e..8a5f864ba1 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 @@ -64,11 +64,11 @@ public MetadataExtractor(String resultAvailableAfterMetadataKey, String resultCo } public QueryKeys extractQueryKeys(Map metadata) { - Value keysValue = metadata.get("fields"); + var keysValue = metadata.get("fields"); if (keysValue != null) { if (!keysValue.isEmpty()) { - QueryKeys keys = new QueryKeys(keysValue.size()); - for (Value value : keysValue.values()) { + var keys = new QueryKeys(keysValue.size()); + for (var value : keysValue.values()) { keys.add(value.asString()); } @@ -79,7 +79,7 @@ public QueryKeys extractQueryKeys(Map metadata) { } public long extractQueryId(Map metadata) { - Value queryId = metadata.get("qid"); + var queryId = metadata.get("qid"); if (queryId != null) { return queryId.asLong(); } @@ -87,7 +87,7 @@ public long extractQueryId(Map metadata) { } public long extractResultAvailableAfter(Map metadata) { - Value resultAvailableAfterValue = metadata.get(resultAvailableAfterMetadataKey); + var resultAvailableAfterValue = metadata.get(resultAvailableAfterMetadataKey); if (resultAvailableAfterValue != null) { return resultAvailableAfterValue.asLong(); } @@ -100,7 +100,7 @@ public ResultSummary extractSummary( connection.serverAgent(), connection.serverAddress(), connection.protocol().version()); - DatabaseInfo dbInfo = extractDatabaseInfo(metadata); + var dbInfo = extractDatabaseInfo(metadata); return new InternalResultSummary( query, serverInfo, @@ -121,11 +121,11 @@ public static DatabaseBookmark extractDatabaseBookmark(Map metada } public static Value extractServer(Map metadata) { - Value versionValue = metadata.get("server"); + var versionValue = metadata.get("server"); if (versionValue == null || versionValue.isNull()) { throw new UntrustedServerException("Server provides no product identifier"); } - String serverAgent = versionValue.asString(); + var serverAgent = versionValue.asString(); if (!serverAgent.startsWith("Neo4j/")) { throw new UntrustedServerException( "Server does not identify as a genuine Neo4j instance: '" + serverAgent + "'"); @@ -134,7 +134,7 @@ public static Value extractServer(Map metadata) { } static DatabaseInfo extractDatabaseInfo(Map metadata) { - Value dbValue = metadata.get("db"); + var dbValue = metadata.get("db"); if (dbValue == null || dbValue.isNull()) { return DEFAULT_DATABASE_INFO; } else { @@ -143,7 +143,7 @@ static DatabaseInfo extractDatabaseInfo(Map metadata) { } static Bookmark extractBookmark(Map metadata) { - Value bookmarkValue = metadata.get("bookmark"); + var bookmarkValue = metadata.get("bookmark"); Bookmark bookmark = null; if (bookmarkValue != null && !bookmarkValue.isNull() && bookmarkValue.hasType(TYPE_SYSTEM.STRING())) { bookmark = InternalBookmark.parse(bookmarkValue.asString()); @@ -152,7 +152,7 @@ static Bookmark extractBookmark(Map metadata) { } private static QueryType extractQueryType(Map metadata) { - Value typeValue = metadata.get("type"); + var typeValue = metadata.get("type"); if (typeValue != null) { return QueryType.fromCode(typeValue.asString(), UNEXPECTED_TYPE_EXCEPTION_SUPPLIER); } @@ -160,7 +160,7 @@ private static QueryType extractQueryType(Map metadata) { } private static InternalSummaryCounters extractCounters(Map metadata) { - Value countersValue = metadata.get("stats"); + var countersValue = metadata.get("stats"); if (countersValue != null) { return new InternalSummaryCounters( counterValue(countersValue, "nodes-created"), @@ -180,12 +180,12 @@ private static InternalSummaryCounters extractCounters(Map metada } private static int counterValue(Value countersValue, String name) { - Value value = countersValue.get(name); + var value = countersValue.get(name); return value.isNull() ? 0 : value.asInt(); } private static Plan extractPlan(Map metadata) { - Value planValue = metadata.get("plan"); + var planValue = metadata.get("plan"); if (planValue != null) { return InternalPlan.EXPLAIN_PLAN_FROM_VALUE.apply(planValue); } @@ -193,7 +193,7 @@ private static Plan extractPlan(Map metadata) { } private static ProfiledPlan extractProfiledPlan(Map metadata) { - Value profiledPlanValue = metadata.get("profile"); + var profiledPlanValue = metadata.get("profile"); if (profiledPlanValue != null) { return InternalProfiledPlan.PROFILED_PLAN_FROM_VALUE.apply(profiledPlanValue); } @@ -201,7 +201,7 @@ private static ProfiledPlan extractProfiledPlan(Map metadata) { } private static List extractNotifications(Map metadata) { - Value notificationsValue = metadata.get("notifications"); + var notificationsValue = metadata.get("notifications"); if (notificationsValue != null) { return notificationsValue.asList(InternalNotification.VALUE_TO_NOTIFICATION); } @@ -209,7 +209,7 @@ private static List extractNotifications(Map metada } private static long extractResultConsumedAfter(Map metadata, String key) { - Value resultConsumedAfterValue = metadata.get(key); + var resultConsumedAfterValue = metadata.get(key); if (resultConsumedAfterValue != null) { return resultConsumedAfterValue.asLong(); } @@ -217,7 +217,7 @@ private static long extractResultConsumedAfter(Map metadata, Stri } public static Set extractBoltPatches(Map metadata) { - Value boltPatch = metadata.get("patch_bolt"); + var boltPatch = metadata.get("patch_bolt"); if (boltPatch != null && !boltPatch.isNull()) { return new HashSet<>(boltPatch.asList(Value::asString)); } else { diff --git a/driver/src/main/java/org/neo4j/driver/internal/util/QueryKeys.java b/driver/src/main/java/org/neo4j/driver/internal/util/QueryKeys.java index ac6bee498c..c818e01c8a 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/util/QueryKeys.java +++ b/driver/src/main/java/org/neo4j/driver/internal/util/QueryKeys.java @@ -40,8 +40,8 @@ public QueryKeys(int size) { public QueryKeys(List keys) { this.keys = keys; Map keyIndex = new HashMap<>(keys.size()); - int i = 0; - for (String key : keys) { + var i = 0; + for (var key : keys) { keyIndex.put(key, i++); } this.keyIndex = keyIndex; @@ -53,7 +53,7 @@ public QueryKeys(List keys, Map keyIndex) { } public void add(String key) { - int index = keys.size(); + var index = keys.size(); keys.add(key); keyIndex.put(key, index); } @@ -86,7 +86,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - QueryKeys queryKeys = (QueryKeys) o; + var queryKeys = (QueryKeys) o; return keys.equals(queryKeys.keys) && keyIndex.equals(queryKeys.keyIndex); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/value/BooleanValue.java b/driver/src/main/java/org/neo4j/driver/internal/value/BooleanValue.java index 6be935f437..0bb5b5afd6 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/value/BooleanValue.java +++ b/driver/src/main/java/org/neo4j/driver/internal/value/BooleanValue.java @@ -43,7 +43,7 @@ public Type type() { @Override public int hashCode() { - Boolean value = asBoolean() ? Boolean.TRUE : Boolean.FALSE; + var value = asBoolean() ? Boolean.TRUE : Boolean.FALSE; return value.hashCode(); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/value/BytesValue.java b/driver/src/main/java/org/neo4j/driver/internal/value/BytesValue.java index 03aeb34f8b..05de0b409d 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/value/BytesValue.java +++ b/driver/src/main/java/org/neo4j/driver/internal/value/BytesValue.java @@ -66,7 +66,7 @@ public boolean equals(Object o) { return false; } - BytesValue values = (BytesValue) o; + var values = (BytesValue) o; return Arrays.equals(val, values.val); } @@ -77,8 +77,8 @@ public int hashCode() { @Override public String toString() { - StringBuilder s = new StringBuilder("#"); - for (byte b : val) { + var s = new StringBuilder("#"); + for (var b : val) { if (b < 0x10) { s.append('0'); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/value/FloatValue.java b/driver/src/main/java/org/neo4j/driver/internal/value/FloatValue.java index 7580ce0362..20afe35707 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/value/FloatValue.java +++ b/driver/src/main/java/org/neo4j/driver/internal/value/FloatValue.java @@ -41,7 +41,7 @@ public Double asNumber() { @Override public long asLong() { - long longVal = (long) val; + var longVal = (long) val; if ((double) longVal != val) { throw new LossyCoercion(type().name(), "Java long"); } @@ -51,7 +51,7 @@ public long asLong() { @Override public int asInt() { - int intVal = (int) val; + var intVal = (int) val; if ((double) intVal != val) { throw new LossyCoercion(type().name(), "Java int"); } @@ -66,7 +66,7 @@ public double asDouble() { @Override public float asFloat() { - float floatVal = (float) val; + var floatVal = (float) val; if ((double) floatVal != val) { throw new LossyCoercion(type().name(), "Java float"); } @@ -83,13 +83,13 @@ public boolean equals(Object o) { return false; } - FloatValue values = (FloatValue) o; + var values = (FloatValue) o; return Double.compare(values.val, val) == 0; } @Override public int hashCode() { - long temp = Double.doubleToLongBits(val); + var temp = Double.doubleToLongBits(val); return (int) (temp ^ (temp >>> 32)); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/value/IntegerValue.java b/driver/src/main/java/org/neo4j/driver/internal/value/IntegerValue.java index ebdbf06d2e..c677ee6fc9 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/value/IntegerValue.java +++ b/driver/src/main/java/org/neo4j/driver/internal/value/IntegerValue.java @@ -54,7 +54,7 @@ public int asInt() { @Override public double asDouble() { - double doubleVal = (double) val; + var doubleVal = (double) val; if ((long) doubleVal != val) { throw new LossyCoercion(type().name(), "Java double"); } @@ -81,7 +81,7 @@ public boolean equals(Object o) { return false; } - IntegerValue values = (IntegerValue) o; + var values = (IntegerValue) o; return val == values.val; } diff --git a/driver/src/main/java/org/neo4j/driver/internal/value/ListValue.java b/driver/src/main/java/org/neo4j/driver/internal/value/ListValue.java index f72bb89503..76c86108c7 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/value/ListValue.java +++ b/driver/src/main/java/org/neo4j/driver/internal/value/ListValue.java @@ -114,7 +114,7 @@ public boolean equals(Object o) { return false; } - ListValue otherValues = (ListValue) o; + var otherValues = (ListValue) o; return Arrays.equals(values, otherValues.values); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/value/MapValue.java b/driver/src/main/java/org/neo4j/driver/internal/value/MapValue.java index 15f4120ed6..c9e204791b 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/value/MapValue.java +++ b/driver/src/main/java/org/neo4j/driver/internal/value/MapValue.java @@ -87,7 +87,7 @@ public Iterable values(Function mapFunction) { @Override public Value get(String key) { - Value value = val.get(key); + var value = val.get(key); return value == null ? Values.NULL : value; } @@ -110,7 +110,7 @@ public boolean equals(Object o) { return false; } - MapValue values = (MapValue) o; + var values = (MapValue) o; return val.equals(values.val); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/value/ObjectValueAdapter.java b/driver/src/main/java/org/neo4j/driver/internal/value/ObjectValueAdapter.java index 6738bda803..a93fd00b4a 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/value/ObjectValueAdapter.java +++ b/driver/src/main/java/org/neo4j/driver/internal/value/ObjectValueAdapter.java @@ -46,7 +46,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - ObjectValueAdapter that = (ObjectValueAdapter) o; + var that = (ObjectValueAdapter) o; return Objects.equals(adapted, that.adapted); } diff --git a/driver/src/main/java/org/neo4j/driver/internal/value/StringValue.java b/driver/src/main/java/org/neo4j/driver/internal/value/StringValue.java index 1fcc324a7d..2e67831953 100644 --- a/driver/src/main/java/org/neo4j/driver/internal/value/StringValue.java +++ b/driver/src/main/java/org/neo4j/driver/internal/value/StringValue.java @@ -70,7 +70,7 @@ public boolean equals(Object o) { if (o == null || getClass() != o.getClass()) { return false; } - StringValue that = (StringValue) o; + var that = (StringValue) o; return Objects.equals(val, that.val); }