Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Commit 76d7ed9

Browse filesBrowse files
committed
Add null-check to message before trying to convert
Add null-check to message before trying to convert. We could
1 parent 355dd11 commit 76d7ed9
Copy full SHA for 76d7ed9

File tree

Expand file treeCollapse file tree

2 files changed

+16
-1
lines changed
Open diff view settings
Filter options
Expand file treeCollapse file tree

2 files changed

+16
-1
lines changed
Open diff view settings
Collapse file

‎messaging/src/main/java/org/axonframework/commandhandling/gateway/ConvertingCommandGateway.java‎

Copy file name to clipboardExpand all lines: messaging/src/main/java/org/axonframework/commandhandling/gateway/ConvertingCommandGateway.java
+3-1Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,9 @@ public CompletableFuture<? extends Message> getResultMessage() {
8686
@Override
8787
public <R> CompletableFuture<R> resultAs(@Nonnull Class<R> type) {
8888
return delegate.getResultMessage()
89-
.thenApply(resultMessage -> resultMessage.payloadAs(type, commandConverter));
89+
.thenApply(resultMessage -> resultMessage != null
90+
? resultMessage.payloadAs(type, commandConverter)
91+
: null);
9092
}
9193

9294
@Override
Collapse file

‎messaging/src/test/java/org/axonframework/commandhandling/gateway/ConvertingCommandGatewayTest.java‎

Copy file name to clipboardExpand all lines: messaging/src/test/java/org/axonframework/commandhandling/gateway/ConvertingCommandGatewayTest.java
+13Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@
1616

1717
package org.axonframework.commandhandling.gateway;
1818

19+
import org.axonframework.common.FutureUtils;
1920
import org.axonframework.messaging.GenericMessage;
2021
import org.axonframework.messaging.Message;
2122
import org.axonframework.messaging.conversion.MessageConverter;
@@ -120,4 +121,16 @@ void onSuccessCallbackIsInvokedWhenFutureCompletes() {
120121
assertTrue(actual.isDone());
121122
assertTrue(invoked.get());
122123
}
124+
125+
@Test
126+
void resultAsReturnsNullWhenMessageIsNull() {
127+
CommandResult stubResult = new FutureCommandResult(FutureUtils.emptyCompletedFuture());
128+
when(mockDelegate.send(any(), any())).thenReturn(stubResult);
129+
130+
when(mockConverter.convert(any(), eq((Type) byte[].class))).thenReturn(HELLO_BYTES);
131+
132+
CompletableFuture<byte[]> actual = testSubject.send("Test", null).resultAs(byte[].class);
133+
assertTrue(actual.isDone());
134+
assertNull(actual.join());
135+
}
123136
}

0 commit comments

Comments
0 (0)
Morty Proxy This is a proxified and sanitized view of the page, visit original site.