@Override public CompletableFuture<ExecutionResult> execute(ExecutionContext executionContext, ExecutionStrategyParameters parameters) throws NonNullableFieldWasNullException { CompletableFuture<Publisher<Object>> sourceEventStream = createSourceEventStream(executionContext, parameters); // // when the upstream source event stream completes, subscribe to it and wire in our adapter return sourceEventStream.thenApply((publisher) -> { if (publisher == null) { return new ExecutionResultImpl(null, executionContext.getErrors()); } CompletionStageMappingPublisher<ExecutionResult, Object> mapSourceToResponse = new CompletionStageMappingPublisher<>( publisher, eventPayload -> executeSubscriptionEvent(executionContext, parameters, eventPayload) ); return new ExecutionResultImpl(mapSourceToResponse, executionContext.getErrors()); }); }
@Override public CompletableFuture<ExecutionResult> execute(ExecutionContext executionContext, ExecutionStrategyParameters parameters) throws NonNullableFieldWasNullException { CompletableFuture<Publisher<Object>> sourceEventStream = createSourceEventStream(executionContext, parameters); // // when the upstream source event stream completes, subscribe to it and wire in our adapter return sourceEventStream.thenApply((publisher) -> { if (publisher == null) { return new ExecutionResultImpl(null, executionContext.getErrors()); } CompletionStageMappingPublisher<ExecutionResult, Object> mapSourceToResponse = new CompletionStageMappingPublisher<>( publisher, eventPayload -> executeSubscriptionEvent(executionContext, parameters, eventPayload) ); return new ExecutionResultImpl(mapSourceToResponse, executionContext.getErrors()); }); }