Skip to content

Commit 79fbba2

Browse files
committed
Refactor
1 parent 88c2c22 commit 79fbba2

File tree

65 files changed

+337
-439
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

65 files changed

+337
-439
lines changed

driver/src/main/java/org/neo4j/driver/Values.java

Lines changed: 14 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,7 @@
3838
import java.util.List;
3939
import java.util.Map;
4040
import java.util.function.Function;
41+
import java.util.stream.IntStream;
4142
import java.util.stream.Stream;
4243
import org.neo4j.driver.exceptions.ClientException;
4344
import org.neo4j.driver.internal.AsValue;
@@ -223,10 +224,7 @@ public static Value value(Object value) {
223224
* @return the array of values
224225
*/
225226
public static Value[] values(final Object... input) {
226-
var values = new Value[input.length];
227-
for (var i = 0; i < input.length; i++) {
228-
values[i] = value(input[i]);
229-
}
227+
var values = Arrays.stream(input).map(Values::value).toArray(Value[]::new);
230228
return values;
231229
}
232230

@@ -257,10 +255,7 @@ public static Value value(byte... input) {
257255
* @return the value
258256
*/
259257
public static Value value(String... input) {
260-
var values = new StringValue[input.length];
261-
for (var i = 0; i < input.length; i++) {
262-
values[i] = new StringValue(input[i]);
263-
}
258+
var values = Arrays.stream(input).map(StringValue::new).toArray(StringValue[]::new);
264259
return new ListValue(values);
265260
}
266261

@@ -270,10 +265,8 @@ public static Value value(String... input) {
270265
* @return the value
271266
*/
272267
public static Value value(boolean... input) {
273-
var values = new Value[input.length];
274-
for (var i = 0; i < input.length; i++) {
275-
values[i] = value(input[i]);
276-
}
268+
var values =
269+
IntStream.range(0, input.length).mapToObj(i -> value(input[i])).toArray(Value[]::new);
277270
return new ListValue(values);
278271
}
279272

@@ -283,10 +276,8 @@ public static Value value(boolean... input) {
283276
* @return the value
284277
*/
285278
public static Value value(char... input) {
286-
var values = new Value[input.length];
287-
for (var i = 0; i < input.length; i++) {
288-
values[i] = value(input[i]);
289-
}
279+
var values =
280+
IntStream.range(0, input.length).mapToObj(i -> value(input[i])).toArray(Value[]::new);
290281
return new ListValue(values);
291282
}
292283

@@ -296,10 +287,7 @@ public static Value value(char... input) {
296287
* @return the value
297288
*/
298289
public static Value value(long... input) {
299-
var values = new Value[input.length];
300-
for (var i = 0; i < input.length; i++) {
301-
values[i] = value(input[i]);
302-
}
290+
var values = Arrays.stream(input).mapToObj(Values::value).toArray(Value[]::new);
303291
return new ListValue(values);
304292
}
305293

@@ -309,10 +297,8 @@ public static Value value(long... input) {
309297
* @return the value
310298
*/
311299
public static Value value(short... input) {
312-
var values = new Value[input.length];
313-
for (var i = 0; i < input.length; i++) {
314-
values[i] = value(input[i]);
315-
}
300+
var values =
301+
IntStream.range(0, input.length).mapToObj(i -> value(input[i])).toArray(Value[]::new);
316302
return new ListValue(values);
317303
}
318304
/**
@@ -321,10 +307,7 @@ public static Value value(short... input) {
321307
* @return the value
322308
*/
323309
public static Value value(int... input) {
324-
var values = new Value[input.length];
325-
for (var i = 0; i < input.length; i++) {
326-
values[i] = value(input[i]);
327-
}
310+
var values = Arrays.stream(input).mapToObj(Values::value).toArray(Value[]::new);
328311
return new ListValue(values);
329312
}
330313
/**
@@ -333,10 +316,7 @@ public static Value value(int... input) {
333316
* @return the value
334317
*/
335318
public static Value value(double... input) {
336-
var values = new Value[input.length];
337-
for (var i = 0; i < input.length; i++) {
338-
values[i] = value(input[i]);
339-
}
319+
var values = Arrays.stream(input).mapToObj(Values::value).toArray(Value[]::new);
340320
return new ListValue(values);
341321
}
342322

@@ -346,10 +326,8 @@ public static Value value(double... input) {
346326
* @return the value
347327
*/
348328
public static Value value(float... input) {
349-
var values = new Value[input.length];
350-
for (var i = 0; i < input.length; i++) {
351-
values[i] = value(input[i]);
352-
}
329+
var values =
330+
IntStream.range(0, input.length).mapToObj(i -> value(input[i])).toArray(Value[]::new);
353331
return new ListValue(values);
354332
}
355333

driver/src/main/java/org/neo4j/driver/internal/InternalPath.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -132,7 +132,7 @@ public InternalPath(List<Segment> segments, List<Node> nodes, List<Relationship>
132132
}
133133

134134
private <T> List<T> newList(int size) {
135-
return size == 0 ? Collections.<T>emptyList() : new ArrayList<T>(size);
135+
return size == 0 ? Collections.emptyList() : new ArrayList<>(size);
136136
}
137137

138138
@Override

driver/src/main/java/org/neo4j/driver/internal/Scheme.java

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
*/
1919
package org.neo4j.driver.internal;
2020

21+
import java.util.List;
22+
2123
public class Scheme {
2224
public static final String BOLT_URI_SCHEME = "bolt";
2325
public static final String BOLT_HIGH_TRUST_URI_SCHEME = "bolt+s";
@@ -36,9 +38,7 @@ public static void validateScheme(String scheme) {
3638
BOLT_HIGH_TRUST_URI_SCHEME,
3739
NEO4J_URI_SCHEME,
3840
NEO4J_LOW_TRUST_URI_SCHEME,
39-
NEO4J_HIGH_TRUST_URI_SCHEME -> {
40-
return;
41-
}
41+
NEO4J_HIGH_TRUST_URI_SCHEME -> {}
4242
default -> throw new IllegalArgumentException("Invalid address format " + scheme);
4343
}
4444
}
@@ -52,15 +52,16 @@ public static boolean isLowTrustScheme(String scheme) {
5252
}
5353

5454
public static boolean isSecurityScheme(String scheme) {
55-
return scheme.equals(BOLT_LOW_TRUST_URI_SCHEME)
56-
|| scheme.equals(NEO4J_LOW_TRUST_URI_SCHEME)
57-
|| scheme.equals(BOLT_HIGH_TRUST_URI_SCHEME)
58-
|| scheme.equals(NEO4J_HIGH_TRUST_URI_SCHEME);
55+
return List.of(
56+
BOLT_LOW_TRUST_URI_SCHEME,
57+
NEO4J_LOW_TRUST_URI_SCHEME,
58+
BOLT_HIGH_TRUST_URI_SCHEME,
59+
NEO4J_HIGH_TRUST_URI_SCHEME)
60+
.contains(scheme);
5961
}
6062

6163
public static boolean isRoutingScheme(String scheme) {
62-
return scheme.equals(NEO4J_LOW_TRUST_URI_SCHEME)
63-
|| scheme.equals(NEO4J_HIGH_TRUST_URI_SCHEME)
64-
|| scheme.equals(NEO4J_URI_SCHEME);
64+
return List.of(NEO4J_LOW_TRUST_URI_SCHEME, NEO4J_HIGH_TRUST_URI_SCHEME, NEO4J_URI_SCHEME)
65+
.contains(scheme);
6566
}
6667
}

driver/src/main/java/org/neo4j/driver/internal/SecuritySettings.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,10 +18,12 @@
1818
*/
1919
package org.neo4j.driver.internal;
2020

21+
import java.io.Serial;
2122
import java.io.Serializable;
2223
import org.neo4j.driver.Config;
2324

2425
public record SecuritySettings(boolean encrypted, Config.TrustStrategy trustStrategy) implements Serializable {
26+
@Serial
2527
private static final long serialVersionUID = 4494615367164106576L;
2628

2729
private static final boolean DEFAULT_ENCRYPTED = false;

driver/src/main/java/org/neo4j/driver/internal/async/LeakLoggingNetworkSession.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,9 @@
2020

2121
import static java.lang.System.lineSeparator;
2222

23+
import java.util.Arrays;
2324
import java.util.Set;
25+
import java.util.stream.Collectors;
2426
import org.neo4j.driver.AccessMode;
2527
import org.neo4j.driver.AuthToken;
2628
import org.neo4j.driver.Bookmark;
@@ -82,11 +84,9 @@ private void logLeakIfNeeded() {
8284
}
8385

8486
private static String captureStackTrace() {
85-
var result = new StringBuilder();
8687
var elements = Thread.currentThread().getStackTrace();
87-
for (var element : elements) {
88-
result.append("\t").append(element).append(lineSeparator());
89-
}
90-
return result.toString();
88+
return Arrays.stream(elements)
89+
.map(element -> "\t" + element + lineSeparator())
90+
.collect(Collectors.joining());
9191
}
9292
}

driver/src/main/java/org/neo4j/driver/internal/async/ResultCursorsHolder.java

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static org.neo4j.driver.internal.util.Futures.completedWithNull;
2222

2323
import java.util.ArrayList;
24+
import java.util.Arrays;
2425
import java.util.Collections;
2526
import java.util.List;
2627
import java.util.Objects;
@@ -54,13 +55,11 @@ private CompletableFuture<Throwable>[] retrieveAllFailures() {
5455
private static Throwable findFirstFailure(CompletableFuture<Throwable>[] completedFailureFutures) {
5556
// all given futures should be completed, it is thus safe to get their values
5657

57-
for (var failureFuture : completedFailureFutures) {
58-
var failure = failureFuture.getNow(null); // does not block
59-
if (failure != null) {
60-
return failure;
61-
}
62-
}
63-
return null;
58+
return Arrays.stream(completedFailureFutures)
59+
.map(failureFuture -> failureFuture.getNow(null))
60+
.filter(Objects::nonNull)
61+
.findFirst()
62+
.orElse(null);
6463
}
6564

6665
private static CompletionStage<Throwable> retrieveFailure(CompletionStage<? extends FailableCursor> cursorStage) {

driver/src/main/java/org/neo4j/driver/internal/cluster/ClusterRoutingTable.java

Lines changed: 6 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -169,22 +169,16 @@ public String toString() {
169169

170170
private List<BoltServerAddress> newWithoutAddressIfPresent(
171171
List<BoltServerAddress> addresses, BoltServerAddress addressToSkip) {
172-
List<BoltServerAddress> newList = new ArrayList<>(addresses.size());
173-
for (var address : addresses) {
174-
if (!address.equals(addressToSkip)) {
175-
newList.add(address);
176-
}
177-
}
178-
return Collections.unmodifiableList(newList);
172+
return addresses.stream()
173+
.filter(address -> !address.equals(addressToSkip))
174+
.toList();
179175
}
180176

181177
private List<BoltServerAddress> newWithAddressReplacedIfPresent(
182178
List<BoltServerAddress> addresses, BoltServerAddress oldAddress, BoltServerAddress newAddress) {
183-
List<BoltServerAddress> newList = new ArrayList<>(addresses.size());
184-
for (var address : addresses) {
185-
newList.add(address.equals(oldAddress) ? newAddress : address);
186-
}
187-
return Collections.unmodifiableList(newList);
179+
return addresses.stream()
180+
.map(address -> address.equals(oldAddress) ? newAddress : address)
181+
.toList();
188182
}
189183

190184
private List<BoltServerAddress> newWithReusedAddresses(

driver/src/main/java/org/neo4j/driver/internal/cluster/RoutingTableRegistryImpl.java

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323

2424
import java.time.Clock;
2525
import java.util.HashMap;
26-
import java.util.HashSet;
2726
import java.util.Map;
2827
import java.util.Objects;
2928
import java.util.Optional;
@@ -33,6 +32,7 @@
3332
import java.util.concurrent.ConcurrentHashMap;
3433
import java.util.concurrent.ConcurrentMap;
3534
import java.util.concurrent.atomic.AtomicReference;
35+
import java.util.stream.Collectors;
3636
import org.neo4j.driver.Logger;
3737
import org.neo4j.driver.Logging;
3838
import org.neo4j.driver.internal.BoltServerAddress;
@@ -165,10 +165,9 @@ private CompletionStage<ConnectionContextAndHandler> ensureDatabaseNameIsComplet
165165
public Set<BoltServerAddress> allServers() {
166166
// obviously we just had a snapshot of all servers in all routing tables
167167
// after we read it, the set could already be changed.
168-
Set<BoltServerAddress> servers = new HashSet<>();
169-
for (var tableHandler : routingTableHandlers.values()) {
170-
servers.addAll(tableHandler.servers());
171-
}
168+
var servers = routingTableHandlers.values().stream()
169+
.flatMap(tableHandler -> tableHandler.servers().stream())
170+
.collect(Collectors.toSet());
172171
return servers;
173172
}
174173

driver/src/main/java/org/neo4j/driver/internal/cluster/loadbalancing/LoadBalancer.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -244,15 +244,13 @@ private static List<BoltServerAddress> getAddressesByMode(AccessMode mode, Routi
244244
return switch (mode) {
245245
case READ -> routingTable.readers();
246246
case WRITE -> routingTable.writers();
247-
default -> throw unknownMode(mode);
248247
};
249248
}
250249

251250
private BoltServerAddress selectAddress(AccessMode mode, List<BoltServerAddress> addresses) {
252251
return switch (mode) {
253252
case READ -> loadBalancingStrategy.selectReader(addresses);
254253
case WRITE -> loadBalancingStrategy.selectWriter(addresses);
255-
default -> throw unknownMode(mode);
256254
};
257255
}
258256

driver/src/main/java/org/neo4j/driver/internal/logging/ConsoleLogging.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@
2121
import static java.time.format.DateTimeFormatter.ISO_LOCAL_DATE_TIME;
2222

2323
import java.io.PrintWriter;
24+
import java.io.Serial;
2425
import java.io.Serializable;
2526
import java.io.StringWriter;
2627
import java.time.LocalDateTime;
@@ -39,6 +40,7 @@
3940
* @see Logging#console(Level)
4041
*/
4142
public class ConsoleLogging implements Logging, Serializable {
43+
@Serial
4244
private static final long serialVersionUID = 9205935204074879150L;
4345

4446
private final Level level;

driver/src/main/java/org/neo4j/driver/internal/logging/DevNullLogging.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,11 +18,13 @@
1818
*/
1919
package org.neo4j.driver.internal.logging;
2020

21+
import java.io.Serial;
2122
import java.io.Serializable;
2223
import org.neo4j.driver.Logger;
2324
import org.neo4j.driver.Logging;
2425

2526
public class DevNullLogging implements Logging, Serializable {
27+
@Serial
2628
private static final long serialVersionUID = -2632752338512373821L;
2729

2830
public static final Logging DEV_NULL_LOGGING = new DevNullLogging();
@@ -40,6 +42,7 @@ public Logger getLog(String name) {
4042
// An enum would be preferable, but would not be API compatible.
4143
// Reference: https://docs.oracle.com/en/java/javase/17/docs/specs/serialization/input.html#the-readresolve-method
4244
// andJoshua Bloch, Effective Java 3rd edition
45+
@Serial
4346
private Object readResolve() {
4447
return DEV_NULL_LOGGING;
4548
}

driver/src/main/java/org/neo4j/driver/internal/logging/JULogging.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919
package org.neo4j.driver.internal.logging;
2020

21+
import java.io.Serial;
2122
import java.io.Serializable;
2223
import java.util.logging.Level;
2324
import org.neo4j.driver.Logger;
@@ -30,6 +31,7 @@
3031
* @see Logging#javaUtilLogging(Level)
3132
*/
3233
public class JULogging implements Logging, Serializable {
34+
@Serial
3335
private static final long serialVersionUID = -1145576859241657833L;
3436

3537
private final Level loggingLevel;

driver/src/main/java/org/neo4j/driver/internal/logging/Slf4jLogging.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
*/
1919
package org.neo4j.driver.internal.logging;
2020

21+
import java.io.Serial;
2122
import java.io.Serializable;
2223
import org.neo4j.driver.Logger;
2324
import org.neo4j.driver.Logging;
@@ -30,6 +31,7 @@
3031
* @see Logging#slf4j()
3132
*/
3233
public class Slf4jLogging implements Logging, Serializable {
34+
@Serial
3335
private static final long serialVersionUID = 4120390028025944991L;
3436

3537
@Override

driver/src/main/java/org/neo4j/driver/internal/messaging/response/FailureMessage.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020

2121
import static java.lang.String.format;
2222

23+
import java.util.Objects;
2324
import org.neo4j.driver.internal.messaging.Message;
2425

2526
/**
@@ -52,7 +53,6 @@ public boolean equals(Object o) {
5253

5354
var that = (FailureMessage) o;
5455

55-
return !(code != null ? !code.equals(that.code) : that.code != null)
56-
&& !(message != null ? !message.equals(that.message) : that.message != null);
56+
return Objects.equals(code, that.code) && Objects.equals(message, that.message);
5757
}
5858
}

0 commit comments

Comments
 (0)