diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0adbfc20e3..2716573f2c 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -5,6 +5,11 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
+### Changed
+- Updated edc dependencies to 0.2.1
+- Update deprecated field `providerUrl` to `counterPartyAddress` in EDC catalog request
+- Update ESS EDC notification creation asset endpoint to v3
+
## [4.2.0] - 2023-11-28
### Changed
diff --git a/DEPENDENCIES b/DEPENDENCIES
index e38d95fbc7..e4fcebe9dc 100644
--- a/DEPENDENCIES
+++ b/DEPENDENCIES
@@ -152,9 +152,9 @@ maven/mavencentral/io.netty/netty-transport-native-epoll/4.1.101.Final, Apache-2
maven/mavencentral/io.netty/netty-transport-native-unix-common/4.1.101.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926
maven/mavencentral/io.netty/netty-transport/4.1.101.Final, Apache-2.0 AND BSD-3-Clause AND MIT, approved, CQ20926
maven/mavencentral/io.opentelemetry/opentelemetry-api/1.25.0, Apache-2.0, approved, clearlydefined
-maven/mavencentral/io.opentelemetry/opentelemetry-api/1.27.0, Apache-2.0, approved, clearlydefined
+maven/mavencentral/io.opentelemetry/opentelemetry-api/1.29.0, Apache-2.0, approved, #10088
maven/mavencentral/io.opentelemetry/opentelemetry-context/1.25.0, Apache-2.0, approved, clearlydefined
-maven/mavencentral/io.opentelemetry/opentelemetry-context/1.27.0, Apache-2.0, approved, clearlydefined
+maven/mavencentral/io.opentelemetry/opentelemetry-context/1.29.0, Apache-2.0, approved, #10090
maven/mavencentral/io.pebbletemplates/pebble/3.2.1, BSD-3-Clause, approved, clearlydefined
maven/mavencentral/io.prometheus/simpleclient/0.16.0, Apache-2.0, approved, clearlydefined
maven/mavencentral/io.prometheus/simpleclient_common/0.16.0, Apache-2.0, approved, clearlydefined
@@ -234,52 +234,53 @@ maven/mavencentral/org.bouncycastle/bcutil-jdk18on/1.76, MIT, approved, #9828
maven/mavencentral/org.ccil.cowan.tagsoup/tagsoup/1.2.1, Apache-2.0, approved, clearlydefined
maven/mavencentral/org.checkerframework/checker-qual/3.33.0, MIT, approved, clearlydefined
maven/mavencentral/org.checkerframework/checker-qual/3.37.0, MIT, approved, clearlydefined
-maven/mavencentral/org.eclipse.edc/aggregate-service-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/asset-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/catalog-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/connector-core/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/contract-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/control-plane-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/core-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-api-configuration/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-catalog-api/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-catalog-http-dispatcher/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-catalog-transform/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-catalog/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-http-core/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-http-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-negotiation-api/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-negotiation-http-dispatcher/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-negotiation-transform/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-negotiation/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-transfer-process-api/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-transfer-process-http-dispatcher/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-transfer-process-transform/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-transfer-process/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp-transform/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/dsp/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/http-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/http/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/jersey-core/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/jersey-providers/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/jetty-core/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/json-ld-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/json-ld/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/policy-engine-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/policy-engine/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/policy-evaluator/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/policy-model/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/policy-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/runtime-metamodel/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/transaction-datasource-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/transaction-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/transfer-data-plane-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/transfer-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/transform-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/util/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/validator-spi/0.1.3, Apache-2.0, approved, technology.edc
-maven/mavencentral/org.eclipse.edc/web-spi/0.1.3, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/aggregate-service-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/asset-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/catalog-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/connector-core/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/contract-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/control-plane-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/core-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-api-configuration/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-catalog-api/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-catalog-http-dispatcher/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-catalog-transform/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-catalog/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-http-core/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-http-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-negotiation-api/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-negotiation-http-dispatcher/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-negotiation-transform/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-negotiation/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-transfer-process-api/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-transfer-process-http-dispatcher/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-transfer-process-transform/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp-transfer-process/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/dsp/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/http-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/http/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/jersey-core/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/jersey-providers/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/jetty-core/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/json-ld-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/json-ld/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/policy-engine-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/policy-engine/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/policy-evaluator/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/policy-model/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/policy-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/runtime-metamodel/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/transaction-datasource-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/transaction-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/transfer-data-plane-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/transfer-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/transform-core/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/transform-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/util/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/validator-core/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/validator-spi/0.2.1, Apache-2.0, approved, technology.edc
+maven/mavencentral/org.eclipse.edc/web-spi/0.2.1, Apache-2.0, approved, technology.edc
maven/mavencentral/org.eclipse.jetty.toolchain/jetty-jakarta-servlet-api/5.0.2, EPL-2.0 OR Apache-2.0, approved, rt.jetty
maven/mavencentral/org.eclipse.jetty.toolchain/jetty-jakarta-websocket-api/2.0.0, EPL-2.0 OR Apache-2.0, approved, rt.jetty
maven/mavencentral/org.eclipse.jetty.websocket/websocket-core-client/11.0.17, EPL-2.0 OR Apache-2.0, approved, rt.jetty
@@ -334,23 +335,14 @@ maven/mavencentral/org.glassfish.hk2/hk2-api/3.0.4, EPL-2.0 OR GPL-2.0-only with
maven/mavencentral/org.glassfish.hk2/hk2-locator/3.0.4, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish
maven/mavencentral/org.glassfish.hk2/hk2-utils/3.0.4, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.glassfish
maven/mavencentral/org.glassfish.hk2/osgi-resource-locator/1.0.3, CDDL-1.0, approved, CQ10889
-maven/mavencentral/org.glassfish.jersey.containers/jersey-container-servlet-core/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
maven/mavencentral/org.glassfish.jersey.containers/jersey-container-servlet-core/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
-maven/mavencentral/org.glassfish.jersey.containers/jersey-container-servlet/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
maven/mavencentral/org.glassfish.jersey.containers/jersey-container-servlet/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
-maven/mavencentral/org.glassfish.jersey.core/jersey-client/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
maven/mavencentral/org.glassfish.jersey.core/jersey-client/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
-maven/mavencentral/org.glassfish.jersey.core/jersey-common/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
maven/mavencentral/org.glassfish.jersey.core/jersey-common/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
-maven/mavencentral/org.glassfish.jersey.core/jersey-server/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
maven/mavencentral/org.glassfish.jersey.core/jersey-server/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
-maven/mavencentral/org.glassfish.jersey.ext/jersey-entity-filtering/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
maven/mavencentral/org.glassfish.jersey.ext/jersey-entity-filtering/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
-maven/mavencentral/org.glassfish.jersey.inject/jersey-hk2/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
maven/mavencentral/org.glassfish.jersey.inject/jersey-hk2/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
-maven/mavencentral/org.glassfish.jersey.media/jersey-media-json-jackson/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
maven/mavencentral/org.glassfish.jersey.media/jersey-media-json-jackson/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
-maven/mavencentral/org.glassfish.jersey.media/jersey-media-multipart/3.1.2, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
maven/mavencentral/org.glassfish.jersey.media/jersey-media-multipart/3.1.3, EPL-2.0 OR GPL-2.0-only with Classpath-exception-2.0, approved, ee4j.jersey
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.graalvm.js/js/21.2.0, UPL-1.0 AND (MPL-2.0 AND LicenseRef-MIT-style) AND (BSD-3-Clause AND UPL-1.0) AND (GPL-2.0-only WITH Classpath-exception-2.0 AND UPL-1.0) AND (UPL-1.0 AND LicenseRef-Permission-Notice), approved, #10176
@@ -361,7 +353,6 @@ maven/mavencentral/org.hamcrest/hamcrest-core/2.2, BSD-3-Clause, approved, clear
maven/mavencentral/org.hamcrest/hamcrest/2.2, BSD-3-Clause, approved, clearlydefined
maven/mavencentral/org.hdrhistogram/HdrHistogram/2.1.12, BSD-2-Clause OR LicenseRef-Public-Domain, approved, CQ13192
maven/mavencentral/org.hibernate.validator/hibernate-validator/8.0.1.Final, Apache-2.0, approved, clearlydefined
-maven/mavencentral/org.javassist/javassist/3.29.0-GA, Apache-2.0 AND LGPL-2.1-or-later AND MPL-1.1, approved, #6023
maven/mavencentral/org.javassist/javassist/3.29.2-GA, Apache-2.0 AND LGPL-2.1-or-later AND MPL-1.1, approved, #6023
maven/mavencentral/org.jboss.logging/jboss-logging/3.4.3.Final, Apache-2.0, approved, CQ21255
maven/mavencentral/org.jboss.logging/jboss-logging/3.5.3.Final, Apache-2.0, approved, #9471
diff --git a/charts/irs-helm/CHANGELOG.md b/charts/irs-helm/CHANGELOG.md
index 98013d8920..ccdb952c36 100644
--- a/charts/irs-helm/CHANGELOG.md
+++ b/charts/irs-helm/CHANGELOG.md
@@ -5,6 +5,8 @@ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
## [Unreleased]
+### Changed
+- Changed configuration from `ess.managementPath` to options for each endpoint `ess.assetsPath` `ess.policydefinitionsPath` `ess.contractdefinitionsPath`. E.g. `ess.assetsPath: /management/v3/assets`
## [6.11.0] - 2023-11-28
### Fixed
diff --git a/charts/irs-helm/templates/configmap-spring-app-config.yaml b/charts/irs-helm/templates/configmap-spring-app-config.yaml
index 5c56bec786..2c6e4b1fd1 100644
--- a/charts/irs-helm/templates/configmap-spring-app-config.yaml
+++ b/charts/irs-helm/templates/configmap-spring-app-config.yaml
@@ -119,7 +119,9 @@ data:
ess:
localBpn: {{ tpl (.Values.bpn | default "") . | quote }}
localEdcEndpoint: {{ tpl (.Values.edc.provider.host | default "") . | quote }}
- managementPath: {{ tpl (.Values.ess.managementPath | default "/management/v2") . | quote }}
+ assetsPath: {{ tpl (.Values.ess.assetsPath | default "/management/v3/assets") . | quote }}
+ policydefinitionsPath: {{ tpl (.Values.ess.policydefinitionsPath | default "/management/v2/policydefinitions") . | quote }}
+ contractdefinitionsPath: {{ tpl (.Values.ess.contractdefinitionsPath | default "/management/v2/contractdefinitions") . | quote }}
irs:
url: {{ tpl (.Values.irsUrl | default "") . | quote }}
discovery:
diff --git a/charts/irs-helm/values.yaml b/charts/irs-helm/values.yaml
index dc7a632736..635d68bac7 100644
--- a/charts/irs-helm/values.yaml
+++ b/charts/irs-helm/values.yaml
@@ -210,7 +210,9 @@ discovery:
ess:
mockEdcResult: # Map of BPNs and YES/NO strings - this configures the ESS mock response in case it called to investigate a BPN
mockRecursiveEdcAsset: # List of BPNs for which the special, mocked notification asset should be used
- managementPath: "/management/v2" # EDC management API path - used for notification asset creation
+ assetsPath: /management/v3/assets # EDC management API "assets" path - used for notification asset creation
+ policydefinitionsPath: /management/v2/policydefinitions # EDC management API "policydefinitions" path - used for notification policy definition creation
+ contractdefinitionsPath: /management/v2/contractdefinitions # EDC management API "contractdefinitions" path - used for notification contract definitions creation
oauth:
resourceClaim: "resource_access" # Name of the JWT claim for roles
diff --git a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java
index 286bbd597d..83c77727b9 100644
--- a/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java
+++ b/irs-api/src/main/java/org/eclipse/tractusx/irs/ess/service/EdcRegistration.java
@@ -56,20 +56,26 @@ public class EdcRegistration {
private final String essBaseUrl;
private final String apiKeyHeader;
private final String apiKeySecret;
- private final String managementPath;
+ private final String assetsPath;
+ private final String policydefinitionsPath;
+ private final String contractdefinitionsPath;
public EdcRegistration(@Qualifier("noErrorRestTemplate") final RestTemplate restTemplate,
@Value("${ess.localEdcEndpoint}") final String edcProviderUrl,
@Value("${ess.irs.url}") final String essBaseUrl,
@Value("${irs-edc-client.controlplane.api-key.header}") final String apiKeyHeader,
@Value("${irs-edc-client.controlplane.api-key.secret}") final String apiKeySecret,
- @Value("${ess.managementPath}") final String managementPath) {
+ @Value("${ess.assetsPath}") final String assetsPath,
+ @Value("${ess.policydefinitionsPath}") final String policydefinitionsPath,
+ @Value("${ess.contractdefinitionsPath}") final String contractdefinitionsPath) {
this.restTemplate = restTemplate;
this.edcProviderUrl = edcProviderUrl;
this.essBaseUrl = essBaseUrl;
this.apiKeyHeader = apiKeyHeader;
this.apiKeySecret = apiKeySecret;
- this.managementPath = managementPath;
+ this.assetsPath = assetsPath;
+ this.policydefinitionsPath = policydefinitionsPath;
+ this.contractdefinitionsPath = contractdefinitionsPath;
}
@EventListener(ApplicationReadyEvent.class)
@@ -107,14 +113,12 @@ private void registerAsset(final String assetId, final String notificationType,
final var body = """
{
"@context": {},
- "asset": {
- "@id": "%s",
- "properties": {
- "description": "ESS notification endpoint",
- "contenttype": "application/json",
- "notificationtype":"%s",
- "notificationmethod": "receive"
- }
+ "@id": "%s",
+ "properties": {
+ "description": "ESS notification endpoint",
+ "contenttype": "application/json",
+ "notificationtype":"%s",
+ "notificationmethod": "receive"
},
"dataAddress": {
"baseUrl": "%s",
@@ -124,7 +128,7 @@ private void registerAsset(final String assetId, final String notificationType,
}
}
""".formatted(assetId, notificationType, essBaseUrl + path);
- final var entity = restTemplate.exchange(edcProviderUrl + managementPath + "/assets", HttpMethod.POST,
+ final var entity = restTemplate.exchange(edcProviderUrl + assetsPath, HttpMethod.POST,
toEntity(body), String.class);
if (entity.getStatusCode().is2xxSuccessful()) {
@@ -165,7 +169,7 @@ private void registerPolicy(final String policyId) {
}
}
""".formatted(policyId);
- final var entity = restTemplate.exchange(edcProviderUrl + managementPath + "/policydefinitions",
+ final var entity = restTemplate.exchange(edcProviderUrl + policydefinitionsPath,
HttpMethod.POST, toEntity(body), String.class);
if (entity.getStatusCode().is2xxSuccessful()) {
@@ -190,7 +194,7 @@ private void registerContractDefinition(final String contractId, final String as
}
""".formatted(contractId, contractId, assetId);
- final var entity = restTemplate.exchange(edcProviderUrl + managementPath + "/contractdefinitions",
+ final var entity = restTemplate.exchange(edcProviderUrl + contractdefinitionsPath,
HttpMethod.POST, toEntity(body), String.class);
if (entity.getStatusCode().is2xxSuccessful()) {
log.info("Notification contract definition registered successfully.");
@@ -215,7 +219,7 @@ private HttpHeaders headers() {
private boolean assetIsNotRegisteredYet(final String assetId) {
if (restTemplate != null && StringUtils.isNotBlank(edcProviderUrl)) {
- final var url = edcProviderUrl + managementPath + "/assets/request";
+ final var url = edcProviderUrl + assetsPath + "/request";
log.info("Requesting asset from EDC provider with url {}", url);
final String filter = """
{
diff --git a/irs-api/src/main/resources/application.yml b/irs-api/src/main/resources/application.yml
index cc5bf4150f..4940e3f524 100644
--- a/irs-api/src/main/resources/application.yml
+++ b/irs-api/src/main/resources/application.yml
@@ -223,7 +223,9 @@ bpdm:
ess:
localBpn: ${ESS_LOCAL_BPN:} # BPN value of product - used during EDC notification communication
localEdcEndpoint: ${EDC_PROVIDER_URL:} # EDC Provider Url - used during EDC notification communication
- managementPath: ${EDC_MANAGEMENT_PATH:/management/v2} # EDC management API path - used for notification asset creation
+ assetsPath: ${EDC_MANAGEMENT_PATH:/management/v3/assets} # EDC management API "assets" path - used for notification asset creation
+ policydefinitionsPath: ${EDC_MANAGEMENT_PATH:/management/v2/policydefinitions} # EDC management API "policydefinitions" path - used for notification policy definition creation
+ contractdefinitionsPath: ${EDC_MANAGEMENT_PATH:/management/v2/contractdefinitions} # EDC management API "contractdefinitions" path - used for notification contract definitions creation
irs:
url: "${IRS_URL:}" # IRS Url to connect with
discovery:
diff --git a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EdcRegistrationTest.java b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EdcRegistrationTest.java
index ee40262de7..4f9d19ca78 100644
--- a/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EdcRegistrationTest.java
+++ b/irs-api/src/test/java/org/eclipse/tractusx/irs/ess/service/EdcRegistrationTest.java
@@ -48,13 +48,17 @@ class EdcRegistrationTest {
@Mock
private RestTemplate restTemplate;
private String edcUrl;
- private String managementPath;
+ private String assetsPath;
+ private String policydefinitionsPath;
+ private String contractdefinitionsPath;
@BeforeEach
void setUp() {
edcUrl = "http://localhost";
- managementPath = "/path";
- testee = new EdcRegistration(restTemplate, edcUrl, "", "", "", managementPath);
+ assetsPath = "/assets";
+ policydefinitionsPath = "/policydefinitions";
+ contractdefinitionsPath = "/contractdefinitions";
+ testee = new EdcRegistration(restTemplate, edcUrl, "", "", "", assetsPath, policydefinitionsPath, contractdefinitionsPath);
}
@Test
@@ -64,31 +68,31 @@ void shouldRegisterAssets_whenGetRequestReturnsNoResults() {
testee.registerEdcAsset();
- verify(restTemplate, times(3)).exchange(Mockito.eq(edcUrl + managementPath + "/assets/request"),
+ verify(restTemplate, times(3)).exchange(Mockito.eq(edcUrl + assetsPath + "/request"),
Mockito.eq(HttpMethod.POST), any(), Mockito.eq(String.class));
- verify(restTemplate, times(3)).exchange(Mockito.eq(edcUrl + managementPath + "/assets"),
+ verify(restTemplate, times(3)).exchange(Mockito.eq(edcUrl + assetsPath),
Mockito.eq(HttpMethod.POST), any(), Mockito.eq(String.class));
- verify(restTemplate, times(3)).exchange(Mockito.eq(edcUrl + managementPath + "/policydefinitions"),
+ verify(restTemplate, times(3)).exchange(Mockito.eq(edcUrl + policydefinitionsPath),
Mockito.eq(HttpMethod.POST), any(), Mockito.eq(String.class));
- verify(restTemplate, times(3)).exchange(Mockito.eq(edcUrl + managementPath + "/contractdefinitions"),
+ verify(restTemplate, times(3)).exchange(Mockito.eq(edcUrl + contractdefinitionsPath),
Mockito.eq(HttpMethod.POST), any(), Mockito.eq(String.class));
}
@Test
void shouldNotRegisterAssets_whenGetRequestReturnsResults() {
- when(restTemplate.exchange(Mockito.eq(edcUrl + managementPath + "/assets/request"),
+ when(restTemplate.exchange(Mockito.eq(edcUrl + assetsPath + "/request"),
Mockito.eq(HttpMethod.POST), any(), Mockito.eq(String.class))).thenReturn(
ResponseEntity.ok().body("[{}]"));
testee.registerEdcAsset();
- verify(restTemplate, times(3)).exchange(Mockito.eq(edcUrl + managementPath + "/assets/request"),
+ verify(restTemplate, times(3)).exchange(Mockito.eq(edcUrl + assetsPath + "/request"),
Mockito.eq(HttpMethod.POST), any(), Mockito.eq(String.class));
- verify(restTemplate, never()).exchange(Mockito.eq(edcUrl + managementPath + "/assets"),
+ verify(restTemplate, never()).exchange(Mockito.eq(edcUrl + assetsPath),
Mockito.eq(HttpMethod.POST), any(), Mockito.eq(String.class));
- verify(restTemplate, never()).exchange(Mockito.eq(edcUrl + managementPath + "/policydefinitions"),
+ verify(restTemplate, never()).exchange(Mockito.eq(edcUrl + policydefinitionsPath),
Mockito.eq(HttpMethod.POST), any(), Mockito.eq(String.class));
- verify(restTemplate, never()).exchange(Mockito.eq(edcUrl + managementPath + "/contractdefinitions"),
+ verify(restTemplate, never()).exchange(Mockito.eq(edcUrl + contractdefinitionsPath),
Mockito.eq(HttpMethod.POST), any(), Mockito.eq(String.class));
}
diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/EdcControlPlaneClient.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/EdcControlPlaneClient.java
index b6b3378973..236db963ea 100644
--- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/EdcControlPlaneClient.java
+++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/EdcControlPlaneClient.java
@@ -111,7 +111,7 @@ private CatalogRequest buildCatalogRequest(final int offset, final String provid
querySpec.limit(limit);
}
return CatalogRequest.Builder.newInstance()
- .providerUrl(providerUrl)
+ .counterPartyAddress(providerUrl)
.protocol(DATASPACE_PROTOCOL_HTTP)
.querySpec(querySpec.build())
.build();
@@ -121,7 +121,7 @@ private CatalogRequest buildCatalogRequest(final int offset, final String provid
final String value) {
final QuerySpec querySpec = QuerySpec.Builder.newInstance().filter(new Criterion(key, "=", value)).build();
final var catalogRequest = CatalogRequest.Builder.newInstance()
- .providerUrl(providerConnectorUrl)
+ .counterPartyAddress(providerConnectorUrl)
.protocol(DATASPACE_PROTOCOL_HTTP)
.querySpec(querySpec)
.build();
diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/transformer/EdcTransformer.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/transformer/EdcTransformer.java
index 32cc9d0967..b48ad6ea50 100644
--- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/transformer/EdcTransformer.java
+++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/transformer/EdcTransformer.java
@@ -35,33 +35,33 @@
import jakarta.json.JsonReader;
import org.eclipse.edc.catalog.spi.Catalog;
import org.eclipse.edc.catalog.spi.CatalogRequest;
-import org.eclipse.edc.connector.core.transform.TransformerContextImpl;
-import org.eclipse.edc.connector.core.transform.TypeTransformerRegistryImpl;
+import org.eclipse.edc.core.transform.TransformerContextImpl;
+import org.eclipse.edc.core.transform.TypeTransformerRegistryImpl;
+import org.eclipse.edc.core.transform.transformer.from.JsonObjectFromAssetTransformer;
+import org.eclipse.edc.core.transform.transformer.from.JsonObjectFromCatalogTransformer;
+import org.eclipse.edc.core.transform.transformer.from.JsonObjectFromCriterionTransformer;
+import org.eclipse.edc.core.transform.transformer.from.JsonObjectFromDataAddressTransformer;
+import org.eclipse.edc.core.transform.transformer.from.JsonObjectFromDataServiceTransformer;
+import org.eclipse.edc.core.transform.transformer.from.JsonObjectFromDatasetTransformer;
+import org.eclipse.edc.core.transform.transformer.from.JsonObjectFromDistributionTransformer;
+import org.eclipse.edc.core.transform.transformer.from.JsonObjectFromPolicyTransformer;
+import org.eclipse.edc.core.transform.transformer.from.JsonObjectFromQuerySpecTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToActionTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToAssetTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToCatalogTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToConstraintTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToCriterionTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToDataServiceTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToDatasetTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToDistributionTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToDutyTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToOperatorTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToPermissionTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToPolicyTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToProhibitionTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonObjectToQuerySpecTransformer;
+import org.eclipse.edc.core.transform.transformer.to.JsonValueToGenericTypeTransformer;
import org.eclipse.edc.jsonld.TitaniumJsonLd;
-import org.eclipse.edc.jsonld.transformer.from.JsonObjectFromAssetTransformer;
-import org.eclipse.edc.jsonld.transformer.from.JsonObjectFromCatalogTransformer;
-import org.eclipse.edc.jsonld.transformer.from.JsonObjectFromCriterionTransformer;
-import org.eclipse.edc.jsonld.transformer.from.JsonObjectFromDataServiceTransformer;
-import org.eclipse.edc.jsonld.transformer.from.JsonObjectFromDatasetTransformer;
-import org.eclipse.edc.jsonld.transformer.from.JsonObjectFromDistributionTransformer;
-import org.eclipse.edc.jsonld.transformer.from.JsonObjectFromPolicyTransformer;
-import org.eclipse.edc.jsonld.transformer.from.JsonObjectFromQuerySpecTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToActionTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToAssetTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToCatalogTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToConstraintTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToCriterionTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToDataServiceTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToDatasetTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToDistributionTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToDutyTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToOperatorTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToPermissionTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToPolicyTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToProhibitionTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonObjectToQuerySpecTransformer;
-import org.eclipse.edc.jsonld.transformer.to.JsonValueToGenericTypeTransformer;
-import org.eclipse.edc.protocol.dsp.transferprocess.transformer.type.from.JsonObjectFromDataAddressTransformer;
import org.eclipse.edc.spi.result.Result;
import org.eclipse.edc.transform.spi.TypeTransformerRegistry;
import org.eclipse.tractusx.irs.edc.client.model.ContractOfferDescription;
@@ -84,7 +84,8 @@ public class EdcTransformer {
private final TitaniumJsonLd titaniumJsonLd;
private final TransformerContextImpl transformerContext;
- public EdcTransformer(@Qualifier("jsonLdObjectMapper") final ObjectMapper objectMapper, final TitaniumJsonLd titaniumJsonLd) {
+ public EdcTransformer(@Qualifier("jsonLdObjectMapper") final ObjectMapper objectMapper,
+ final TitaniumJsonLd titaniumJsonLd) {
this.titaniumJsonLd = titaniumJsonLd;
final JsonBuilderFactory jsonBuilderFactory = Json.createBuilderFactory(Map.of());
diff --git a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/transformer/JsonObjectFromCatalogRequestTransformer.java b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/transformer/JsonObjectFromCatalogRequestTransformer.java
index 0c3ee35ba7..357f72672b 100644
--- a/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/transformer/JsonObjectFromCatalogRequestTransformer.java
+++ b/irs-edc-client/src/main/java/org/eclipse/tractusx/irs/edc/client/transformer/JsonObjectFromCatalogRequestTransformer.java
@@ -50,11 +50,11 @@ public JsonObjectFromCatalogRequestTransformer(final JsonBuilderFactory jsonFact
public @Nullable JsonObject transform(@NotNull final CatalogRequest dto,
@NotNull final TransformerContext context) {
final JsonObjectBuilder builder = this.jsonFactory.createObjectBuilder();
- builder.add(JsonLdKeywords.TYPE, CatalogRequest.EDC_CATALOG_REQUEST_TYPE)
- .add(CatalogRequest.EDC_CATALOG_REQUEST_PROVIDER_URL, dto.getProviderUrl())
- .add(CatalogRequest.EDC_CATALOG_REQUEST_PROTOCOL, dto.getProtocol());
+ builder.add(JsonLdKeywords.TYPE, CatalogRequest.CATALOG_REQUEST_TYPE)
+ .add(CatalogRequest.CATALOG_REQUEST_COUNTER_PARTY_ADDRESS, dto.getCounterPartyAddress())
+ .add(CatalogRequest.CATALOG_REQUEST_PROTOCOL, dto.getProtocol());
Optional.ofNullable(dto.getQuerySpec())
- .ifPresent(s -> builder.add(CatalogRequest.EDC_CATALOG_REQUEST_QUERY_SPEC,
+ .ifPresent(s -> builder.add(CatalogRequest.CATALOG_REQUEST_QUERY_SPEC,
context.transform(dto.getQuerySpec(), JsonObject.class)));
return builder.build();
diff --git a/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/transformer/EdcTransformerTest.java b/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/transformer/EdcTransformerTest.java
index ea10f4936c..6f95901fd8 100644
--- a/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/transformer/EdcTransformerTest.java
+++ b/irs-edc-client/src/test/java/org/eclipse/tractusx/irs/edc/client/transformer/EdcTransformerTest.java
@@ -329,7 +329,7 @@ void shouldSerializeCatalogRequestToJsonObject() {
final String providerConnector = "https://provider.edc/api/v1/dsp";
final String protocol = "dataspace-protocol-http";
final CatalogRequest catalogRequest = CatalogRequest.Builder.newInstance()
- .providerUrl(providerConnector)
+ .counterPartyAddress(providerConnector)
.protocol(protocol)
.build();
final JsonObject requestJson = edcTransformer.transformCatalogRequestToJson(catalogRequest);
diff --git a/pom.xml b/pom.xml
index 92b2e88386..94fe3611df 100644
--- a/pom.xml
+++ b/pom.xml
@@ -91,7 +91,7 @@
2.0
1.7
2.2.16
- 0.1.3
+ 0.2.1
3.5.0
1.76
3.2.0