diff options
Diffstat (limited to 'src/main/java/at/gv/egiz/moazs/App2MzsService.java')
-rw-r--r-- | src/main/java/at/gv/egiz/moazs/App2MzsService.java | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/main/java/at/gv/egiz/moazs/App2MzsService.java b/src/main/java/at/gv/egiz/moazs/App2MzsService.java index 23cc0aa..09bcc63 100644 --- a/src/main/java/at/gv/egiz/moazs/App2MzsService.java +++ b/src/main/java/at/gv/egiz/moazs/App2MzsService.java @@ -15,6 +15,7 @@ import javax.jws.WebParam; import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeoutException; +import static at.gv.egiz.moazs.MoaZSException.moaZSException; import static at.gv.zustellung.msg.xsd.DeliveryAnswerType.deliveryAnswerTypeBuilder; import static at.gv.zustellung.msg.xsd.DeliveryRequestStatusType.deliveryRequestStatusTypeBuilder; import static java.text.MessageFormat.format; @@ -48,6 +49,8 @@ public class App2MzsService implements App2MzsPortType { name = "DeliveryRequest") DeliveryRequestType deliveryRequest) { + var appDeliveryID = deliveryRequest.getMetaData().getAppDeliveryID(); + var future = supplyAsync(() -> augmenter.augment(deliveryRequest)) .thenApply(this::process); @@ -56,14 +59,13 @@ public class App2MzsService implements App2MzsPortType { } catch (TimeoutException e) { future.thenAccept(appClient::sendNotification); logger.info("Answer Timed Out", e); - - var appDeliveryID = deliveryRequest.getMetaData().getAppDeliveryID(); return generatePartialSuccessResponse(appDeliveryID); } catch (Exception e ) { logger.error("Could not deliver request.", e); - var message = format("An error occurred while processing DeliveryRequest"); - throw new RuntimeException(message, e); + var message = format("An error occurred while processing DeliveryRequest with AppDeliveryID={0}. ", appDeliveryID); + throw new MoaZSException(message, e); + } } @@ -77,7 +79,7 @@ public class App2MzsService implements App2MzsPortType { pipeline.processRequest(appDeliveryID); return repository.getDeliveryRequestStatus(appDeliveryID) - .orElseThrow(() -> new RuntimeException("Could not get a response for appDeliveryId = " + appDeliveryID)); + .orElseThrow(() -> moaZSException("Could not get a response for AppDeliveryID={0}", appDeliveryID)); } |