diff --git a/core/catalog-crawler/catalog-crawler-core/src/test/java/org/eclipse/edc/catalog/crawler/cache/query/DspCatalogRequestActionTest.java b/core/catalog-crawler/catalog-crawler-core/src/test/java/org/eclipse/edc/catalog/crawler/cache/query/DspCatalogRequestActionTest.java index 3e6d1013696..e86b81f454c 100644 --- a/core/catalog-crawler/catalog-crawler-core/src/test/java/org/eclipse/edc/catalog/crawler/cache/query/DspCatalogRequestActionTest.java +++ b/core/catalog-crawler/catalog-crawler-core/src/test/java/org/eclipse/edc/catalog/crawler/cache/query/DspCatalogRequestActionTest.java @@ -47,7 +47,7 @@ class DspCatalogRequestActionTest { private final ProtocolRemoteMessageDispatcher messageDispatcher = mock(); - private final TypeTransformerRegistry typeTransformerRegistry = new TypeTransformerRegistryImpl(); + private final TypeTransformerRegistry typeTransformerRegistry = new TypeTransformerRegistryImpl(mock()); private final ObjectMapper objectMapper = createObjectMapper(); private final SingleParticipantContextSupplier participantContextSupplier = () -> ServiceResult.success( ParticipantContext.Builder.newInstance().participantContextId("participantContext").identity("identity").build()); diff --git a/core/catalog-crawler/catalog-crawler-core/src/test/java/org/eclipse/edc/catalog/crawler/cache/query/PagingCatalogFetcherTest.java b/core/catalog-crawler/catalog-crawler-core/src/test/java/org/eclipse/edc/catalog/crawler/cache/query/PagingCatalogFetcherTest.java index 7c9c5e62d85..b8da5a8772d 100644 --- a/core/catalog-crawler/catalog-crawler-core/src/test/java/org/eclipse/edc/catalog/crawler/cache/query/PagingCatalogFetcherTest.java +++ b/core/catalog-crawler/catalog-crawler-core/src/test/java/org/eclipse/edc/catalog/crawler/cache/query/PagingCatalogFetcherTest.java @@ -55,7 +55,7 @@ class PagingCatalogFetcherTest { private final ObjectMapper objectMapper = createObjectMapper(); private final SingleParticipantContextSupplier participantContextSupplier = () -> ServiceResult.success( ParticipantContext.Builder.newInstance().participantContextId("participantContext").identity("identity").build()); - private final TypeTransformerRegistry typeTransformerRegistry = new TypeTransformerRegistryImpl(); + private final TypeTransformerRegistry typeTransformerRegistry = new TypeTransformerRegistryImpl(mock()); private PagingCatalogFetcher fetcher; @BeforeEach diff --git a/core/common/lib/core-lib/src/test/java/org/eclipse/edc/api/management/schema/ManagementApiSchemaTest.java b/core/common/lib/core-lib/src/test/java/org/eclipse/edc/api/management/schema/ManagementApiSchemaTest.java index 9cc3c1a6d0b..7607d16aa35 100644 --- a/core/common/lib/core-lib/src/test/java/org/eclipse/edc/api/management/schema/ManagementApiSchemaTest.java +++ b/core/common/lib/core-lib/src/test/java/org/eclipse/edc/api/management/schema/ManagementApiSchemaTest.java @@ -58,7 +58,7 @@ class ManagementApiSchemaTest { private final ObjectMapper objectMapper = JacksonJsonLd.createObjectMapper(); private final TypeManager typeManager = mock(); - private final TypeTransformerRegistry transformer = new TypeTransformerRegistryImpl(); + private final TypeTransformerRegistry transformer = new TypeTransformerRegistryImpl(mock()); @BeforeEach void setUp() { diff --git a/core/common/lib/core-lib/src/test/java/org/eclipse/edc/api/model/ApiCoreSchemaTest.java b/core/common/lib/core-lib/src/test/java/org/eclipse/edc/api/model/ApiCoreSchemaTest.java index 548be9bcfa1..f1ca91af605 100644 --- a/core/common/lib/core-lib/src/test/java/org/eclipse/edc/api/model/ApiCoreSchemaTest.java +++ b/core/common/lib/core-lib/src/test/java/org/eclipse/edc/api/model/ApiCoreSchemaTest.java @@ -52,7 +52,7 @@ class ApiCoreSchemaTest { private final ObjectMapper objectMapper = JacksonJsonLd.createObjectMapper(); private final TypeManager typeManager = mock(); - private final TypeTransformerRegistry transformer = new TypeTransformerRegistryImpl(); + private final TypeTransformerRegistry transformer = new TypeTransformerRegistryImpl(mock()); private final CriterionOperatorRegistry criterionOperatorRegistry = CriterionOperatorRegistryImpl.ofDefaults(); @BeforeEach diff --git a/core/common/lib/jsonld-lib/src/main/java/org/eclipse/edc/transform/TypeTransformerRegistryImpl.java b/core/common/lib/jsonld-lib/src/main/java/org/eclipse/edc/transform/TypeTransformerRegistryImpl.java index fc46f53b633..9a10955a8aa 100644 --- a/core/common/lib/jsonld-lib/src/main/java/org/eclipse/edc/transform/TypeTransformerRegistryImpl.java +++ b/core/common/lib/jsonld-lib/src/main/java/org/eclipse/edc/transform/TypeTransformerRegistryImpl.java @@ -15,36 +15,43 @@ package org.eclipse.edc.transform; import org.eclipse.edc.spi.EdcException; +import org.eclipse.edc.spi.monitor.Monitor; import org.eclipse.edc.spi.result.Result; import org.eclipse.edc.transform.spi.TypeTransformer; import org.eclipse.edc.transform.spi.TypeTransformerRegistry; import org.jetbrains.annotations.NotNull; -import java.util.ArrayList; import java.util.HashMap; -import java.util.List; import java.util.Map; import java.util.Objects; import java.util.Optional; +import java.util.function.BinaryOperator; import static java.lang.String.format; public class TypeTransformerRegistryImpl implements TypeTransformerRegistry { - private final Map> aliases = new HashMap<>(); - private final List> transformers = new ArrayList<>(); + + private final Map, Map, TypeTransformer>> transformers = new HashMap<>(); private final Map contextRegistries = new HashMap<>(); + private final Monitor monitor; private TypeTransformerRegistry parent; - public TypeTransformerRegistryImpl() { + public TypeTransformerRegistryImpl(Monitor monitor) { + this.monitor = monitor; } - private TypeTransformerRegistryImpl(TypeTransformerRegistry parent) { + private TypeTransformerRegistryImpl(TypeTransformerRegistryImpl parent) { this.parent = parent; + this.monitor = parent.monitor; } @Override public void register(TypeTransformer transformer) { - this.transformers.add(transformer); + var overriddenTransformer = transformers.computeIfAbsent(transformer.getInputType(), key -> new HashMap<>()) + .put(transformer.getOutputType(), transformer); + if (overriddenTransformer != null) { + monitor.warning(format("Overriding transformer registered for %s -> %s", transformer.getInputType(), transformer.getOutputType())); + } } @Override @@ -52,16 +59,34 @@ public void register(TypeTransformer transformer) { return contextRegistries.computeIfAbsent(context, k -> new TypeTransformerRegistryImpl(this)); } + @SuppressWarnings("unchecked") @Override public @NotNull TypeTransformer transformerFor(@NotNull INPUT input, @NotNull Class outputType) { - return transformers.stream() - .filter(t -> t.getInputType().isInstance(input) && t.getOutputType().equals(outputType)) - .findAny() - .map(it -> (TypeTransformer) it) + return transformers.entrySet().stream() + .filter(entry -> entry.getKey().isInstance(input)) + .filter(entry -> entry.getValue().containsKey(outputType)) + .>map(Map.Entry::getKey) + .reduce(selectMostSpecificType(input.getClass(), outputType)) + .map(transformers::get) + .map(it -> (TypeTransformer) it.get(outputType)) .or(() -> Optional.ofNullable(parent).map(p -> p.transformerFor(input, outputType))) .orElseThrow(() -> new EdcException(format("No Transformer registered that can handle %s -> %s", input.getClass(), outputType))); } + private BinaryOperator> selectMostSpecificType(Class inputType, Class outputType) { + return (current, candidate) -> { + if (candidate.isAssignableFrom(current)) { + return current; + } + + if (current.isAssignableFrom(candidate)) { + return candidate; + } + + throw new EdcException(format("Ambiguous transformers registered for %s -> %s", inputType, outputType)); + }; + } + @Override public Result transform(@NotNull INPUT input, @NotNull Class outputType) { Objects.requireNonNull(input); diff --git a/core/common/lib/jsonld-lib/src/test/java/org/eclipse/edc/transform/TestTypeTransformer.java b/core/common/lib/jsonld-lib/src/test/java/org/eclipse/edc/transform/TestTypeTransformer.java new file mode 100644 index 00000000000..712b9b87662 --- /dev/null +++ b/core/common/lib/jsonld-lib/src/test/java/org/eclipse/edc/transform/TestTypeTransformer.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2026 Amadeus + * + * 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: + * Amadeus - Initial API and Implementation + * + */ + +package org.eclipse.edc.transform; + +import org.eclipse.edc.transform.spi.TransformerContext; +import org.eclipse.edc.transform.spi.TypeTransformer; + +public class TestTypeTransformer implements TypeTransformer { + private final Class inputType; + private final Class outputType; + + public TestTypeTransformer(Class inputType, Class outputType) { + this.inputType = inputType; + this.outputType = outputType; + } + + @Override + public Class getInputType() { + return inputType; + } + + @Override + public Class getOutputType() { + return outputType; + } + + @Override + public OUTPUT transform(INPUT input, TransformerContext context) { + return null; + } +} diff --git a/core/common/lib/jsonld-lib/src/test/java/org/eclipse/edc/transform/TypeTransformerRegistryImplTest.java b/core/common/lib/jsonld-lib/src/test/java/org/eclipse/edc/transform/TypeTransformerRegistryImplTest.java index 182ccf60925..71e6f6efc35 100644 --- a/core/common/lib/jsonld-lib/src/test/java/org/eclipse/edc/transform/TypeTransformerRegistryImplTest.java +++ b/core/common/lib/jsonld-lib/src/test/java/org/eclipse/edc/transform/TypeTransformerRegistryImplTest.java @@ -15,6 +15,7 @@ package org.eclipse.edc.transform; import org.eclipse.edc.spi.EdcException; +import org.eclipse.edc.spi.monitor.Monitor; import org.eclipse.edc.transform.spi.TypeTransformer; import org.eclipse.edc.transform.spi.TypeTransformerRegistry; import org.junit.jupiter.api.BeforeEach; @@ -24,12 +25,16 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.assertj.core.api.AssertionsForClassTypes.assertThatThrownBy; import static org.eclipse.edc.junit.assertions.AbstractResultAssert.assertThat; +import static org.mockito.ArgumentMatchers.contains; +import static org.mockito.Mockito.clearInvocations; import static org.mockito.Mockito.mock; +import static org.mockito.Mockito.verify; import static org.mockito.Mockito.verifyNoInteractions; public class TypeTransformerRegistryImplTest { - private final TypeTransformerRegistry registry = new TypeTransformerRegistryImpl(); + private final Monitor monitor = mock(); + private final TypeTransformerRegistry registry = new TypeTransformerRegistryImpl(monitor); @BeforeEach void setUp() { @@ -46,6 +51,35 @@ void shouldReturnTheCorrectTransformer() { assertThat(transformer).isInstanceOf(StringIntegerTypeTransformer.class); } + @Test + void shouldReplaceTransformerForTheSameInputAndOutputTypes() { + var replacement = new TestTypeTransformer<>(String.class, Integer.class); + registry.register(replacement); + + assertThat(registry.transformerFor("a string", Integer.class)).isSameAs(replacement); + verify(monitor).warning(contains("Overriding transformer registered")); + } + + @Test + void shouldReturnMostSpecificCompatibleTransformer() { + var objectTransformer = new TestTypeTransformer<>(Object.class, Long.class); + var charSequenceTransformer = new TestTypeTransformer<>(CharSequence.class, Long.class); + registry.register(objectTransformer); + registry.register(charSequenceTransformer); + + assertThat(registry.transformerFor("a string", Long.class)).isSameAs(charSequenceTransformer); + } + + @Test + void shouldThrowExceptionWhenCompatibleTransformersAreAmbiguous() { + registry.register(new TestTypeTransformer<>(CharSequence.class, Long.class)); + registry.register(new TestTypeTransformer<>(Comparable.class, Long.class)); + + assertThatThrownBy(() -> registry.transformerFor("a string", Long.class)) + .isInstanceOf(EdcException.class) + .hasMessageContaining("Ambiguous transformers"); + } + @Test void shouldThrowExceptionWhenTransformerDoesNotExist() { var notString = 4L; @@ -96,6 +130,7 @@ void shouldTransformUsingNestedContext() { TypeTransformer typeTransformer = mock(); contextRegistry.register(typeTransformer); registry.register(typeTransformer); + clearInvocations((Object) typeTransformer); assertThat(nestedContextRegistry.transform(5, String.class)) .isSucceeded().isEqualTo("5"); @@ -103,6 +138,15 @@ void shouldTransformUsingNestedContext() { verifyNoInteractions(typeTransformer); } + @Test + void shouldOverrideParentTransformer() { + var replacement = new TestTypeTransformer<>(String.class, Integer.class); + contextRegistry.register(replacement); + + assertThat(contextRegistry.transformerFor("a string", Integer.class)).isSameAs(replacement); + assertThat(registry.transformerFor("a string", Integer.class)).isInstanceOf(StringIntegerTypeTransformer.class); + } + } @Nested diff --git a/core/common/runtime-core/src/main/java/org/eclipse/edc/runtime/core/RuntimeCoreServicesExtension.java b/core/common/runtime-core/src/main/java/org/eclipse/edc/runtime/core/RuntimeCoreServicesExtension.java index 92dfdc1eeaa..2ca4b8ce2ed 100644 --- a/core/common/runtime-core/src/main/java/org/eclipse/edc/runtime/core/RuntimeCoreServicesExtension.java +++ b/core/common/runtime-core/src/main/java/org/eclipse/edc/runtime/core/RuntimeCoreServicesExtension.java @@ -96,8 +96,8 @@ public EventRouter eventRouter(ServiceExtensionContext context) { } @Provider - public TypeTransformerRegistry typeTransformerRegistry() { - return new TypeTransformerRegistryImpl(); + public TypeTransformerRegistry typeTransformerRegistry(ServiceExtensionContext context) { + return new TypeTransformerRegistryImpl(context.getMonitor()); } @Provider diff --git a/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/participantcontext/to/JsonObjectToParticipantContextTransformerTest.java b/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/participantcontext/to/JsonObjectToParticipantContextTransformerTest.java index e38d2d99ef0..0d4fb47a026 100644 --- a/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/participantcontext/to/JsonObjectToParticipantContextTransformerTest.java +++ b/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/participantcontext/to/JsonObjectToParticipantContextTransformerTest.java @@ -43,7 +43,7 @@ class JsonObjectToParticipantContextTransformerTest { @BeforeEach void setUp() { var transformer = new JsonObjectToParticipantContextTransformer(); - typeTransformerRegistry = new TypeTransformerRegistryImpl(); + typeTransformerRegistry = new TypeTransformerRegistryImpl(mock()); typeTransformerRegistry.register(new JsonValueToGenericTypeTransformer(typeManager, "test")); typeTransformerRegistry.register(transformer); typeTransformerRegistry.register(new JsonObjectToDataAddressTransformer()); diff --git a/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/to/JsonObjectToAssetTransformerTest.java b/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/to/JsonObjectToAssetTransformerTest.java index a93a0773a64..d5ffeee8a3f 100644 --- a/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/to/JsonObjectToAssetTransformerTest.java +++ b/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/to/JsonObjectToAssetTransformerTest.java @@ -68,7 +68,7 @@ class JsonObjectToAssetTransformerTest { @BeforeEach void setUp() { var transformer = new JsonObjectToAssetTransformer(); - typeTransformerRegistry = new TypeTransformerRegistryImpl(); + typeTransformerRegistry = new TypeTransformerRegistryImpl(mock()); typeTransformerRegistry.register(new JsonValueToGenericTypeTransformer(typeManager, "test")); typeTransformerRegistry.register(transformer); typeTransformerRegistry.register(new JsonObjectToDataAddressTransformer()); diff --git a/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/to/JsonObjectToDataplaneMetadataTransformerTest.java b/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/to/JsonObjectToDataplaneMetadataTransformerTest.java index acc17c6dc7a..aa4e2f60bbe 100644 --- a/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/to/JsonObjectToDataplaneMetadataTransformerTest.java +++ b/core/control-plane/control-plane-transform/src/test/java/org/eclipse/edc/connector/controlplane/transform/edc/to/JsonObjectToDataplaneMetadataTransformerTest.java @@ -61,7 +61,7 @@ class JsonObjectToDataplaneMetadataTransformerTest { @BeforeEach void setUp() { var transformer = new JsonObjectToDataplaneMetadataTransformer(); - typeTransformerRegistry = new TypeTransformerRegistryImpl(); + typeTransformerRegistry = new TypeTransformerRegistryImpl(mock()); typeTransformerRegistry.register(new JsonValueToGenericTypeTransformer(typeManager, "test")); typeTransformerRegistry.register(transformer); diff --git a/data-protocols/dsp/dsp-lib/src/test/java/org/eclipse/edc/protocol/dsp/catalog/http/api/decorator/Base64ContinuationTokenSerDesTest.java b/data-protocols/dsp/dsp-lib/src/test/java/org/eclipse/edc/protocol/dsp/catalog/http/api/decorator/Base64ContinuationTokenSerDesTest.java index c08af6a54cc..6ab060fadd2 100644 --- a/data-protocols/dsp/dsp-lib/src/test/java/org/eclipse/edc/protocol/dsp/catalog/http/api/decorator/Base64ContinuationTokenSerDesTest.java +++ b/data-protocols/dsp/dsp-lib/src/test/java/org/eclipse/edc/protocol/dsp/catalog/http/api/decorator/Base64ContinuationTokenSerDesTest.java @@ -50,7 +50,7 @@ class Base64ContinuationTokenSerDesTest { private final TypeManager typeManager = mock(); - private final TypeTransformerRegistryImpl typeTransformerRegistry = new TypeTransformerRegistryImpl(); + private final TypeTransformerRegistryImpl typeTransformerRegistry = new TypeTransformerRegistryImpl(mock()); private final ObjectMapper objectMapper = JacksonJsonLd.createObjectMapper(); private final Base64continuationTokenSerDes serDes = new Base64continuationTokenSerDes(typeTransformerRegistry, new TitaniumJsonLd(mock())); diff --git a/extensions/common/api/document-cache-api/src/test/java/org/eclipse/edc/document/cache/api/v5/transform/JsonObjectToCachedDocumentTransformerTest.java b/extensions/common/api/document-cache-api/src/test/java/org/eclipse/edc/document/cache/api/v5/transform/JsonObjectToCachedDocumentTransformerTest.java index 8e5efd79b01..8b4662b435e 100644 --- a/extensions/common/api/document-cache-api/src/test/java/org/eclipse/edc/document/cache/api/v5/transform/JsonObjectToCachedDocumentTransformerTest.java +++ b/extensions/common/api/document-cache-api/src/test/java/org/eclipse/edc/document/cache/api/v5/transform/JsonObjectToCachedDocumentTransformerTest.java @@ -33,6 +33,7 @@ import static org.eclipse.edc.jsonld.spi.JsonLdKeywords.TYPE; import static org.eclipse.edc.junit.assertions.AbstractResultAssert.assertThat; import static org.eclipse.edc.spi.constants.CoreConstants.EDC_CONNECTOR_MANAGEMENT_CONTEXT_V2; +import static org.mockito.Mockito.mock; class JsonObjectToCachedDocumentTransformerTest { @@ -41,7 +42,7 @@ class JsonObjectToCachedDocumentTransformerTest { @BeforeEach void setUp() { - registry = new TypeTransformerRegistryImpl(); + registry = new TypeTransformerRegistryImpl(mock()); registry.register(new JsonObjectToCachedDocumentTransformer()); } diff --git a/extensions/common/api/schema-validation-api/src/test/java/org/eclipse/edc/validator/registration/api/v5/transform/JsonObjectFromSchemaValidatorRegistrationTransformerTest.java b/extensions/common/api/schema-validation-api/src/test/java/org/eclipse/edc/validator/registration/api/v5/transform/JsonObjectFromSchemaValidatorRegistrationTransformerTest.java index 93d868197e2..ac22bb9431b 100644 --- a/extensions/common/api/schema-validation-api/src/test/java/org/eclipse/edc/validator/registration/api/v5/transform/JsonObjectFromSchemaValidatorRegistrationTransformerTest.java +++ b/extensions/common/api/schema-validation-api/src/test/java/org/eclipse/edc/validator/registration/api/v5/transform/JsonObjectFromSchemaValidatorRegistrationTransformerTest.java @@ -28,6 +28,7 @@ import static org.assertj.core.api.Assertions.assertThat; import static org.eclipse.edc.junit.assertions.AbstractResultAssert.assertThat; +import static org.mockito.Mockito.mock; class JsonObjectFromSchemaValidatorRegistrationTransformerTest { @@ -36,7 +37,7 @@ class JsonObjectFromSchemaValidatorRegistrationTransformerTest { @BeforeEach void setUp() { - registry = new TypeTransformerRegistryImpl(); + registry = new TypeTransformerRegistryImpl(mock()); registry.register(new JsonObjectFromSchemaValidatorRegistrationTransformer(jsonFactory)); registry.register(new JsonObjectToSchemaValidatorRegistrationTransformer()); } diff --git a/extensions/common/api/schema-validation-api/src/test/java/org/eclipse/edc/validator/registration/api/v5/transform/JsonObjectToSchemaValidatorRegistrationTransformerTest.java b/extensions/common/api/schema-validation-api/src/test/java/org/eclipse/edc/validator/registration/api/v5/transform/JsonObjectToSchemaValidatorRegistrationTransformerTest.java index dd098e708bb..84763fd63b0 100644 --- a/extensions/common/api/schema-validation-api/src/test/java/org/eclipse/edc/validator/registration/api/v5/transform/JsonObjectToSchemaValidatorRegistrationTransformerTest.java +++ b/extensions/common/api/schema-validation-api/src/test/java/org/eclipse/edc/validator/registration/api/v5/transform/JsonObjectToSchemaValidatorRegistrationTransformerTest.java @@ -32,6 +32,7 @@ import static org.eclipse.edc.junit.assertions.AbstractResultAssert.assertThat; import static org.eclipse.edc.spi.constants.CoreConstants.EDC_CONNECTOR_MANAGEMENT_CONTEXT_V2; import static org.eclipse.edc.validator.registration.spi.SchemaValidatorRegistration.SCHEMA_VALIDATOR_REGISTRATION_TYPE_TERM; +import static org.mockito.Mockito.mock; class JsonObjectToSchemaValidatorRegistrationTransformerTest { @@ -40,7 +41,7 @@ class JsonObjectToSchemaValidatorRegistrationTransformerTest { @BeforeEach void setUp() { - registry = new TypeTransformerRegistryImpl(); + registry = new TypeTransformerRegistryImpl(mock()); registry.register(new JsonObjectToSchemaValidatorRegistrationTransformer()); } diff --git a/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/serde/PresentationResponseMessageSerdeTest.java b/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/serde/PresentationResponseMessageSerdeTest.java index d587159e166..be0f6e0805d 100644 --- a/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/serde/PresentationResponseMessageSerdeTest.java +++ b/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/serde/PresentationResponseMessageSerdeTest.java @@ -39,7 +39,7 @@ public class PresentationResponseMessageSerdeTest { private final ObjectMapper mapper = JacksonJsonLd.createObjectMapper(); private final TypeManager typeManager = mock(); - private final TypeTransformerRegistry trr = new TypeTransformerRegistryImpl(); + private final TypeTransformerRegistry trr = new TypeTransformerRegistryImpl(mock()); private final TransformerContext context = new TransformerContextImpl(trr); diff --git a/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToPresentationQueryMessageTransformerTest.java b/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToPresentationQueryMessageTransformerTest.java index 42fc21a90bb..6fca9c00a7f 100644 --- a/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToPresentationQueryMessageTransformerTest.java +++ b/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToPresentationQueryMessageTransformerTest.java @@ -36,7 +36,7 @@ class JsonObjectToPresentationQueryMessageTransformerTest { private final ObjectMapper mapper = JacksonJsonLd.createObjectMapper(); private final TypeManager typeManager = mock(); - private final TypeTransformerRegistry trr = new TypeTransformerRegistryImpl(); + private final TypeTransformerRegistry trr = new TypeTransformerRegistryImpl(mock()); private final TransformerContext context = new TransformerContextImpl(trr); diff --git a/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToPresentationResponseMessageTransformerTest.java b/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToPresentationResponseMessageTransformerTest.java index bb512f466e0..9770a2f65ab 100644 --- a/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToPresentationResponseMessageTransformerTest.java +++ b/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToPresentationResponseMessageTransformerTest.java @@ -38,7 +38,7 @@ class JsonObjectToPresentationResponseMessageTransformerTest { private final ObjectMapper mapper = JacksonJsonLd.createObjectMapper(); private final TypeManager typeManager = mock(); - private final TypeTransformerRegistry trr = new TypeTransformerRegistryImpl(); + private final TypeTransformerRegistry trr = new TypeTransformerRegistryImpl(mock()); private final TransformerContext context = new TransformerContextImpl(trr); @BeforeEach diff --git a/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToVerifiableCredentialTransformerTest.java b/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToVerifiableCredentialTransformerTest.java index 6cd194643cb..35ed9a04821 100644 --- a/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToVerifiableCredentialTransformerTest.java +++ b/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToVerifiableCredentialTransformerTest.java @@ -53,7 +53,7 @@ class JsonObjectToVerifiableCredentialTransformerTest { @BeforeEach void setUp() { transformer = new JsonObjectToVerifiableCredentialTransformer(); - var registry = new TypeTransformerRegistryImpl(); + var registry = new TypeTransformerRegistryImpl(mock()); registry.register(new JsonObjectToCredentialSubjectTransformer()); registry.register(new JsonObjectToCredentialStatusTransformer()); registry.register(new JsonValueToGenericTypeTransformer(typeManager, "test")); diff --git a/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToVerifiablePresentationTransformerTest.java b/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToVerifiablePresentationTransformerTest.java index 366d10e44b6..aa5f6c9ec2d 100644 --- a/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToVerifiablePresentationTransformerTest.java +++ b/extensions/common/iam/decentralized-claims/decentralized-claims-transform/src/test/java/org/eclipse/edc/iam/decentralizedclaims/transform/to/JsonObjectToVerifiablePresentationTransformerTest.java @@ -50,7 +50,7 @@ class JsonObjectToVerifiablePresentationTransformerTest { @BeforeEach void setup() { transformer = new JsonObjectToVerifiablePresentationTransformer(); - var registry = new TypeTransformerRegistryImpl(); + var registry = new TypeTransformerRegistryImpl(mock()); registry.register(new JsonObjectToCredentialSubjectTransformer()); registry.register(new JsonObjectToCredentialStatusTransformer()); registry.register(new JsonObjectToVerifiableCredentialTransformer()); diff --git a/extensions/control-plane/api/management-api/data-plane-selector-api/src/test/java/org/eclipse/edc/connector/dataplane/selector/api/v4/DataPlaneApiSelectorV4Test.java b/extensions/control-plane/api/management-api/data-plane-selector-api/src/test/java/org/eclipse/edc/connector/dataplane/selector/api/v4/DataPlaneApiSelectorV4Test.java index d2dc09c7e4b..f5d3abdd9c8 100644 --- a/extensions/control-plane/api/management-api/data-plane-selector-api/src/test/java/org/eclipse/edc/connector/dataplane/selector/api/v4/DataPlaneApiSelectorV4Test.java +++ b/extensions/control-plane/api/management-api/data-plane-selector-api/src/test/java/org/eclipse/edc/connector/dataplane/selector/api/v4/DataPlaneApiSelectorV4Test.java @@ -38,7 +38,7 @@ public class DataPlaneApiSelectorV4Test { private final TypeManager typeManager = mock(); private final ObjectMapper objectMapper = JacksonJsonLd.createObjectMapper(); - private final TypeTransformerRegistry transformer = new TypeTransformerRegistryImpl(); + private final TypeTransformerRegistry transformer = new TypeTransformerRegistryImpl(mock()); @BeforeEach void setUp() { diff --git a/extensions/federated-catalog/api/federated-catalog-api/src/test/java/org/eclipse/edc/catalog/api/query/FederatedCatalogApiControllerTest.java b/extensions/federated-catalog/api/federated-catalog-api/src/test/java/org/eclipse/edc/catalog/api/query/FederatedCatalogApiControllerTest.java index e2016ddcab9..46bf0f1f105 100644 --- a/extensions/federated-catalog/api/federated-catalog-api/src/test/java/org/eclipse/edc/catalog/api/query/FederatedCatalogApiControllerTest.java +++ b/extensions/federated-catalog/api/federated-catalog-api/src/test/java/org/eclipse/edc/catalog/api/query/FederatedCatalogApiControllerTest.java @@ -150,7 +150,7 @@ void queryApi_shouldUseEmptyQuerySpec_whenRequestBodyIsNull() { @Override protected Object controller() { - var typeTransformerRegistry = new TypeTransformerRegistryImpl(); + var typeTransformerRegistry = new TypeTransformerRegistryImpl(mock()); var factory = Json.createBuilderFactory(Map.of()); var mapper = new JacksonTypeManager(); var participantIdMapper = new TestUtil.NoOpParticipantIdMapper(); diff --git a/system-tests/e2e-federatedcatalog-tests/end2end-test/e2e-junit-runner/src/test/java/org/eclipse/edc/end2end/FederatedCatalogTest.java b/system-tests/e2e-federatedcatalog-tests/end2end-test/e2e-junit-runner/src/test/java/org/eclipse/edc/end2end/FederatedCatalogTest.java index 1f69efb28f9..b8134601eae 100644 --- a/system-tests/e2e-federatedcatalog-tests/end2end-test/e2e-junit-runner/src/test/java/org/eclipse/edc/end2end/FederatedCatalogTest.java +++ b/system-tests/e2e-federatedcatalog-tests/end2end-test/e2e-junit-runner/src/test/java/org/eclipse/edc/end2end/FederatedCatalogTest.java @@ -75,6 +75,7 @@ import static org.eclipse.edc.spi.constants.CoreConstants.JSON_LD; import static org.eclipse.edc.spi.query.QuerySpec.EDC_QUERY_SPEC_TYPE_TERM; import static org.eclipse.edc.util.io.Ports.getFreePort; +import static org.mockito.Mockito.mock; @EndToEndTest class FederatedCatalogTest { @@ -128,7 +129,7 @@ class FederatedCatalogTest { ))) ); - private final TypeTransformerRegistry typeTransformerRegistry = new TypeTransformerRegistryImpl(); + private final TypeTransformerRegistry typeTransformerRegistry = new TypeTransformerRegistryImpl(mock()); private final TypeManager mapper = new JacksonTypeManager(); private final CatalogApiClient apiClient = new CatalogApiClient(CATALOG_MANAGEMENT, CONNECTOR_MANAGEMENT, JacksonJsonLd.createObjectMapper(), () -> catalog.getService(JsonLd.class), typeTransformerRegistry);