package at.gv.egiz.moazs.pipeline; import at.gv.e_government.reference.namespace.zustellung.mzs.app2mzs_.DeliveryRequestType; import at.gv.egiz.moazs.repository.DeliveryRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Profile; import org.springframework.stereotype.Component; import java.util.Optional; import static java.text.MessageFormat.format; @Component @Profile("!cluster") public class SameThreadDeliveryPipeline implements DeliveryPipeline { private final DeliveryRepository repository; public SameThreadDeliveryPipeline(@Autowired DeliveryRepository repository) { this.repository = repository; } @Override public void processRequest(String appDeliveryId) { Optional request = repository.getDeliveryRequest(appDeliveryId); if (request.isEmpty()) { throw new RuntimeException(format( "Request with appDeliveryId = {} does not exist.", appDeliveryId)); } //do business logic //store response to repository } }