From 18d519a57b2749242f2394e14c2bd54ba08f128f Mon Sep 17 00:00:00 2001 From: ndr_brt Date: Fri, 10 Jul 2026 11:36:06 +0200 Subject: [PATCH] refactor: cleanup unused DataAddressValidator --- .../connector/core/CoreServicesExtension.java | 7 -- .../DataAddressValidatorRegistryImpl.java | 62 ------------ .../DataAddressValidatorRegistryImplTest.java | 97 ------------------- .../asset/AssetEventDispatchTest.java | 5 +- .../catalog/DatasetResolverImplTest.java | 7 +- .../controlplane-base-bom/build.gradle.kts | 1 - .../build.gradle.kts | 1 - .../build.gradle.kts | 26 ----- .../HttpDataDataAddressValidator.java | 44 --------- ...HttpDataDataAddressValidatorExtension.java | 39 -------- ...rg.eclipse.edc.spi.system.ServiceExtension | 15 --- .../HttpDataDataAddressValidatorImplTest.java | 52 ---------- .../build.gradle.kts | 25 ----- settings.gradle.kts | 1 - .../httpdata/spi/HttpDataAddressSchema.java | 34 ------- .../spi/DataAddressValidatorRegistry.java | 58 ----------- 16 files changed, 4 insertions(+), 470 deletions(-) delete mode 100644 core/common/connector-core/src/main/java/org/eclipse/edc/connector/core/validator/DataAddressValidatorRegistryImpl.java delete mode 100644 core/common/connector-core/src/test/java/org/eclipse/edc/connector/core/validator/DataAddressValidatorRegistryImplTest.java delete mode 100644 extensions/common/validator/validator-data-address-http-data/build.gradle.kts delete mode 100644 extensions/common/validator/validator-data-address-http-data/src/main/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidator.java delete mode 100644 extensions/common/validator/validator-data-address-http-data/src/main/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidatorExtension.java delete mode 100644 extensions/common/validator/validator-data-address-http-data/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension delete mode 100644 extensions/common/validator/validator-data-address-http-data/src/test/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidatorImplTest.java delete mode 100644 extensions/common/validator/validator-data-address-kafka/build.gradle.kts delete mode 100644 spi/core-spi/src/main/java/org/eclipse/edc/dataaddress/httpdata/spi/HttpDataAddressSchema.java delete mode 100644 spi/core-spi/src/main/java/org/eclipse/edc/validator/spi/DataAddressValidatorRegistry.java diff --git a/core/common/connector-core/src/main/java/org/eclipse/edc/connector/core/CoreServicesExtension.java b/core/common/connector-core/src/main/java/org/eclipse/edc/connector/core/CoreServicesExtension.java index 774849af57a..8dc701ba7c9 100644 --- a/core/common/connector-core/src/main/java/org/eclipse/edc/connector/core/CoreServicesExtension.java +++ b/core/common/connector-core/src/main/java/org/eclipse/edc/connector/core/CoreServicesExtension.java @@ -16,7 +16,6 @@ package org.eclipse.edc.connector.core; import org.eclipse.edc.connector.core.agent.ParticipantAgentServiceImpl; -import org.eclipse.edc.connector.core.validator.DataAddressValidatorRegistryImpl; import org.eclipse.edc.participant.spi.ParticipantAgentService; import org.eclipse.edc.policy.engine.PolicyEngineImpl; import org.eclipse.edc.policy.engine.RuleBindingRegistryImpl; @@ -31,7 +30,6 @@ import org.eclipse.edc.spi.system.ServiceExtension; import org.eclipse.edc.spi.system.ServiceExtensionContext; import org.eclipse.edc.spi.types.TypeManager; -import org.eclipse.edc.validator.spi.DataAddressValidatorRegistry; @Extension(value = CoreServicesExtension.NAME) public class CoreServicesExtension implements ServiceExtension { @@ -75,10 +73,5 @@ public PolicyEngine policyEngine() { return new PolicyEngineImpl(scopeFilter, ruleValidator); } - @Provider - public DataAddressValidatorRegistry dataAddressValidatorRegistry(ServiceExtensionContext context) { - return new DataAddressValidatorRegistryImpl(context.getMonitor()); - } - } diff --git a/core/common/connector-core/src/main/java/org/eclipse/edc/connector/core/validator/DataAddressValidatorRegistryImpl.java b/core/common/connector-core/src/main/java/org/eclipse/edc/connector/core/validator/DataAddressValidatorRegistryImpl.java deleted file mode 100644 index b23619ab9f5..00000000000 --- a/core/common/connector-core/src/main/java/org/eclipse/edc/connector/core/validator/DataAddressValidatorRegistryImpl.java +++ /dev/null @@ -1,62 +0,0 @@ -/* - * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - * - * 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: - * Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation - * - */ - -package org.eclipse.edc.connector.core.validator; - -import org.eclipse.edc.spi.monitor.Monitor; -import org.eclipse.edc.spi.types.domain.DataAddress; -import org.eclipse.edc.validator.spi.DataAddressValidatorRegistry; -import org.eclipse.edc.validator.spi.ValidationResult; -import org.eclipse.edc.validator.spi.Validator; -import org.jetbrains.annotations.NotNull; - -import java.util.HashMap; -import java.util.Map; - -public class DataAddressValidatorRegistryImpl implements DataAddressValidatorRegistry { - - private final Map> sourceValidators = new HashMap<>(); - private final Map> destinationValidators = new HashMap<>(); - private final Monitor monitor; - - public DataAddressValidatorRegistryImpl(Monitor monitor) { - this.monitor = monitor; - } - - @Override - public void registerSourceValidator(String type, Validator validator) { - sourceValidators.put(type, validator); - } - - @Override - public void registerDestinationValidator(String type, Validator validator) { - destinationValidators.put(type, validator); - } - - @Override - public ValidationResult validateSource(DataAddress dataAddress) { - return sourceValidators.getOrDefault(dataAddress.getType(), d -> warning("source", dataAddress)).validate(dataAddress); - } - - @Override - public ValidationResult validateDestination(DataAddress dataAddress) { - return destinationValidators.getOrDefault(dataAddress.getType(), d -> warning("destination", dataAddress)).validate(dataAddress); - } - - @NotNull - private ValidationResult warning(String type, DataAddress dataAddress) { - monitor.warning("No %s DataAddress validator has been registered for type %s, please register one as it is strongly recommended.".formatted(type, dataAddress.getType())); - return ValidationResult.success(); - } -} diff --git a/core/common/connector-core/src/test/java/org/eclipse/edc/connector/core/validator/DataAddressValidatorRegistryImplTest.java b/core/common/connector-core/src/test/java/org/eclipse/edc/connector/core/validator/DataAddressValidatorRegistryImplTest.java deleted file mode 100644 index 854b4cc94a2..00000000000 --- a/core/common/connector-core/src/test/java/org/eclipse/edc/connector/core/validator/DataAddressValidatorRegistryImplTest.java +++ /dev/null @@ -1,97 +0,0 @@ -/* - * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - * - * 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: - * Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation - * - */ - -package org.eclipse.edc.connector.core.validator; - -import org.eclipse.edc.spi.monitor.Monitor; -import org.eclipse.edc.spi.types.domain.DataAddress; -import org.eclipse.edc.validator.spi.DataAddressValidatorRegistry; -import org.eclipse.edc.validator.spi.ValidationResult; -import org.eclipse.edc.validator.spi.Validator; -import org.junit.jupiter.api.Nested; -import org.junit.jupiter.api.Test; - -import static org.eclipse.edc.junit.assertions.AbstractResultAssert.assertThat; -import static org.mockito.ArgumentMatchers.any; -import static org.mockito.ArgumentMatchers.anyString; -import static org.mockito.Mockito.mock; -import static org.mockito.Mockito.verify; -import static org.mockito.Mockito.when; - -class DataAddressValidatorRegistryImplTest { - - private final Monitor monitor = mock(); - private final DataAddressValidatorRegistry validator = new DataAddressValidatorRegistryImpl(monitor); - - @Nested - class Source { - @Test - void shouldCallRegisteredValidator() { - Validator typeValidator = mock(); - when(typeValidator.validate(any())).thenReturn(ValidationResult.success()); - validator.registerSourceValidator("type", typeValidator); - var dataAddress = DataAddress.Builder.newInstance() - .property("type", "type") - .build(); - - var result = validator.validateSource(dataAddress); - - assertThat(result).isSucceeded(); - verify(typeValidator).validate(dataAddress); - } - - @Test - void shouldSucceedWithWarning_whenTypeIsNotRegistered() { - var dataAddress = DataAddress.Builder.newInstance() - .property("type", "not-registered") - .build(); - - var result = validator.validateSource(dataAddress); - - assertThat(result).isSucceeded(); - verify(monitor).warning(anyString()); - } - } - - @Nested - class Destination { - @Test - void shouldCallRegisteredValidator() { - Validator typeValidator = mock(); - when(typeValidator.validate(any())).thenReturn(ValidationResult.success()); - validator.registerDestinationValidator("type", typeValidator); - var dataAddress = DataAddress.Builder.newInstance() - .property("type", "type") - .build(); - - var result = validator.validateDestination(dataAddress); - - assertThat(result).isSucceeded(); - verify(typeValidator).validate(dataAddress); - } - - @Test - void shouldSucceedWithWarning_whenTypeIsNotRegistered() { - var dataAddress = DataAddress.Builder.newInstance() - .property("type", "not-registered") - .build(); - - var result = validator.validateDestination(dataAddress); - - assertThat(result).isSucceeded(); - verify(monitor).warning(anyString()); - } - } - -} diff --git a/core/control-plane/control-plane-aggregate-services/src/test/java/org/eclipse/edc/connector/controlplane/services/asset/AssetEventDispatchTest.java b/core/control-plane/control-plane-aggregate-services/src/test/java/org/eclipse/edc/connector/controlplane/services/asset/AssetEventDispatchTest.java index f7d2198729e..7e3f9747275 100644 --- a/core/control-plane/control-plane-aggregate-services/src/test/java/org/eclipse/edc/connector/controlplane/services/asset/AssetEventDispatchTest.java +++ b/core/control-plane/control-plane-aggregate-services/src/test/java/org/eclipse/edc/connector/controlplane/services/asset/AssetEventDispatchTest.java @@ -31,8 +31,6 @@ import org.eclipse.edc.spi.event.EventSubscriber; import org.eclipse.edc.spi.iam.IdentityService; import org.eclipse.edc.spi.types.domain.DataAddress; -import org.eclipse.edc.validator.spi.DataAddressValidatorRegistry; -import org.eclipse.edc.validator.spi.ValidationResult; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; @@ -67,8 +65,7 @@ void setUp(RuntimeExtension extension) { } @Test - void shouldDispatchEventsOnAssetCreationAndDeletion(AssetService service, EventRouter eventRouter, DataAddressValidatorRegistry dataAddressValidatorRegistry) { - dataAddressValidatorRegistry.registerSourceValidator("type", a -> ValidationResult.success()); + void shouldDispatchEventsOnAssetCreationAndDeletion(AssetService service, EventRouter eventRouter) { eventRouter.register(AssetEvent.class, eventSubscriber); var dataAddress = DataAddress.Builder.newInstance().type("type").build(); var asset = Asset.Builder.newInstance().id("assetId").dataAddress(dataAddress).build(); diff --git a/core/control-plane/control-plane-catalog/src/test/java/org/eclipse/edc/connector/controlplane/catalog/DatasetResolverImplTest.java b/core/control-plane/control-plane-catalog/src/test/java/org/eclipse/edc/connector/controlplane/catalog/DatasetResolverImplTest.java index f9052024951..2fa5bf28013 100644 --- a/core/control-plane/control-plane-catalog/src/test/java/org/eclipse/edc/connector/controlplane/catalog/DatasetResolverImplTest.java +++ b/core/control-plane/control-plane-catalog/src/test/java/org/eclipse/edc/connector/controlplane/catalog/DatasetResolverImplTest.java @@ -30,7 +30,6 @@ import org.eclipse.edc.connector.controlplane.contract.spi.types.offer.ContractDefinition; import org.eclipse.edc.connector.controlplane.policy.spi.PolicyDefinition; import org.eclipse.edc.connector.controlplane.policy.spi.store.PolicyDefinitionStore; -import org.eclipse.edc.dataaddress.httpdata.spi.HttpDataAddressSchema; import org.eclipse.edc.participant.spi.ParticipantAgent; import org.eclipse.edc.participantcontext.spi.types.ParticipantContext; import org.eclipse.edc.policy.model.Policy; @@ -38,7 +37,6 @@ import org.eclipse.edc.spi.message.Range; import org.eclipse.edc.spi.query.Criterion; import org.eclipse.edc.spi.query.QuerySpec; -import org.eclipse.edc.spi.types.domain.DataAddress; import org.jetbrains.annotations.NotNull; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Nested; @@ -54,6 +52,7 @@ import static java.util.stream.IntStream.range; import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.Assertions.entry; +import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.DCAT_ENDPOINT_URL_ATTRIBUTE; import static org.eclipse.edc.junit.assertions.AbstractResultAssert.assertThat; import static org.eclipse.edc.policy.model.PolicyType.OFFER; import static org.eclipse.edc.spi.constants.CoreConstants.EDC_NAMESPACE; @@ -279,12 +278,12 @@ void shouldReturnCatalogWithinCatalog_whenAssetIsCatalogAsset() { .endpointDescription("test-asset-desc") .endpointUrl("https://foo.bar/baz") .build()) - .format(HttpDataAddressSchema.HTTP_DATA_TYPE).build(); + .format("HttpData").build(); when(definitionResolver.resolveFor(any(), any())).thenReturn(new ResolvedContractDefinitions(List.of(contractDefinition))); when(assetIndex.queryAssets(isA(QuerySpec.class))).thenReturn(Stream.of(createAsset("assetId") .property(Asset.PROPERTY_IS_CATALOG, true) - .dataAddress(DataAddress.Builder.newInstance().type(HttpDataAddressSchema.HTTP_DATA_TYPE).build()) + .property(DCAT_ENDPOINT_URL_ATTRIBUTE, "https://foo.bar/baz") .build())); when(policyStore.findById("contractPolicyId")).thenReturn(PolicyDefinition.Builder.newInstance().policy(contractPolicy).build()); when(distributionResolver.getDistributions(any(), isA(Asset.class))).thenReturn(List.of(distribution)); diff --git a/dist/bom/controlplane-base-bom/build.gradle.kts b/dist/bom/controlplane-base-bom/build.gradle.kts index d9a80d98d75..d27c387ff64 100644 --- a/dist/bom/controlplane-base-bom/build.gradle.kts +++ b/dist/bom/controlplane-base-bom/build.gradle.kts @@ -50,7 +50,6 @@ dependencies { api(project(":extensions:common:http")) api(project(":extensions:common:iam:oauth2:oauth2-client")) - api(project(":extensions:common:validator:validator-data-address-http-data")) api(project(":extensions:control-plane:api:management-api")) api(project(":extensions:control-plane:callback:callback-event-dispatcher")) api(project(":extensions:control-plane:callback:callback-static-endpoint")) diff --git a/dist/bom/controlplane-virtual-base-bom/build.gradle.kts b/dist/bom/controlplane-virtual-base-bom/build.gradle.kts index 4c92fb10427..f319daadd1c 100644 --- a/dist/bom/controlplane-virtual-base-bom/build.gradle.kts +++ b/dist/bom/controlplane-virtual-base-bom/build.gradle.kts @@ -50,7 +50,6 @@ dependencies { api(project(":extensions:common:http")) api(project(":extensions:common:iam:oauth2:oauth2-client")) - api(project(":extensions:common:validator:validator-data-address-http-data")) api(project(":extensions:control-plane:api:management-api-v5")) api(project(":extensions:common:api:json-ld-cache-api")) api(project(":extensions:common:api:management-api-authorization")) diff --git a/extensions/common/validator/validator-data-address-http-data/build.gradle.kts b/extensions/common/validator/validator-data-address-http-data/build.gradle.kts deleted file mode 100644 index e6f156d09d7..00000000000 --- a/extensions/common/validator/validator-data-address-http-data/build.gradle.kts +++ /dev/null @@ -1,26 +0,0 @@ -/* - * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - * - * 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: - * Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation - * - */ - - -plugins { - `java-library` -} - -dependencies { - api(project(":spi:core-spi")) - - testImplementation(project(":core:common:junit-base")); - -} - diff --git a/extensions/common/validator/validator-data-address-http-data/src/main/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidator.java b/extensions/common/validator/validator-data-address-http-data/src/main/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidator.java deleted file mode 100644 index 4c3f8f7abfd..00000000000 --- a/extensions/common/validator/validator-data-address-http-data/src/main/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidator.java +++ /dev/null @@ -1,44 +0,0 @@ -/* - * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - * - * 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: - * Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation - * - */ - -package org.eclipse.edc.validator.dataaddress.httpdata; - -import org.eclipse.edc.spi.types.domain.DataAddress; -import org.eclipse.edc.validator.spi.ValidationResult; -import org.eclipse.edc.validator.spi.Validator; - -import java.net.MalformedURLException; -import java.net.URL; - -import static org.eclipse.edc.dataaddress.httpdata.spi.HttpDataAddressSchema.BASE_URL; -import static org.eclipse.edc.dataaddress.httpdata.spi.HttpDataAddressSchema.HTTP_DATA_TYPE; -import static org.eclipse.edc.validator.spi.Violation.violation; - -/** - * Validator for HttpData DataAddress type - */ -public class HttpDataDataAddressValidator implements Validator { - - @Override - public ValidationResult validate(DataAddress dataAddress) { - var baseUrl = dataAddress.getStringProperty(BASE_URL); - try { - new URL(baseUrl); - return ValidationResult.success(); - } catch (MalformedURLException e) { - var violation = violation("DataAddress of type %s must contain a valid baseUrl.".formatted(HTTP_DATA_TYPE), BASE_URL, baseUrl); - return ValidationResult.failure(violation); - } - } -} diff --git a/extensions/common/validator/validator-data-address-http-data/src/main/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidatorExtension.java b/extensions/common/validator/validator-data-address-http-data/src/main/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidatorExtension.java deleted file mode 100644 index 5686c36a9d4..00000000000 --- a/extensions/common/validator/validator-data-address-http-data/src/main/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidatorExtension.java +++ /dev/null @@ -1,39 +0,0 @@ -/* - * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - * - * 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: - * Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation - * - */ - -package org.eclipse.edc.validator.dataaddress.httpdata; - -import org.eclipse.edc.dataaddress.httpdata.spi.HttpDataAddressSchema; -import org.eclipse.edc.runtime.metamodel.annotation.Extension; -import org.eclipse.edc.runtime.metamodel.annotation.Inject; -import org.eclipse.edc.spi.system.ServiceExtension; -import org.eclipse.edc.spi.system.ServiceExtensionContext; -import org.eclipse.edc.validator.spi.DataAddressValidatorRegistry; - -import static org.eclipse.edc.validator.dataaddress.httpdata.HttpDataDataAddressValidatorExtension.NAME; - -@Extension(NAME) -public class HttpDataDataAddressValidatorExtension implements ServiceExtension { - public static final String NAME = "DataAddress HttpData Validator"; - - @Inject - private DataAddressValidatorRegistry dataAddressValidatorRegistry; - - @Override - public void initialize(ServiceExtensionContext context) { - var validator = new HttpDataDataAddressValidator(); - dataAddressValidatorRegistry.registerSourceValidator(HttpDataAddressSchema.HTTP_DATA_TYPE, validator); - dataAddressValidatorRegistry.registerDestinationValidator(HttpDataAddressSchema.HTTP_DATA_TYPE, validator); - } -} diff --git a/extensions/common/validator/validator-data-address-http-data/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension b/extensions/common/validator/validator-data-address-http-data/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension deleted file mode 100644 index 6a05faaa539..00000000000 --- a/extensions/common/validator/validator-data-address-http-data/src/main/resources/META-INF/services/org.eclipse.edc.spi.system.ServiceExtension +++ /dev/null @@ -1,15 +0,0 @@ -# -# Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) -# -# 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: -# Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation -# -# - -org.eclipse.edc.validator.dataaddress.httpdata.HttpDataDataAddressValidatorExtension diff --git a/extensions/common/validator/validator-data-address-http-data/src/test/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidatorImplTest.java b/extensions/common/validator/validator-data-address-http-data/src/test/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidatorImplTest.java deleted file mode 100644 index 329a980f49e..00000000000 --- a/extensions/common/validator/validator-data-address-http-data/src/test/java/org/eclipse/edc/validator/dataaddress/httpdata/HttpDataDataAddressValidatorImplTest.java +++ /dev/null @@ -1,52 +0,0 @@ -/* - * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - * - * 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: - * Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation - * - */ - -package org.eclipse.edc.validator.dataaddress.httpdata; - -import org.eclipse.edc.spi.types.domain.DataAddress; -import org.junit.jupiter.api.Test; - -import static org.eclipse.edc.dataaddress.httpdata.spi.HttpDataAddressSchema.BASE_URL; -import static org.eclipse.edc.dataaddress.httpdata.spi.HttpDataAddressSchema.HTTP_DATA_TYPE; -import static org.eclipse.edc.junit.assertions.AbstractResultAssert.assertThat; - -class HttpDataDataAddressValidatorImplTest { - - private final HttpDataDataAddressValidator validator = new HttpDataDataAddressValidator(); - - @Test - void shouldPass_whenHttpDataIsValid() { - var dataAddress = DataAddress.Builder.newInstance() - .property("type", HTTP_DATA_TYPE) - .property(BASE_URL, "http://this.is/valid/url") - .build(); - - var result = validator.validate(dataAddress); - - assertThat(result).isSucceeded(); - } - - @Test - void shouldFail_whenHttpDataBaseUrlNotValid() { - var dataAddress = DataAddress.Builder.newInstance() - .property("type", HTTP_DATA_TYPE) - .property(BASE_URL, "not-a-valid-url") - .build(); - - var result = validator.validate(dataAddress); - - assertThat(result).isFailed(); - } - -} diff --git a/extensions/common/validator/validator-data-address-kafka/build.gradle.kts b/extensions/common/validator/validator-data-address-kafka/build.gradle.kts deleted file mode 100644 index 409bcf03538..00000000000 --- a/extensions/common/validator/validator-data-address-kafka/build.gradle.kts +++ /dev/null @@ -1,25 +0,0 @@ -/* - * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - * - * 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: - * Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation - * - */ - - -plugins { - `java-library` -} - -dependencies { - api(project(":spi:core-spi")) - - testImplementation(project(":core:common:junit-base")); - -} diff --git a/settings.gradle.kts b/settings.gradle.kts index 10d12773adc..512ad09be1b 100644 --- a/settings.gradle.kts +++ b/settings.gradle.kts @@ -165,7 +165,6 @@ include(":extensions:common:sql:sql-pool:sql-pool-apache-commons") include(":extensions:common:transaction") include(":extensions:common:transaction:transaction-atomikos") include(":extensions:common:transaction:transaction-local") -include(":extensions:common:validator:validator-data-address-http-data") include(":extensions:common:vault:vault-hashicorp") include(":extensions:common:store:sql:edr-index-sql") include(":extensions:common:store:sql:json-ld-cache-store-sql") diff --git a/spi/core-spi/src/main/java/org/eclipse/edc/dataaddress/httpdata/spi/HttpDataAddressSchema.java b/spi/core-spi/src/main/java/org/eclipse/edc/dataaddress/httpdata/spi/HttpDataAddressSchema.java deleted file mode 100644 index ec03c9a061d..00000000000 --- a/spi/core-spi/src/main/java/org/eclipse/edc/dataaddress/httpdata/spi/HttpDataAddressSchema.java +++ /dev/null @@ -1,34 +0,0 @@ -/* - * Copyright (c) 2023 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - * - * 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: - * Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation - * - */ - -package org.eclipse.edc.dataaddress.httpdata.spi; - -import static org.eclipse.edc.spi.constants.CoreConstants.EDC_NAMESPACE; - -/** - * Defines the schema of a DataAddress representing an Http endpoint. - */ -public interface HttpDataAddressSchema { - - /** - * DataAddress type - */ - String HTTP_DATA_TYPE = "HttpData"; - - /** - * Base url - */ - String BASE_URL = EDC_NAMESPACE + "baseUrl"; - -} diff --git a/spi/core-spi/src/main/java/org/eclipse/edc/validator/spi/DataAddressValidatorRegistry.java b/spi/core-spi/src/main/java/org/eclipse/edc/validator/spi/DataAddressValidatorRegistry.java deleted file mode 100644 index 9525a6fe72a..00000000000 --- a/spi/core-spi/src/main/java/org/eclipse/edc/validator/spi/DataAddressValidatorRegistry.java +++ /dev/null @@ -1,58 +0,0 @@ -/* - * Copyright (c) 2022 Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - * - * 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: - * Bayerische Motoren Werke Aktiengesellschaft (BMW AG) - initial API and implementation - * - */ - -package org.eclipse.edc.validator.spi; - -import org.eclipse.edc.spi.types.domain.DataAddress; - -/** - * Registry service for DataAddress validation - * - * @deprecated DataAddress will be managed by the data-plane, no need to validate it in the control-plane - */ -@Deprecated(since = "0.18.0") -public interface DataAddressValidatorRegistry { - - /** - * Register a source DataAddress object validator for a specific DataAddress type - * - * @param type the DataAddress type string. - * @param validator the validator to be executed. - */ - void registerSourceValidator(String type, Validator validator); - - /** - * Register a destination DataAddress object validator for a specific DataAddress type - * - * @param type the DataAddress type string. - * @param validator the validator to be executed. - */ - void registerDestinationValidator(String type, Validator validator); - - /** - * Validate a source data address - * - * @param dataAddress the source data address. - * @return the validation result. - */ - ValidationResult validateSource(DataAddress dataAddress); - - /** - * Validate a destination data address - * - * @param dataAddress the destination data address. - * @return the validation result. - */ - ValidationResult validateDestination(DataAddress dataAddress); -}