Skip to content

Commit

Permalink
fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
paullatzelsperger committed Mar 10, 2024
1 parent ddfb1d2 commit 45aab0e
Show file tree
Hide file tree
Showing 4 changed files with 35 additions and 10 deletions.
2 changes: 2 additions & 0 deletions core/federated-catalog-core/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,8 @@ dependencies {

implementation(libs.edc.util)
implementation(libs.edc.core.connector)
implementation(libs.edc.core.transform)
implementation(libs.edc.dsp.api.configuration)
implementation(libs.edc.spi.jsonld)
implementation(libs.edc.jsonld)

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

package org.eclipse.edc.catalog.cache;

import jakarta.json.Json;
import org.eclipse.edc.catalog.cache.crawler.CrawlerActionRegistryImpl;
import org.eclipse.edc.catalog.cache.query.DspCatalogRequestAction;
import org.eclipse.edc.catalog.spi.Catalog;
Expand All @@ -24,6 +25,14 @@
import org.eclipse.edc.catalog.transform.JsonObjectToDataServiceTransformer;
import org.eclipse.edc.catalog.transform.JsonObjectToDatasetTransformer;
import org.eclipse.edc.catalog.transform.JsonObjectToDistributionTransformer;
import org.eclipse.edc.connector.core.base.agent.NoOpParticipantIdMapper;
import org.eclipse.edc.core.transform.transformer.dcat.from.JsonObjectFromCatalogTransformer;
import org.eclipse.edc.core.transform.transformer.dcat.from.JsonObjectFromDataServiceTransformer;
import org.eclipse.edc.core.transform.transformer.dcat.from.JsonObjectFromDatasetTransformer;
import org.eclipse.edc.core.transform.transformer.dcat.from.JsonObjectFromDistributionTransformer;
import org.eclipse.edc.core.transform.transformer.edc.to.JsonValueToGenericTypeTransformer;
import org.eclipse.edc.core.transform.transformer.odrl.from.JsonObjectFromPolicyTransformer;
import org.eclipse.edc.core.transform.transformer.odrl.to.JsonObjectToPolicyTransformer;
import org.eclipse.edc.crawler.spi.CrawlerActionRegistry;
import org.eclipse.edc.crawler.spi.TargetNodeDirectory;
import org.eclipse.edc.crawler.spi.TargetNodeFilter;
Expand All @@ -42,6 +51,8 @@
import org.eclipse.edc.spi.types.TypeManager;
import org.eclipse.edc.transform.spi.TypeTransformerRegistry;

import java.util.Map;

import static java.util.Optional.ofNullable;
import static org.eclipse.edc.catalog.spi.CacheSettings.DEFAULT_NUMBER_OF_CRAWLERS;
import static org.eclipse.edc.catalog.spi.CacheSettings.NUM_CRAWLER_SETTING;
Expand Down Expand Up @@ -113,7 +124,7 @@ public void initialize(ServiceExtensionContext context) {
.nodeFilterFunction(nodeFilter)
.build();

registerTransformers();
registerTransformers(context);
}

@Override
Expand All @@ -127,16 +138,28 @@ public CrawlerActionRegistry createNodeQueryAdapterRegistry(ServiceExtensionCont
nodeQueryAdapterRegistry = new CrawlerActionRegistryImpl();
// catalog queries via IDS multipart and DSP are supported by default
var mapper = typeManager.getMapper(JSON_LD);
nodeQueryAdapterRegistry.register(DATASPACE_PROTOCOL, new DspCatalogRequestAction(dispatcherRegistry, context.getMonitor(), mapper, registry, jsonLdService));
nodeQueryAdapterRegistry.register(DATASPACE_PROTOCOL, new DspCatalogRequestAction(dispatcherRegistry, context.getMonitor(), mapper, registry.forContext("dsp-api"), jsonLdService));
}
return nodeQueryAdapterRegistry;
}

private void registerTransformers() {
private void registerTransformers(ServiceExtensionContext context) {
transformerRegistry.register(new JsonObjectToCatalogTransformer());
transformerRegistry.register(new JsonObjectToDatasetTransformer());
transformerRegistry.register(new JsonObjectToDataServiceTransformer());
transformerRegistry.register(new JsonObjectToDistributionTransformer());

var jsonFactory = Json.createBuilderFactory(Map.of());
var mapper = context.getService(TypeManager.class).getMapper(JSON_LD);
var participantIdMapper = new NoOpParticipantIdMapper();
transformerRegistry.register(new JsonObjectFromCatalogTransformer(jsonFactory, mapper, participantIdMapper));
transformerRegistry.register(new JsonObjectFromDatasetTransformer(jsonFactory, mapper));
transformerRegistry.register(new JsonObjectFromDistributionTransformer(jsonFactory));
transformerRegistry.register(new JsonObjectFromDataServiceTransformer(jsonFactory));

transformerRegistry.register(new JsonObjectFromPolicyTransformer(jsonFactory, participantIdMapper));
transformerRegistry.register(new JsonObjectToPolicyTransformer(participantIdMapper));
transformerRegistry.register(new JsonValueToGenericTypeTransformer(mapper));
}

/**
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,6 +26,9 @@
import org.eclipse.edc.catalog.transform.JsonObjectToDistributionTransformer;
import org.eclipse.edc.connector.core.base.agent.NoOpParticipantIdMapper;
import org.eclipse.edc.core.transform.transformer.dcat.from.JsonObjectFromCatalogTransformer;
import org.eclipse.edc.core.transform.transformer.dcat.from.JsonObjectFromDataServiceTransformer;
import org.eclipse.edc.core.transform.transformer.dcat.from.JsonObjectFromDatasetTransformer;
import org.eclipse.edc.core.transform.transformer.dcat.from.JsonObjectFromDistributionTransformer;
import org.eclipse.edc.jsonld.util.JacksonJsonLd;
import org.eclipse.edc.junit.annotations.ApiTest;
import org.eclipse.edc.junit.extensions.EdcExtension;
Expand Down Expand Up @@ -111,11 +114,6 @@ private RequestSpecification baseRequest() {
.when();
}

// registers all the necessary transformers to avoid duplicating their behaviour in mocks
private void registerTransformers() {

}

public static class TransformerRegistrarExtension implements ServiceExtension {

@Override
Expand All @@ -124,6 +122,9 @@ public void initialize(ServiceExtensionContext context) {
var factory = Json.createBuilderFactory(Map.of());
var mapper = JacksonJsonLd.createObjectMapper();
typeTransformerRegistry.register(new JsonObjectToCatalogTransformer());
typeTransformerRegistry.register(new JsonObjectFromDatasetTransformer(factory, mapper));
typeTransformerRegistry.register(new JsonObjectFromDistributionTransformer(factory));
typeTransformerRegistry.register(new JsonObjectFromDataServiceTransformer(factory));
typeTransformerRegistry.register(new JsonObjectFromCatalogTransformer(factory, mapper, new NoOpParticipantIdMapper()));
typeTransformerRegistry.register(new JsonObjectToDatasetTransformer());
typeTransformerRegistry.register(new JsonObjectToDataServiceTransformer());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import jakarta.json.Json;
import jakarta.json.JsonBuilderFactory;
import org.eclipse.edc.catalog.directory.InMemoryNodeDirectory;
import org.eclipse.edc.catalog.spi.CatalogConstants;
import org.eclipse.edc.catalog.transform.JsonObjectToCatalogTransformer;
Expand Down Expand Up @@ -122,7 +121,7 @@ private static Map<String, String> configOf(String... keyValuePairs) {
void setUp() {
//needed for ZonedDateTime
mapper.registerModule(new JavaTimeModule());
JsonBuilderFactory factory = Json.createBuilderFactory(Map.of());
var factory = Json.createBuilderFactory(Map.of());
var participantIdMapper = new NoOpParticipantIdMapper();
typeTransformerRegistry.register(new JsonObjectFromCatalogTransformer(factory, mapper, participantIdMapper));
typeTransformerRegistry.register(new JsonObjectFromDatasetTransformer(factory, mapper));
Expand Down

0 comments on commit 45aab0e

Please sign in to comment.