Skip to content

Commit 8810ab5

Browse files
authored
Update to using the local variable type inference in backend, examples (#1449)
1 parent 41b0d56 commit 8810ab5

File tree

56 files changed

+293
-360
lines changed

Some content is hidden

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

56 files changed

+293
-360
lines changed

examples/src/main/java/org/neo4j/docs/driver/AsyncTransactionFunctionExample.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,10 @@ public AsyncTransactionFunctionExample(String uri, String user, String password)
3232

3333
// tag::async-transaction-function[]
3434
public CompletionStage<ResultSummary> printAllProducts() {
35-
String query = "MATCH (p:Product) WHERE p.id = $id RETURN p.title";
35+
var query = "MATCH (p:Product) WHERE p.id = $id RETURN p.title";
3636
Map<String, Object> parameters = Collections.singletonMap("id", 0);
3737

38-
AsyncSession session = driver.session(AsyncSession.class);
38+
var session = driver.session(AsyncSession.class);
3939

4040
return session.executeReadAsync(tx -> tx.runAsync(query, parameters)
4141
.thenCompose(cursor -> cursor.forEachAsync(record ->

examples/src/test/java/org/neo4j/docs/driver/ExamplesIT.java

Lines changed: 50 additions & 50 deletions
Large diffs are not rendered by default.

examples/src/test/java/org/neo4j/docs/driver/RoutingExamplesIT.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -44,9 +44,9 @@ class RoutingExamplesIT {
4444
@Test
4545
void testShouldRunConfigCustomResolverExample() {
4646
// Given
47-
URI boltUri = URI.create(NEO4J_CONTAINER.getBoltUrl());
48-
String neo4jUrl = String.format("neo4j://%s:%d", boltUri.getHost(), boltUri.getPort());
49-
try (ConfigCustomResolverExample example = new ConfigCustomResolverExample(
47+
var boltUri = URI.create(NEO4J_CONTAINER.getBoltUrl());
48+
var neo4jUrl = String.format("neo4j://%s:%d", boltUri.getHost(), boltUri.getPort());
49+
try (var example = new ConfigCustomResolverExample(
5050
neo4jUrl, AuthTokens.none(), ServerAddress.of(boltUri.getHost(), boltUri.getPort()))) {
5151
// Then
5252
assertTrue(example.canConnect());

testkit-backend/src/main/java/neo4j/org/testkit/backend/Runner.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,6 @@
1919
package neo4j.org.testkit.backend;
2020

2121
import io.netty.bootstrap.ServerBootstrap;
22-
import io.netty.channel.ChannelFuture;
2322
import io.netty.channel.ChannelInitializer;
2423
import io.netty.channel.EventLoopGroup;
2524
import io.netty.channel.nio.NioEventLoopGroup;
@@ -35,7 +34,7 @@
3534
public class Runner {
3635
public static void main(String[] args) throws InterruptedException {
3736
TestkitRequestProcessorHandler.BackendMode backendMode;
38-
String modeArg = args.length > 0 ? args[0] : null;
37+
var modeArg = args.length > 0 ? args[0] : null;
3938
if ("async".equals(modeArg)) {
4039
backendMode = TestkitRequestProcessorHandler.BackendMode.ASYNC;
4140
} else if ("reactive-legacy".equals(modeArg)) {
@@ -54,7 +53,7 @@ public static void main(String[] args) throws InterruptedException {
5453

5554
EventLoopGroup group = new NioEventLoopGroup();
5655
try {
57-
ServerBootstrap bootstrap = new ServerBootstrap();
56+
var bootstrap = new ServerBootstrap();
5857
bootstrap
5958
.group(group)
6059
.channel(NioServerSocketChannel.class)
@@ -68,7 +67,7 @@ protected void initChannel(SocketChannel channel) {
6867
channel.pipeline().addLast(new TestkitRequestProcessorHandler(backendMode, logging));
6968
}
7069
});
71-
ChannelFuture server = bootstrap.bind().sync();
70+
var server = bootstrap.bind().sync();
7271
server.channel().closeFuture().sync();
7372
} finally {
7473
group.shutdownGracefully().sync();

testkit-backend/src/main/java/neo4j/org/testkit/backend/RxBufferedSubscriber.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ public class RxBufferedSubscriber<T> extends BaseSubscriber<T> {
5252

5353
public RxBufferedSubscriber(long fetchSize) {
5454
this.fetchSize = fetchSize;
55-
AtomicReference<FluxSink<T>> sinkRef = new AtomicReference<>();
55+
var sinkRef = new AtomicReference<FluxSink<T>>();
5656
itemsSubscriber = new OneSignalSubscriber<>();
5757
Flux.<T>create(fluxSink -> {
5858
sinkRef.set(fluxSink);
@@ -121,7 +121,7 @@ private void requestFromUpstream() {
121121
if (moreItemsPending) {
122122
return;
123123
}
124-
Subscription subscription = subscriptionFuture.getNow(null);
124+
var subscription = subscriptionFuture.getNow(null);
125125
if (subscription == null) {
126126
throw new IllegalStateException("Upstream subscription must not be null at this stage");
127127
}
@@ -169,7 +169,7 @@ protected void hookOnSubscribe(Subscription subscription) {
169169

170170
@Override
171171
protected void hookOnNext(T value) {
172-
MonoSink<T> sink = executeWithLock(lock, () -> {
172+
var sink = executeWithLock(lock, () -> {
173173
emitted = true;
174174
return this.sink;
175175
});
@@ -178,7 +178,7 @@ protected void hookOnNext(T value) {
178178

179179
@Override
180180
protected void hookOnComplete() {
181-
MonoSink<T> sink = executeWithLock(lock, () -> {
181+
var sink = executeWithLock(lock, () -> {
182182
completionFuture.complete(null);
183183
return !emitted ? this.sink : null;
184184
});
@@ -189,7 +189,7 @@ protected void hookOnComplete() {
189189

190190
@Override
191191
protected void hookOnError(Throwable throwable) {
192-
MonoSink<T> sink = executeWithLock(lock, () -> {
192+
var sink = executeWithLock(lock, () -> {
193193
completionFuture.completeExceptionally(throwable);
194194
return !emitted ? this.sink : null;
195195
});

testkit-backend/src/main/java/neo4j/org/testkit/backend/TestkitState.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -263,22 +263,22 @@ public void removeAuthProvider(String id) {
263263
}
264264

265265
private <T> String add(T value, Map<String, T> idToT) {
266-
String id = newId();
266+
var id = newId();
267267
idToT.put(id, value);
268268
return id;
269269
}
270270

271271
private <T> T get(String id, Map<String, T> idToT, String notFoundMessage) {
272-
T value = idToT.get(id);
272+
var value = idToT.get(id);
273273
if (value == null) {
274274
throw new RuntimeException(notFoundMessage);
275275
}
276276
return value;
277277
}
278278

279279
private <T> CompletableFuture<T> getAsync(String id, Map<String, T> idToT, String notFoundMessage) {
280-
CompletableFuture<T> result = new CompletableFuture<>();
281-
T value = idToT.get(id);
280+
var result = new CompletableFuture<T>();
281+
var value = idToT.get(id);
282282
if (value == null) {
283283
result.completeExceptionally(new RuntimeException(notFoundMessage));
284284
} else {

testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitMessageInboundHandler.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -31,11 +31,11 @@ public class TestkitMessageInboundHandler extends SimpleChannelInboundHandler<By
3131

3232
@Override
3333
public void channelRead0(ChannelHandlerContext ctx, ByteBuf byteBuf) {
34-
String requestStr = byteBuf.toString(CharsetUtil.UTF_8);
34+
var requestStr = byteBuf.toString(CharsetUtil.UTF_8);
3535
requestBuffer.append(requestStr);
3636

3737
List<String> testkitMessages = new ArrayList<>();
38-
Optional<String> testkitMessageOpt = extractTestkitMessage();
38+
var testkitMessageOpt = extractTestkitMessage();
3939
while (testkitMessageOpt.isPresent()) {
4040
testkitMessages.add(testkitMessageOpt.get());
4141
testkitMessageOpt = extractTestkitMessage();
@@ -45,18 +45,18 @@ public void channelRead0(ChannelHandlerContext ctx, ByteBuf byteBuf) {
4545
}
4646

4747
private Optional<String> extractTestkitMessage() {
48-
String requestEndMarker = "#request end\n";
49-
int endMarkerIndex = requestBuffer.indexOf(requestEndMarker);
48+
var requestEndMarker = "#request end\n";
49+
var endMarkerIndex = requestBuffer.indexOf(requestEndMarker);
5050
if (endMarkerIndex < 0) {
5151
return Optional.empty();
5252
}
53-
String requestBeginMarker = "#request begin\n";
54-
int beginMarkerIndex = requestBuffer.indexOf(requestBeginMarker);
53+
var requestBeginMarker = "#request begin\n";
54+
var beginMarkerIndex = requestBuffer.indexOf(requestBeginMarker);
5555
if (beginMarkerIndex != 0) {
5656
throw new RuntimeException("Unexpected data in message buffer");
5757
}
5858
// extract Testkit message without markers
59-
String testkitMessage = requestBuffer.substring(requestBeginMarker.length(), endMarkerIndex);
59+
var testkitMessage = requestBuffer.substring(requestBeginMarker.length(), endMarkerIndex);
6060
if (testkitMessage.contains(requestBeginMarker) || testkitMessage.contains(requestEndMarker)) {
6161
throw new RuntimeException("Testkit message contains request markers");
6262
}

testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitMessageOutboundHandler.java

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,6 @@
1818
*/
1919
package neo4j.org.testkit.backend.channel.handler;
2020

21-
import io.netty.buffer.ByteBuf;
2221
import io.netty.buffer.Unpooled;
2322
import io.netty.channel.ChannelHandlerContext;
2423
import io.netty.channel.ChannelOutboundHandlerAdapter;
@@ -28,9 +27,9 @@
2827
public class TestkitMessageOutboundHandler extends ChannelOutboundHandlerAdapter {
2928
@Override
3029
public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) {
31-
String testkitResponseStr = (String) msg;
32-
String testkitMessage = String.format("#response begin\n%s\n#response end\n", testkitResponseStr);
33-
ByteBuf byteBuf = Unpooled.copiedBuffer(testkitMessage, StandardCharsets.UTF_8);
30+
var testkitResponseStr = (String) msg;
31+
var testkitMessage = String.format("#response begin\n%s\n#response end\n", testkitResponseStr);
32+
var byteBuf = Unpooled.copiedBuffer(testkitMessage, StandardCharsets.UTF_8);
3433
ctx.writeAndFlush(byteBuf, promise);
3534
}
3635
}

testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitRequestProcessorHandler.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -79,8 +79,8 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) {
7979
// resolvers support, is blocking.
8080
requestExecutorService.execute(() -> {
8181
try {
82-
TestkitRequest request = (TestkitRequest) msg;
83-
CompletionStage<TestkitResponse> responseStage = processorImpl.apply(request, testkitState);
82+
var request = (TestkitRequest) msg;
83+
var responseStage = processorImpl.apply(request, testkitState);
8484
responseStage.whenComplete((response, throwable) -> {
8585
if (throwable != null) {
8686
ctx.writeAndFlush(createErrorResponse(throwable));
@@ -96,7 +96,7 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) {
9696

9797
private static CompletionStage<TestkitResponse> wrapSyncRequest(
9898
TestkitRequest testkitRequest, TestkitState testkitState) {
99-
CompletableFuture<TestkitResponse> result = new CompletableFuture<>();
99+
var result = new CompletableFuture<TestkitResponse>();
100100
try {
101101
result.complete(testkitRequest.process(testkitState));
102102
} catch (Throwable t) {
@@ -115,8 +115,8 @@ private TestkitResponse createErrorResponse(Throwable throwable) {
115115
throwable = throwable.getCause();
116116
}
117117
if (throwable instanceof Neo4jException) {
118-
String id = testkitState.newId();
119-
Neo4jException e = (Neo4jException) throwable;
118+
var id = testkitState.newId();
119+
var e = (Neo4jException) throwable;
120120
testkitState.getErrors().put(id, e);
121121
return DriverError.builder()
122122
.data(DriverError.DriverErrorBody.builder()
@@ -130,7 +130,7 @@ private TestkitResponse createErrorResponse(Throwable throwable) {
130130
|| throwable instanceof UntrustedServerException
131131
|| throwable instanceof NoSuchRecordException
132132
|| throwable instanceof ZoneRulesException) {
133-
String id = testkitState.newId();
133+
var id = testkitState.newId();
134134
testkitState.getErrors().put(id, (Exception) throwable);
135135
return DriverError.builder()
136136
.data(DriverError.DriverErrorBody.builder()
@@ -141,7 +141,7 @@ private TestkitResponse createErrorResponse(Throwable throwable) {
141141
.build();
142142
} else if (throwable instanceof CustomDriverError) {
143143
throwable = throwable.getCause();
144-
String id = testkitState.newId();
144+
var id = testkitState.newId();
145145
return DriverError.builder()
146146
.data(DriverError.DriverErrorBody.builder()
147147
.id(id)

testkit-backend/src/main/java/neo4j/org/testkit/backend/channel/handler/TestkitRequestResponseMapperHandler.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public TestkitRequestResponseMapperHandler(Logging logging) {
3939

4040
@Override
4141
public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception {
42-
String testkitMessage = (String) msg;
42+
var testkitMessage = (String) msg;
4343
log.debug("Inbound Testkit message '%s'", testkitMessage.trim());
4444
TestkitRequest testkitRequest;
4545
testkitRequest = objectMapper.readValue(testkitMessage, TestkitRequest.class);
@@ -48,15 +48,15 @@ public void channelRead(ChannelHandlerContext ctx, Object msg) throws Exception
4848

4949
@Override
5050
public void write(ChannelHandlerContext ctx, Object msg, ChannelPromise promise) throws Exception {
51-
TestkitResponse testkitResponse = (TestkitResponse) msg;
52-
String responseStr = objectMapper.writeValueAsString(testkitResponse);
51+
var testkitResponse = (TestkitResponse) msg;
52+
var responseStr = objectMapper.writeValueAsString(testkitResponse);
5353
log.debug("Outbound Testkit message '%s'", responseStr.trim());
5454
ctx.writeAndFlush(responseStr, promise);
5555
}
5656

5757
public static ObjectMapper newObjectMapper() {
58-
ObjectMapper objectMapper = new ObjectMapper();
59-
TestkitModule testkitModule = new TestkitModule();
58+
var objectMapper = new ObjectMapper();
59+
var testkitModule = new TestkitModule();
6060
objectMapper.registerModule(testkitModule);
6161
objectMapper.disable(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES);
6262
return objectMapper;

testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/AbstractResultNext.java

Lines changed: 19 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -30,15 +30,14 @@
3030
import neo4j.org.testkit.backend.messages.responses.NullRecord;
3131
import neo4j.org.testkit.backend.messages.responses.TestkitResponse;
3232
import org.neo4j.driver.Record;
33-
import org.neo4j.driver.Result;
3433
import org.neo4j.driver.exceptions.NoSuchRecordException;
3534
import reactor.core.publisher.Mono;
3635

3736
public abstract class AbstractResultNext implements TestkitRequest {
3837
@Override
3938
public TestkitResponse process(TestkitState testkitState) {
4039
try {
41-
Result result = testkitState.getResultHolder(getResultId()).getResult();
40+
var result = testkitState.getResultHolder(getResultId()).getResult();
4241
return createResponse(result.next());
4342
} catch (NoSuchRecordException ignored) {
4443
return NullRecord.builder().build();
@@ -57,15 +56,12 @@ public CompletionStage<TestkitResponse> processAsync(TestkitState testkitState)
5756
@Override
5857
public Mono<TestkitResponse> processRx(TestkitState testkitState) {
5958
return testkitState.getRxResultHolder(getResultId()).flatMap(resultHolder -> {
60-
RxBufferedSubscriber<Record> subscriber = resultHolder
61-
.getSubscriber()
62-
.orElseGet(() -> {
63-
RxBufferedSubscriber<Record> subscriberInstance =
64-
new RxBufferedSubscriber<>(getFetchSize(resultHolder));
65-
resultHolder.setSubscriber(subscriberInstance);
66-
resultHolder.getResult().records().subscribe(subscriberInstance);
67-
return subscriberInstance;
68-
});
59+
var subscriber = resultHolder.getSubscriber().orElseGet(() -> {
60+
var subscriberInstance = new RxBufferedSubscriber<Record>(getFetchSize(resultHolder));
61+
resultHolder.setSubscriber(subscriberInstance);
62+
resultHolder.getResult().records().subscribe(subscriberInstance);
63+
return subscriberInstance;
64+
});
6965
return subscriber
7066
.next()
7167
.map(this::createResponse)
@@ -76,15 +72,12 @@ public Mono<TestkitResponse> processRx(TestkitState testkitState) {
7672
@Override
7773
public Mono<TestkitResponse> processReactive(TestkitState testkitState) {
7874
return testkitState.getReactiveResultHolder(getResultId()).flatMap(resultHolder -> {
79-
RxBufferedSubscriber<Record> subscriber = resultHolder
80-
.getSubscriber()
81-
.orElseGet(() -> {
82-
RxBufferedSubscriber<Record> subscriberInstance =
83-
new RxBufferedSubscriber<>(getFetchSize(resultHolder));
84-
resultHolder.setSubscriber(subscriberInstance);
85-
resultHolder.getResult().records().subscribe(toFlowSubscriber(subscriberInstance));
86-
return subscriberInstance;
87-
});
75+
var subscriber = resultHolder.getSubscriber().orElseGet(() -> {
76+
var subscriberInstance = new RxBufferedSubscriber<Record>(getFetchSize(resultHolder));
77+
resultHolder.setSubscriber(subscriberInstance);
78+
resultHolder.getResult().records().subscribe(toFlowSubscriber(subscriberInstance));
79+
return subscriberInstance;
80+
});
8881
return subscriber
8982
.next()
9083
.map(this::createResponse)
@@ -95,15 +88,12 @@ public Mono<TestkitResponse> processReactive(TestkitState testkitState) {
9588
@Override
9689
public Mono<TestkitResponse> processReactiveStreams(TestkitState testkitState) {
9790
return testkitState.getReactiveResultStreamsHolder(getResultId()).flatMap(resultHolder -> {
98-
RxBufferedSubscriber<Record> subscriber = resultHolder
99-
.getSubscriber()
100-
.orElseGet(() -> {
101-
RxBufferedSubscriber<Record> subscriberInstance =
102-
new RxBufferedSubscriber<>(getFetchSize(resultHolder));
103-
resultHolder.setSubscriber(subscriberInstance);
104-
resultHolder.getResult().records().subscribe(subscriberInstance);
105-
return subscriberInstance;
106-
});
91+
var subscriber = resultHolder.getSubscriber().orElseGet(() -> {
92+
var subscriberInstance = new RxBufferedSubscriber<Record>(getFetchSize(resultHolder));
93+
resultHolder.setSubscriber(subscriberInstance);
94+
resultHolder.getResult().records().subscribe(subscriberInstance);
95+
return subscriberInstance;
96+
});
10797
return subscriber
10898
.next()
10999
.map(this::createResponse)

testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/CheckDriverIsEncrypted.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
import lombok.Getter;
2424
import lombok.Setter;
2525
import neo4j.org.testkit.backend.TestkitState;
26-
import neo4j.org.testkit.backend.holder.DriverHolder;
2726
import neo4j.org.testkit.backend.messages.responses.DriverIsEncrypted;
2827
import neo4j.org.testkit.backend.messages.responses.TestkitResponse;
2928
import reactor.core.publisher.Mono;
@@ -59,7 +58,7 @@ public Mono<TestkitResponse> processReactiveStreams(TestkitState testkitState) {
5958
}
6059

6160
private DriverIsEncrypted createResponse(TestkitState testkitState) {
62-
DriverHolder driverHolder = testkitState.getDriverHolder(data.getDriverId());
61+
var driverHolder = testkitState.getDriverHolder(data.getDriverId());
6362
return DriverIsEncrypted.builder()
6463
.data(DriverIsEncrypted.DriverIsEncryptedBody.builder()
6564
.encrypted(driverHolder.getDriver().isEncrypted())

testkit-backend/src/main/java/neo4j/org/testkit/backend/messages/requests/CheckMultiDBSupport.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,8 @@ public class CheckMultiDBSupport implements TestkitRequest {
3333

3434
@Override
3535
public TestkitResponse process(TestkitState testkitState) {
36-
String driverId = data.getDriverId();
37-
boolean available = testkitState.getDriverHolder(driverId).getDriver().supportsMultiDb();
36+
var driverId = data.getDriverId();
37+
var available = testkitState.getDriverHolder(driverId).getDriver().supportsMultiDb();
3838
return createResponse(available);
3939
}
4040

0 commit comments

Comments
 (0)