From 9f84e6235c913bf94e5431308c0c6389b571796b Mon Sep 17 00:00:00 2001 From: Maximilian Wesener Date: Tue, 14 May 2024 23:12:28 +0200 Subject: [PATCH 1/5] feat(decentral-client-library):974-tracex extend datamodel of EdcPolicyPermissionConstraint to include AND constraints. --- CHANGELOG.md | 3 ++- .../client/policy/model/EdcPolicyPermissionConstraint.java | 3 +++ .../edc/client/policy/service/EdcPolicyDefinitionService.java | 4 +++- 3 files changed, 8 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 369e1741da..37ac5ee8f7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,7 +11,8 @@ _**For better traceability add the corresponding GitHub issue number in each cha ### Changed - Improved policy store API input validation. #528 - +- Extended datamodel of EdcPolicyPermissionConstraint to include andConstraints +- Marked createAccessPolicy requests with deprecation mark. ## Added diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/model/EdcPolicyPermissionConstraint.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/model/EdcPolicyPermissionConstraint.java index d1626a8c9b..61c7e8b2c1 100644 --- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/model/EdcPolicyPermissionConstraint.java +++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/model/EdcPolicyPermissionConstraint.java @@ -39,4 +39,7 @@ public class EdcPolicyPermissionConstraint { @JsonProperty("odrl:or") private List orExpressions; + @JsonProperty("odrl:and") + private List andExpressions; + } diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java index 80f88f547f..1921db1147 100644 --- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java +++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java @@ -64,12 +64,14 @@ public class EdcPolicyDefinitionService { private final EdcConfiguration config; private final RestTemplate restTemplate; + @Deprecated(since = "5.1.1") public String createAccessPolicy(final String policyName) throws CreateEdcPolicyDefinitionException { final String accessPolicyId = UUID.randomUUID().toString(); return createAccessPolicy(policyName, accessPolicyId); } - + + @Deprecated(since = "5.1.1") public String createAccessPolicy(final String policyName, final String policyId) throws CreateEdcPolicyDefinitionException { final EdcCreatePolicyDefinitionRequest request = createPolicyDefinition(policyName, policyId); From 660e2d40cef3e5a826f7f85bf253da160c8e6d86 Mon Sep 17 00:00:00 2001 From: Maximilian Wesener Date: Wed, 15 May 2024 07:48:15 +0200 Subject: [PATCH 2/5] feat(decentral-client-library):974-tracex extend datamodel of EdcPolicyPermissionConstraint to include AND constraints. --- .../client/policy/service/EdcPolicyDefinitionServiceTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionServiceTest.java b/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionServiceTest.java index f47772e25d..0b4cecfdfd 100644 --- a/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionServiceTest.java +++ b/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionServiceTest.java @@ -95,7 +95,7 @@ void testCreatePolicyDefinitionRequest() throws JsonProcessingException, JSONExc "odrl:action": "USE", "odrl:constraint": { "@type": "AtomicConstraint", - "odrl:or": [ + "odrl:and": [ { "@type": "Constraint", "odrl:leftOperand": "PURPOSE", From 2581068f403b278d78d5354d21488098aca00895 Mon Sep 17 00:00:00 2001 From: jhartmann Date: Wed, 15 May 2024 08:30:03 +0200 Subject: [PATCH 3/5] feat(decentral-client-library): Fix test --- .../service/EdcPolicyDefinitionService.java | 41 ++++++++----------- 1 file changed, 17 insertions(+), 24 deletions(-) diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java index 1921db1147..593ec2333b 100644 --- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java +++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java @@ -70,7 +70,7 @@ public String createAccessPolicy(final String policyName) throws CreateEdcPolicy return createAccessPolicy(policyName, accessPolicyId); } - + @Deprecated(since = "5.1.1") public String createAccessPolicy(final String policyName, final String policyId) throws CreateEdcPolicyDefinitionException { @@ -126,29 +126,22 @@ public boolean policyDefinitionExists(final String policyName) throws GetEdcPoli public EdcCreatePolicyDefinitionRequest createPolicyDefinition(final String policyName, final String accessPolicyId) { - final EdcPolicyPermissionConstraintExpression constraint = EdcPolicyPermissionConstraintExpression.builder() - .leftOperand( - "PURPOSE") - .rightOperand( - policyName) - .operator( - new EdcOperator( - OPERATOR_PREFIX - + "eq")) - .type(CONSTRAINT) - .build(); - - final EdcPolicyPermissionConstraint edcPolicyPermissionConstraint = EdcPolicyPermissionConstraint.builder() - .orExpressions( - List.of(constraint)) - .type(ATOMIC_CONSTRAINT) - .build(); - - final EdcPolicyPermission odrlPermissions = EdcPolicyPermission.builder() - .action(USE_ACTION) - .edcPolicyPermissionConstraints( - edcPolicyPermissionConstraint) - .build(); + final var constraint = EdcPolicyPermissionConstraintExpression.builder() + .leftOperand("PURPOSE") + .rightOperand(policyName) + .operator(new EdcOperator(OPERATOR_PREFIX + "eq")) + .type(CONSTRAINT) + .build(); + + final var edcPolicyPermissionConstraint = EdcPolicyPermissionConstraint.builder() + .andExpressions(List.of(constraint)) + .type(ATOMIC_CONSTRAINT) + .build(); + + final var odrlPermissions = EdcPolicyPermission.builder() + .action(USE_ACTION) + .edcPolicyPermissionConstraints(edcPolicyPermissionConstraint) + .build(); final EdcPolicy edcPolicy = EdcPolicy.builder() .odrlPermissions(List.of(odrlPermissions)) From 2fe5d554d9d3e43ebaf409618373201605e8c6f2 Mon Sep 17 00:00:00 2001 From: jhartmann Date: Wed, 15 May 2024 09:09:34 +0200 Subject: [PATCH 4/5] feat(decentral-client-library): Fix test --- .../edc/client/policy/service/EdcPolicyDefinitionService.java | 2 ++ .../client/policy/service/EdcPolicyDefinitionServiceTest.java | 1 + 2 files changed, 3 insertions(+) diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java index 593ec2333b..0182ec19f9 100644 --- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java +++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionService.java @@ -21,6 +21,7 @@ import static org.eclipse.tractusx.irs.edc.client.configuration.JsonLdConfiguration.NAMESPACE_ODRL; +import java.util.Collections; import java.util.List; import java.util.UUID; @@ -135,6 +136,7 @@ public EdcCreatePolicyDefinitionRequest createPolicyDefinition(final String poli final var edcPolicyPermissionConstraint = EdcPolicyPermissionConstraint.builder() .andExpressions(List.of(constraint)) + .orExpressions(Collections.emptyList()) .type(ATOMIC_CONSTRAINT) .build(); diff --git a/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionServiceTest.java b/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionServiceTest.java index 0b4cecfdfd..480b665d6f 100644 --- a/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionServiceTest.java +++ b/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/policy/service/EdcPolicyDefinitionServiceTest.java @@ -95,6 +95,7 @@ void testCreatePolicyDefinitionRequest() throws JsonProcessingException, JSONExc "odrl:action": "USE", "odrl:constraint": { "@type": "AtomicConstraint", + "odrl:or": [], "odrl:and": [ { "@type": "Constraint", From 7baf5ec1ecd4e6832a28127a2f64bdca3e5a8bcd Mon Sep 17 00:00:00 2001 From: jhartmann Date: Wed, 15 May 2024 09:13:58 +0200 Subject: [PATCH 5/5] chore(dependencies): Update registry client lib to 2.0.3 --- DEPENDENCIES | 10 +++++----- pom.xml | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/DEPENDENCIES b/DEPENDENCIES index 52924d2cd3..694a68d234 100644 --- a/DEPENDENCIES +++ b/DEPENDENCIES @@ -303,12 +303,12 @@ maven/mavencentral/org.eclipse.tractusx.edc/core-spi/0.6.0, Apache-2.0, approved maven/mavencentral/org.eclipse.tractusx.edc/edr-api/0.6.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.edc/edr-spi/0.6.0, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-api/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-common/2.0.3, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-edc-client/2.0.3, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-models/2.0.3, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.eclipse.tractusx.irs/irs-policy-store/0.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx -maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.0.2-SNAPSHOT, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-registry-client/2.0.3, Apache-2.0, approved, automotive.tractusx +maven/mavencentral/org.eclipse.tractusx.irs/irs-testing/2.0.3, Apache-2.0, approved, automotive.tractusx maven/mavencentral/org.glassfish/jakarta.json/2.0.1, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jsonp maven/mavencentral/org.hamcrest/hamcrest-core/2.2, BSD-3-Clause, approved, clearlydefined maven/mavencentral/org.hamcrest/hamcrest/2.2, BSD-3-Clause, approved, clearlydefined diff --git a/pom.xml b/pom.xml index f89a1b88cf..e09b140d12 100644 --- a/pom.xml +++ b/pom.xml @@ -73,7 +73,7 @@ - 2.0.2-SNAPSHOT + 2.0.3 3.1.11