From c72dc1559d6e655b0502e27de3a25bdcb917d3a3 Mon Sep 17 00:00:00 2001 From: bmg13 Date: Fri, 14 Feb 2025 10:49:15 +0000 Subject: [PATCH 1/4] Update to enable edc v0.11.0+ and tx-edc 0.9.0+. --- mxd-runtimes/gradle/libs.versions.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mxd-runtimes/gradle/libs.versions.toml b/mxd-runtimes/gradle/libs.versions.toml index 226bab91..7f109d3c 100644 --- a/mxd-runtimes/gradle/libs.versions.toml +++ b/mxd-runtimes/gradle/libs.versions.toml @@ -4,9 +4,9 @@ format.version = "1.1" [versions] awaitility = "4.2.2" assertj = "3.25.3" -edc = "0.10.1" +edc = "0.11.1" ih = "0.12.0-SNAPSHOT" -tractusx = "0.8.0" +tractusx = "0.9.0-rc1" commons = "2.11.0" opentelemetry = "1.32.0" postgres = "42.7.3" From c7e26fce48551652ba70f706a7052fb7c7681941 Mon Sep 17 00:00:00 2001 From: bmg13 Date: Fri, 14 Feb 2025 11:27:04 +0000 Subject: [PATCH 2/4] Update TX-EDC to recent 0.9.0-rc2. --- mxd-runtimes/gradle/libs.versions.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mxd-runtimes/gradle/libs.versions.toml b/mxd-runtimes/gradle/libs.versions.toml index 7f109d3c..cf84a1c6 100644 --- a/mxd-runtimes/gradle/libs.versions.toml +++ b/mxd-runtimes/gradle/libs.versions.toml @@ -6,7 +6,7 @@ awaitility = "4.2.2" assertj = "3.25.3" edc = "0.11.1" ih = "0.12.0-SNAPSHOT" -tractusx = "0.9.0-rc1" +tractusx = "0.9.0-rc2" commons = "2.11.0" opentelemetry = "1.32.0" postgres = "42.7.3" From 42ef04aa4936613bb9d8703e2bed4dc01def8209 Mon Sep 17 00:00:00 2001 From: bmg13 Date: Fri, 14 Feb 2025 12:09:57 +0000 Subject: [PATCH 3/4] Include new PortMappingRegistry in the DataServiceExtension. --- .../mxd/dataservice/DataServiceExtension.java | 42 ++++++++++--------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/mxd-runtimes/data-service-api/src/main/java/org/eclipse/tractusx/mxd/dataservice/DataServiceExtension.java b/mxd-runtimes/data-service-api/src/main/java/org/eclipse/tractusx/mxd/dataservice/DataServiceExtension.java index 2c63f5cb..42c19d50 100644 --- a/mxd-runtimes/data-service-api/src/main/java/org/eclipse/tractusx/mxd/dataservice/DataServiceExtension.java +++ b/mxd-runtimes/data-service-api/src/main/java/org/eclipse/tractusx/mxd/dataservice/DataServiceExtension.java @@ -14,15 +14,17 @@ package org.eclipse.tractusx.mxd.dataservice; +import org.eclipse.edc.runtime.metamodel.annotation.Configuration; import org.eclipse.edc.runtime.metamodel.annotation.Extension; import org.eclipse.edc.runtime.metamodel.annotation.Inject; +import org.eclipse.edc.runtime.metamodel.annotation.Setting; import org.eclipse.edc.runtime.metamodel.annotation.SettingContext; +import org.eclipse.edc.runtime.metamodel.annotation.Settings; import org.eclipse.edc.spi.system.ServiceExtension; import org.eclipse.edc.spi.system.ServiceExtensionContext; -import org.eclipse.edc.web.spi.WebServer; import org.eclipse.edc.web.spi.WebService; -import org.eclipse.edc.web.spi.configuration.WebServiceConfigurer; -import org.eclipse.edc.web.spi.configuration.WebServiceSettings; +import org.eclipse.edc.web.spi.configuration.PortMapping; +import org.eclipse.edc.web.spi.configuration.PortMappingRegistry; import org.eclipse.tractusx.mxd.dataservice.api.DataServiceApiController; import org.eclipse.tractusx.mxd.dataservice.model.DataRecord; @@ -34,25 +36,27 @@ public class DataServiceExtension implements ServiceExtension { public static final String NAME = "MXD Demo Backend Services"; - public static final String DEFAULT_PATH = "/"; - public static final String DATA_API_CONTEXT_NAME = "data"; + private static final String DEFAULT_PATH = "/"; + private static final String DATA_API_CONTEXT_NAME = "data"; private final static int DEFAULT_PORT = 8080; @SettingContext("Version API context setting key") private static final String DATA_API_CONFIG_KEY = "web.http.data"; - public static final WebServiceSettings SETTINGS = WebServiceSettings.Builder.newInstance() - .apiConfigKey(DATA_API_CONFIG_KEY) - .contextAlias(DATA_API_CONTEXT_NAME) - .defaultPath(DEFAULT_PATH) - .defaultPort(DEFAULT_PORT) - .useDefaultContext(false) - .name("Data Service API") - .build(); @Inject private WebService webService; @Inject - private WebServiceConfigurer configurer; - @Inject - private WebServer webServer; + private PortMappingRegistry portMappingRegistry; + @Configuration + private DataServiceExtensionConfiguration apiConfiguration; + + @Settings + record DataServiceExtensionConfiguration( + @Setting(key = DATA_API_CONFIG_KEY + ".port", description = "Port for " + DATA_API_CONTEXT_NAME + " api context", defaultValue = DEFAULT_PORT + "") + int port, + @Setting(key = DATA_API_CONFIG_KEY + ".path", description = "Path for " + DATA_API_CONTEXT_NAME + " api context", defaultValue = DEFAULT_PATH) + String path + ) { + + } @Override public String name() { @@ -61,8 +65,8 @@ public String name() { @Override public void initialize(ServiceExtensionContext context) { - var config = context.getConfig(DATA_API_CONFIG_KEY); - configurer.configure(config, webServer, SETTINGS); + var portMapping = new PortMapping(DATA_API_CONTEXT_NAME, apiConfiguration.port(), apiConfiguration.path()); + portMappingRegistry.register(portMapping); var database = new ConcurrentHashMap(); populate(database); webService.registerResource(DATA_API_CONTEXT_NAME, new DataServiceApiController(database)); @@ -70,7 +74,7 @@ public void initialize(ServiceExtensionContext context) { private void populate(Map database) { IntStream.range(0, 10) - .mapToObj(i -> new DataRecord("id" + i, "Record Nr. " + i, "This is a record (nr. " + i+") coming from the provider's private HTTP data service")) + .mapToObj(i -> new DataRecord("id" + i, "Record Nr. " + i, "This is a record (nr. " + i + ") coming from the provider's private HTTP data service")) .forEach(dr -> database.put(dr.id(), dr)); } From 14174b00de486f7bf4c4112fe71df3c79873c839 Mon Sep 17 00:00:00 2001 From: bmg13 Date: Fri, 21 Feb 2025 14:40:15 +0000 Subject: [PATCH 4/4] Update tx and edc versions. --- mxd-runtimes/gradle/catalogserver.versions.toml | 4 ++-- mxd-runtimes/tx-catalog-server/build.gradle.kts | 8 ++++---- mxd/modules/connector/connector.tf | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mxd-runtimes/gradle/catalogserver.versions.toml b/mxd-runtimes/gradle/catalogserver.versions.toml index a047c3f3..c92a5b4b 100644 --- a/mxd-runtimes/gradle/catalogserver.versions.toml +++ b/mxd-runtimes/gradle/catalogserver.versions.toml @@ -2,8 +2,8 @@ format.version = "1.1" [versions] -edc = "0.10.1" -tractusx = "0.8.0" +edc = "0.11.1" +tractusx = "0.9.0-rc2" postgres = "42.7.3" [libraries] diff --git a/mxd-runtimes/tx-catalog-server/build.gradle.kts b/mxd-runtimes/tx-catalog-server/build.gradle.kts index 57782051..0f9739a9 100644 --- a/mxd-runtimes/tx-catalog-server/build.gradle.kts +++ b/mxd-runtimes/tx-catalog-server/build.gradle.kts @@ -21,13 +21,13 @@ plugins { configurations.all { resolutionStrategy { // Tractus-X depends on an earlier version of this, which does not yet contain ConsoleMonitor$Level#defaultLevel() - force("org.eclipse.edc:boot-spi:0.10.1") + force("org.eclipse.edc:boot-spi:0.11.1") // force the latest version, because the DspHttpCoreExtension now registers the dispatcher WITH the protocol string - force("org.eclipse.edc:core-spi:0.10.1") + force("org.eclipse.edc:core-spi:0.11.1") // ContractDefinitionResolver is not present in the older version of EDC used by tractus-Xs - force("org.eclipse.edc:catalog-spi:0.10.1") + force("org.eclipse.edc:catalog-spi:0.11.1") // DSP Remote Message Dispatcher Registry now requires a String argument - force("org.eclipse.edc:dsp:0.10.1") + force("org.eclipse.edc:dsp:0.11.1") } } diff --git a/mxd/modules/connector/connector.tf b/mxd/modules/connector/connector.tf index 3a8e7864..17366bb0 100644 --- a/mxd/modules/connector/connector.tf +++ b/mxd/modules/connector/connector.tf @@ -30,7 +30,7 @@ resource "helm_release" "connector" { repository = "https://eclipse-tractusx.github.io/charts/dev" chart = "tractusx-connector" - version = "0.8.0" + version = "0.9.0-rc2" values = [ file("${path.module}/values.yaml"),