package at.gv.egiz.moazs.process; import at.gv.egiz.moazs.verify.MsgResponseVerifier; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Component; import static java.util.concurrent.CompletableFuture.supplyAsync; @Component public class SingleNodeResponseHandler implements MsgResponseHandler { private final MsgResponseVerifier verifier; private final MsgResponseSink sink; @Autowired public SingleNodeResponseHandler(MsgResponseVerifier verifier, MsgResponseSink sink) { this.verifier = verifier; this.sink = sink; } @Override public void handle(String responseID) { supplyAsync(() -> verifier.verify(responseID)) .thenAcceptAsync((response) -> sink.handle(response)); } }