@Override public void clear() { eventBuider.variables(emptyMap()); event = eventBuider.build(); }
@Override public final CompletableFuture<ExecutionResult> execute(InputEvent inputEvent) { CompletableFuture completableFuture = new CompletableFuture(); CoreEvent.Builder builder = CoreEvent.builder(createEventContext(of(completableFuture))); CoreEvent event = builder.message(inputEvent.getMessage()) .error(inputEvent.getError().orElse(null)) .variables(inputEvent.getVariables()) .build(); return from(MessageProcessors.process(event, getExecutableFunction())) .onErrorMap(throwable -> { MessagingException messagingException = (MessagingException) throwable; CoreEvent messagingExceptionEvent = messagingException.getEvent(); return new ComponentExecutionException(messagingExceptionEvent.getError().get().getCause(), messagingExceptionEvent); }) .<ExecutionResult>map(result -> new ExecutionResultImplementation(result, completableFuture)) .toFuture(); }
.variables(incomingVariables) .error(incomingError) .message(message)
@Override public final CompletableFuture<Event> execute(Event event) { CoreEvent internalEvent; BaseEventContext child = createChildEventContext(event.getContext()); if (event instanceof CoreEvent) { internalEvent = builder(child, (CoreEvent) event).build(); } else { internalEvent = CoreEvent.builder(createEventContext(null)) .message(event.getMessage()) .error(event.getError().orElse(null)) .variables(event.getVariables()) .build(); } return from(MessageProcessors.process(internalEvent, getExecutableFunction())) .onErrorMap(throwable -> { MessagingException messagingException = (MessagingException) throwable; CoreEvent messagingExceptionEvent = messagingException.getEvent(); return new ComponentExecutionException(messagingExceptionEvent.getError().get().getCause(), messagingExceptionEvent); }) .map(r -> builder(event.getContext(), r).build()) .cast(Event.class) .toFuture(); }