From bd109552ab3485b69c47f3335e0b4820ecbaff7a Mon Sep 17 00:00:00 2001 From: ds-lcapellino Date: Tue, 9 Jul 2024 09:53:09 +0200 Subject: [PATCH] bug: eclipse-tractusx/traceability-foss#639 update policy expired error message --- .../irs/edc/client/ContractNegotiationService.java | 3 ++- .../exceptions/UsagePolicyExpiredException.java | 11 ++++++++--- .../exceptions/UsagePolicyPermissionException.java | 3 +-- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java index 45a58bcb0..c6e3c3485 100644 --- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java +++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/ContractNegotiationService.java @@ -133,7 +133,8 @@ private CompletableFuture startNewNegotiation(final String if (policyCheckerService.isExpired(catalogItem.getPolicy(), bpn)) { log.warn("Policy is expired, canceling negotiation."); - throw new UsagePolicyExpiredException(catalogItem.getPolicy(), + throw new UsagePolicyExpiredException(policyCheckerService.getValidStoredPolicies(catalogItem.getConnectorId()), + catalogItem.getPolicy(), catalogItem.getConnectorId()); } diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java index 097ed1c92..22c04f1bb 100644 --- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java +++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyExpiredException.java @@ -19,8 +19,11 @@ ********************************************************************************/ package org.eclipse.tractusx.irs.edc.client.exceptions; +import java.util.List; + import lombok.Getter; import org.eclipse.edc.policy.model.Policy; +import org.eclipse.tractusx.irs.edc.client.policy.AcceptedPolicy; /** * Usage Policy Expired Exception errors in the contract negotiation. @@ -31,9 +34,11 @@ public class UsagePolicyExpiredException extends EdcClientException { private final transient Policy policy; private final String businessPartnerNumber; - public UsagePolicyExpiredException(final Policy policy, final String businessPartnerNumber) { - super("Policy from " + businessPartnerNumber + " has expired."); - this.policy = policy; + public UsagePolicyExpiredException(final List acceptedPolicies, + final Policy providedCatalogItemPolicy, final String businessPartnerNumber) { + super("Policy " + acceptedPolicies.stream().map(policy -> policy.policy().getPolicyId()).toList() + + " has expired."); + this.policy = providedCatalogItemPolicy; this.businessPartnerNumber = businessPartnerNumber; } diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java index 3e2f1c797..f894ddc79 100644 --- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java +++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/exceptions/UsagePolicyPermissionException.java @@ -40,8 +40,7 @@ public class UsagePolicyPermissionException extends EdcClientException { public UsagePolicyPermissionException(final List acceptedPolicies, final Policy providedCatalogItemPolicy, final String businessPartnerNumber) { - super("Policies " - + acceptedPolicies.stream().map(policy -> policy.policy().getPolicyId()).toList() + super("Policies " + acceptedPolicies.stream().map(policy -> policy.policy().getPolicyId()).toList() + " did not match with policy from " + businessPartnerNumber + "."); this.policy = providedCatalogItemPolicy;