Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -24,10 +24,11 @@ dependencies {
runtimeOnly(libs.edc.bom.controlplane.base) {
exclude(group = "org.eclipse.edc", "data-plane-signaling-core")
exclude(group = "org.eclipse.edc", "data-plane-signaling-oauth2")
exclude(group = "org.eclipse.edc", "data-plane-signaling-oauth2-token-exchange")
}

implementation(libs.edc.iam.mock)
implementation(libs.edc.transfer.spi)
implementation(libs.edc.control.plane.spi)
implementation(libs.opentelemetry.exporter.otlp)
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -81,7 +81,7 @@ public Set<String> transferTypesFor(Asset asset) {
}

@Override
public Set<String> transferTypesFor(String assetId) {
public Set<String> transferTypesFor(String participantContextId, String assetId) {
return Set.of("HttpData-PULL");
}
}
Expand Down
3 changes: 3 additions & 0 deletions basic/basic-01-basic-connector/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ dependencies {
implementation(libs.edc.boot)
implementation(libs.edc.runtime.core)
implementation(libs.edc.connector.core)
implementation(libs.edc.participant.context.core)
implementation(libs.edc.participant.context.config.core)
implementation(libs.edc.participant.context.connector.core)
implementation(libs.edc.http)
}

Expand Down
3 changes: 3 additions & 0 deletions basic/basic-02-health-endpoint/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,9 @@ dependencies {
implementation(libs.edc.boot)
implementation(libs.edc.runtime.core)
implementation(libs.edc.connector.core)
implementation(libs.edc.participant.context.core)
implementation(libs.edc.participant.context.config.core)
implementation(libs.edc.participant.context.connector.core)

implementation(libs.edc.http)

Expand Down
3 changes: 3 additions & 0 deletions basic/basic-03-configuration/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ dependencies {
implementation(libs.edc.boot)
implementation(libs.edc.runtime.core)
implementation(libs.edc.connector.core)
implementation(libs.edc.participant.context.core)
implementation(libs.edc.participant.context.config.core)
implementation(libs.edc.participant.context.connector.core)

implementation(libs.edc.http)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ dependencies {
runtimeOnly(libs.edc.bom.controlplane.base)
runtimeOnly(libs.edc.iam.mock)

implementation(libs.edc.asset.spi)
implementation(libs.edc.control.plane.spi)
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,6 @@ plugins {
}

dependencies {
implementation(libs.edc.fc.spi.crawler)
implementation(libs.edc.control.plane.spi)
}

21 changes: 21 additions & 0 deletions federated-catalog/fc-00-basic/no-op-data-flow/build.gradle.kts
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/*
* Copyright (c) 2026 Think-it GmbH
*
* This program and the accompanying materials are made available under the
* terms of the Apache License, Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
*
* Contributors:
* Think-it GmbH - initial API and implementation
*
*/

plugins {
`java-library`
}

dependencies {
implementation(libs.edc.control.plane.spi)
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
/*
* Copyright (c) 2026 Think-it GmbH
*
* This program and the accompanying materials are made available under the
* terms of the Apache License, Version 2.0 which is available at
* https://www.apache.org/licenses/LICENSE-2.0
*
* SPDX-License-Identifier: Apache-2.0
*
* Contributors:
* Think-it GmbH - initial API and implementation
*
*/

package org.eclipse.edc.sample.extension.fc;

import org.eclipse.edc.connector.controlplane.asset.spi.domain.Asset;
import org.eclipse.edc.connector.controlplane.transfer.spi.flow.DataFlowController;
import org.eclipse.edc.connector.controlplane.transfer.spi.types.DataFlowResponse;
import org.eclipse.edc.connector.controlplane.transfer.spi.types.TransferProcess;
import org.eclipse.edc.policy.model.Policy;
import org.eclipse.edc.runtime.metamodel.annotation.Provider;
import org.eclipse.edc.spi.response.StatusResult;
import org.eclipse.edc.spi.system.ServiceExtension;
import org.jetbrains.annotations.NotNull;

import java.util.Set;

/**
* Registers a no-op {@link DataFlowController} so that assets are advertised with a transfer type and therefore
* show up as datasets in the catalog. This keeps the federated catalog samples self-contained, without wiring a
* real data plane.
*/
public class NoOpDataFlowControllerExtension implements ServiceExtension {

@Provider
public DataFlowController dataFlowController() {
return new NoOpDataFlowController();
}

private static class NoOpDataFlowController implements DataFlowController {

@Override
public boolean canHandle(TransferProcess transferProcess) {
return true;
}

@Override
public StatusResult<DataFlowResponse> prepare(TransferProcess transferProcess, Policy policy) {
return StatusResult.success(DataFlowResponse.Builder.newInstance().build());
}

@Override
public @NotNull StatusResult<DataFlowResponse> start(TransferProcess transferProcess, Policy policy) {
return StatusResult.success(DataFlowResponse.Builder.newInstance().build());
}

@Override
public StatusResult<Void> suspend(TransferProcess transferProcess) {
return StatusResult.success();
}

@Override
public StatusResult<DataFlowResponse> resume(TransferProcess transferProcess) {
return StatusResult.success(DataFlowResponse.Builder.newInstance().build());
}

@Override
public StatusResult<Void> terminate(TransferProcess transferProcess) {
return StatusResult.success();
}

@Override
public StatusResult<Void> started(TransferProcess transferProcess) {
return StatusResult.success();
}

@Override
public StatusResult<Void> completed(TransferProcess transferProcess) {
return StatusResult.success();
}

@Override
public Set<String> transferTypesFor(Asset asset) {
return Set.of("HttpData-PULL");
}

@Override
public Set<String> transferTypesFor(String participantContextId, String assetId) {
return Set.of("HttpData-PULL");
}
}

}
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
#
# Copyright (c) 2026 Think-it GmbH
#
# This program and the accompanying materials are made available under the
# terms of the Apache License, Version 2.0 which is available at
# https://www.apache.org/licenses/LICENSE-2.0
#
# SPDX-License-Identifier: Apache-2.0
#
# Contributors:
# Think-it GmbH - initial API and implementation
#
#

org.eclipse.edc.sample.extension.fc.NoOpDataFlowControllerExtension
Original file line number Diff line number Diff line change
Expand Up @@ -19,8 +19,13 @@ plugins {
}

dependencies {
runtimeOnly(libs.edc.bom.controlplane.base)
runtimeOnly(libs.edc.bom.controlplane.base) {
exclude(group = "org.eclipse.edc", "data-plane-signaling-core")
exclude(group = "org.eclipse.edc", "data-plane-signaling-oauth2")
exclude(group = "org.eclipse.edc", "data-plane-signaling-oauth2-token-exchange")
}
runtimeOnly(libs.edc.iam.mock)
runtimeOnly(project(":federated-catalog:fc-00-basic:no-op-data-flow"))
}

application {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ plugins {
dependencies {
implementation(project(":federated-catalog:fc-00-basic:federated-catalog-base"))
implementation(project(":federated-catalog:fc-00-basic:fixed-node-resolver"))
implementation(project(":federated-catalog:fc-00-basic:no-op-data-flow"))

runtimeOnly(libs.edc.bom.controlplane.base)
runtimeOnly(libs.edc.iam.mock)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,6 +23,7 @@ dependencies {
runtimeOnly(project(":federated-catalog:fc-00-basic:fixed-node-resolver"))

implementation(libs.edc.iam.mock)
runtimeOnly(libs.edc.dsp.catalog.transform.v2025)

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,19 @@ plugins {
dependencies {
runtimeOnly(project(":federated-catalog:fc-00-basic:federated-catalog-base"))
runtimeOnly(project(":federated-catalog:fc-03-static-node-directory:target-node-resolver"))
runtimeOnly(project(":federated-catalog:fc-00-basic:no-op-data-flow"))

implementation(libs.edc.runtime.core)
implementation(libs.edc.connector.core)
implementation(libs.edc.participant.context.core)
implementation(libs.edc.participant.context.config.core)
implementation(libs.edc.participant.context.connector.core)
implementation(libs.edc.control.plane.core)
implementation(libs.edc.configuration.filesystem)
implementation(libs.edc.management.api)
implementation(libs.edc.dsp)
implementation(libs.edc.iam.mock)
implementation(libs.edc.http)
implementation(libs.edc.edr.store.core)

}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,13 @@ plugins {
dependencies {
runtimeOnly(project(":federated-catalog:fc-00-basic:federated-catalog-base"))
runtimeOnly(project(":federated-catalog:fc-03-static-node-directory:target-node-resolver"))
runtimeOnly(project(":federated-catalog:fc-00-basic:no-op-data-flow"))

implementation(libs.edc.runtime.core)
implementation(libs.edc.connector.core)
implementation(libs.edc.participant.context.core)
implementation(libs.edc.participant.context.config.core)
implementation(libs.edc.participant.context.connector.core)
runtimeOnly(libs.edc.boot)
runtimeOnly(libs.edc.control.plane.core)
implementation(libs.edc.configuration.filesystem)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,5 @@ plugins {
}

dependencies {
implementation(libs.edc.fc.spi.crawler)
implementation(libs.edc.control.plane.spi)
}
16 changes: 7 additions & 9 deletions gradle/libs.versions.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,36 +3,34 @@ format.version = "1.1"

[versions]
awaitility = "4.2.2"
edc = "0.18.1"
edc = "1.0.0-RC4"
okhttp-mockwebserver = "5.5.0"
restAssured = "6.0.1"
rsApi = "4.0.0"
testcontainers = "1.21.4"

[libraries]
edc-boot = { module = "org.eclipse.edc:boot", version.ref = "edc" }
edc-asset-spi = { module = "org.eclipse.edc:asset-spi", version.ref = "edc" }
edc-core-spi = { module = "org.eclipse.edc:core-spi", version.ref = "edc" }
edc-bom-controlplane-base = { module = "org.eclipse.edc:controlplane-base-bom", version.ref = "edc" }
edc-configuration-filesystem = { module = "org.eclipse.edc:configuration-filesystem", version.ref = "edc" }
edc-connector-core = { module = "org.eclipse.edc:connector-core", version.ref = "edc" }
edc-control-plane-core = { module = "org.eclipse.edc:control-plane-core", version.ref = "edc" }
edc-control-plane-spi = { module = "org.eclipse.edc:control-plane-spi", version.ref = "edc" }
edc-data-plane-spi = { module = "org.eclipse.edc:data-plane-spi", version.ref = "edc" }
edc-dsp = { module = "org.eclipse.edc:dsp", version.ref = "edc" }
edc-edr-store-core = { module = "org.eclipse.edc:edr-store-core", version.ref = "edc" }
edc-dsp-catalog-transform-v2025 = { module = "org.eclipse.edc:dsp-catalog-transform-2025", version.ref = "edc" }
edc-federatedcatalog-base-bom = { module = "org.eclipse.edc:federatedcatalog-base-bom", version.ref = "edc" }
edc-fc-spi-crawler = { module = "org.eclipse.edc:crawler-spi", version.ref = "edc" }
edc-http = { module = "org.eclipse.edc:http", version.ref = "edc" }
edc-iam-mock = { module = "org.eclipse.edc:iam-mock", version.ref = "edc" }
edc-json-ld-lib = { module = "org.eclipse.edc:json-ld-lib", version.ref = "edc" }
edc-json-ld-spi = { module = "org.eclipse.edc:json-ld-spi", version.ref = "edc" }
edc-json-ld = { module = "org.eclipse.edc:json-ld", version.ref = "edc" }
edc-junit = { module = "org.eclipse.edc:junit", version.ref = "edc" }
edc-management-api = { module = "org.eclipse.edc:management-api", version.ref = "edc" }
edc-management-api-test-fixtures = { module = "org.eclipse.edc:management-api-test-fixtures", version.ref = "edc" }
edc-participant-context-config-spi = { module = "org.eclipse.edc:participant-context-config-spi", version.ref = "edc" }
edc-participant-context-config-core = { module = "org.eclipse.edc:participant-context-config-core", version.ref = "edc" }
edc-participant-context-connector-core = { module = "org.eclipse.edc:participant-context-connector-core", version.ref = "edc" }
edc-participant-context-core = { module = "org.eclipse.edc:participant-context-core", version.ref = "edc" }
edc-runtime-core = { module = "org.eclipse.edc:runtime-core", version.ref = "edc" }
edc-token-core = { module = "org.eclipse.edc:token-core", version.ref = "edc" }
edc-transfer-spi = { module = "org.eclipse.edc:transfer-spi", version.ref = "edc" }

awaitility = { module = "org.awaitility:awaitility", version.ref = "awaitility" }
jakarta-rsApi = { module = "jakarta.ws.rs:jakarta.ws.rs-api", version.ref = "rsApi" }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@ plugins {
}

dependencies {
api(libs.edc.data.plane.spi)
api(libs.edc.json.ld.spi)
api(libs.edc.participant.context.config.spi)
api(libs.edc.core.spi)
api(libs.edc.control.plane.spi)

implementation(libs.edc.control.plane.core)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,10 @@

package org.eclipse.edc.sample.extension.policy;

import org.eclipse.edc.controlplane.iam.AudienceResolver;
import org.eclipse.edc.participantcontext.spi.config.ParticipantContextConfig;
import org.eclipse.edc.runtime.metamodel.annotation.Inject;
import org.eclipse.edc.runtime.metamodel.annotation.Provider;
import org.eclipse.edc.spi.iam.AudienceResolver;
import org.eclipse.edc.spi.iam.ClaimToken;
import org.eclipse.edc.spi.iam.IdentityService;
import org.eclipse.edc.spi.iam.TokenParameters;
Expand Down
1 change: 1 addition & 0 deletions settings.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ include(":policy:policy-01-policy-enforcement:policy-functions")
include(":federated-catalog:fc-00-basic:federated-catalog-base")
include(":federated-catalog:fc-00-basic:fixed-node-resolver")
include(":federated-catalog:fc-00-basic:participant-connector")
include(":federated-catalog:fc-00-basic:no-op-data-flow")
include(":federated-catalog:fc-01-embedded:fc-connector")
include(":federated-catalog:fc-02-standalone:standalone-fc")
include(":federated-catalog:fc-03-static-node-directory:target-node-resolver")
Expand Down
4 changes: 2 additions & 2 deletions system-tests/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@ plugins {

dependencies {
testImplementation(libs.edc.junit)
testImplementation(libs.edc.json.ld.lib)
testImplementation(libs.edc.json.ld.spi)
testImplementation(libs.edc.json.ld)
testImplementation(libs.edc.core.spi)
testImplementation(libs.edc.control.plane.spi)
testImplementation(testFixtures(libs.edc.management.api.test.fixtures))
testImplementation(libs.awaitility)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -58,7 +58,7 @@ public class FederatedCatalogCommon {
public static final String STANDALONE_FC_CATALOG_API_ENDPOINT = "http://localhost:39193/api/management/v4/catalogs/request";
public static final String EMPTY_QUERY_FILE_PATH = "federated-catalog/fc-01-embedded/resources/empty-query.json";
public static final String TYPE = "[0].@type";
public static final String DATASET_ASSET_ID = "[0].'dcat:dataset'.@id";
public static final String DATASET_ASSET_ID = "[0].dataset[0].@id";

public static RuntimeExtension getParticipantConnector() {
return PrerequisitesCommon.getProvider(PARTICIPANT_CONNECTOR_MODULE_PATH, PARTICIPANT_CONNECTOR_CONFIG_PROPERTIES_FILE_PATH);
Expand Down Expand Up @@ -103,7 +103,7 @@ public static JsonPath postAndAssertType(String url, String requestBody) {
.log().ifValidationFails()
.statusCode(HttpStatus.SC_OK)
.body(TYPE, not(emptyString()))
.body(TYPE, is("dcat:Catalog"))
.body(TYPE, is("Catalog"))
.extract()
.jsonPath();
}
Expand Down
Loading