From 7017785e3c725da417f10c0fa18ccb3555cf2bca Mon Sep 17 00:00:00 2001 From: gj0dcsa <135594855+gj0dcsa@users.noreply.github.com> Date: Mon, 30 Sep 2024 14:51:26 +0200 Subject: [PATCH] DT-1680 DT-1681 Not expecting exchange in out-of-band actions --- .../conformance/core/scenario/ConformanceAction.java | 5 +++-- .../eblsurrender/action/VoidAndReissueAction.java | 5 +++++ ...OrAmendmentRequestDraftTransportDocumentAction.java | 10 ++++++++++ .../conformance/sandbox/ConformanceOrchestrator.java | 2 +- 4 files changed, 19 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/org/dcsa/conformance/core/scenario/ConformanceAction.java b/core/src/main/java/org/dcsa/conformance/core/scenario/ConformanceAction.java index 86b7b41f..3a697e1c 100644 --- a/core/src/main/java/org/dcsa/conformance/core/scenario/ConformanceAction.java +++ b/core/src/main/java/org/dcsa/conformance/core/scenario/ConformanceAction.java @@ -105,8 +105,8 @@ public boolean isInputRequired() { return false; } - public boolean hasMatchedExchange() { - return matchedExchangeUuid != null; + public boolean isMissingMatchedExchange() { + return matchedExchangeUuid == null; } /** @@ -175,6 +175,7 @@ protected boolean expectsNotificationExchange() { return false; } + @SuppressWarnings("unused") protected void doHandleNotificationExchange(ConformanceExchange exchange) {} public final ConformanceCheck createFullCheck(String expectedApiVersion) { diff --git a/ebl-surrender/src/main/java/org/dcsa/conformance/standards/eblsurrender/action/VoidAndReissueAction.java b/ebl-surrender/src/main/java/org/dcsa/conformance/standards/eblsurrender/action/VoidAndReissueAction.java index 93db28d6..0795c9f6 100644 --- a/ebl-surrender/src/main/java/org/dcsa/conformance/standards/eblsurrender/action/VoidAndReissueAction.java +++ b/ebl-surrender/src/main/java/org/dcsa/conformance/standards/eblsurrender/action/VoidAndReissueAction.java @@ -44,6 +44,11 @@ public boolean isConfirmationRequired() { return true; } + @Override + public boolean isMissingMatchedExchange() { + return false; + } + @Override public Supplier getSrrSupplier() { return null; diff --git a/ebl/src/main/java/org/dcsa/conformance/standards/ebl/action/UCX_Carrier_TDOnlyProcessOutOfBandUpdateOrAmendmentRequestDraftTransportDocumentAction.java b/ebl/src/main/java/org/dcsa/conformance/standards/ebl/action/UCX_Carrier_TDOnlyProcessOutOfBandUpdateOrAmendmentRequestDraftTransportDocumentAction.java index bff276ad..878113fd 100644 --- a/ebl/src/main/java/org/dcsa/conformance/standards/ebl/action/UCX_Carrier_TDOnlyProcessOutOfBandUpdateOrAmendmentRequestDraftTransportDocumentAction.java +++ b/ebl/src/main/java/org/dcsa/conformance/standards/ebl/action/UCX_Carrier_TDOnlyProcessOutOfBandUpdateOrAmendmentRequestDraftTransportDocumentAction.java @@ -28,4 +28,14 @@ public ObjectNode asJsonNode() { node.set("csp", getCspSupplier().get().toJson()); return node; } + + @Override + public boolean isConfirmationRequired() { + return true; + } + + @Override + public boolean isMissingMatchedExchange() { + return false; + } } diff --git a/sandbox/src/main/java/org/dcsa/conformance/sandbox/ConformanceOrchestrator.java b/sandbox/src/main/java/org/dcsa/conformance/sandbox/ConformanceOrchestrator.java index 842a172d..d2a59163 100644 --- a/sandbox/src/main/java/org/dcsa/conformance/sandbox/ConformanceOrchestrator.java +++ b/sandbox/src/main/java/org/dcsa/conformance/sandbox/ConformanceOrchestrator.java @@ -321,7 +321,7 @@ public void completeCurrentAction() { .formatted(currentScenario.toString())); return; } - if (!nextAction.hasMatchedExchange()) { + if (nextAction.isMissingMatchedExchange()) { throw new UserFacingException( "A required API exchange was not yet detected for action '%s'" .formatted(nextAction.getActionTitle()));