From 031fc3f1b87095dc10fbed36478dff863e4a6dff Mon Sep 17 00:00:00 2001 From: Enrico Risa Date: Wed, 2 Oct 2024 15:28:47 +0200 Subject: [PATCH] fix: adds dcat:endpointURL and deprecate dcat:endpointUrl in DataService transformer --- .../transform/from/JsonObjectFromDataServiceTransformer.java | 2 ++ .../from/JsonObjectFromDataServiceTransformerTest.java | 2 ++ .../java/org/eclipse/edc/jsonld/spi/PropertyAndTypeNames.java | 4 +++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/data-protocols/dsp/dsp-catalog/dsp-catalog-transform/src/main/java/org/eclipse/edc/protocol/dsp/catalog/transform/from/JsonObjectFromDataServiceTransformer.java b/data-protocols/dsp/dsp-catalog/dsp-catalog-transform/src/main/java/org/eclipse/edc/protocol/dsp/catalog/transform/from/JsonObjectFromDataServiceTransformer.java index 11d8375fee..6f6a041bd6 100644 --- a/data-protocols/dsp/dsp-catalog/dsp-catalog-transform/src/main/java/org/eclipse/edc/protocol/dsp/catalog/transform/from/JsonObjectFromDataServiceTransformer.java +++ b/data-protocols/dsp/dsp-catalog/dsp-catalog-transform/src/main/java/org/eclipse/edc/protocol/dsp/catalog/transform/from/JsonObjectFromDataServiceTransformer.java @@ -27,6 +27,7 @@ import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.DCAT_DATA_SERVICE_TYPE; import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.DCAT_ENDPOINT_DESCRIPTION_ATTRIBUTE; import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.DCAT_ENDPOINT_URL_ATTRIBUTE; +import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.DCAT_ENDPOINT_URL_OLD_ATTRIBUTE; /** * Converts from a {@link DataService} to a DCAT data service as a {@link JsonObject} in JSON-LD expanded form. @@ -47,6 +48,7 @@ public JsonObjectFromDataServiceTransformer(JsonBuilderFactory jsonFactory) { .add(TYPE, DCAT_DATA_SERVICE_TYPE); addIfNotNull(dataService.getEndpointDescription(), DCAT_ENDPOINT_DESCRIPTION_ATTRIBUTE, objectBuilder); + addIfNotNull(dataService.getEndpointUrl(), DCAT_ENDPOINT_URL_OLD_ATTRIBUTE, objectBuilder); addIfNotNull(dataService.getEndpointUrl(), DCAT_ENDPOINT_URL_ATTRIBUTE, objectBuilder); return objectBuilder.build(); diff --git a/data-protocols/dsp/dsp-catalog/dsp-catalog-transform/src/test/java/org/eclipse/edc/protocol/dsp/catalog/transform/from/JsonObjectFromDataServiceTransformerTest.java b/data-protocols/dsp/dsp-catalog/dsp-catalog-transform/src/test/java/org/eclipse/edc/protocol/dsp/catalog/transform/from/JsonObjectFromDataServiceTransformerTest.java index 1d8f31d550..e586c42ca4 100644 --- a/data-protocols/dsp/dsp-catalog/dsp-catalog-transform/src/test/java/org/eclipse/edc/protocol/dsp/catalog/transform/from/JsonObjectFromDataServiceTransformerTest.java +++ b/data-protocols/dsp/dsp-catalog/dsp-catalog-transform/src/test/java/org/eclipse/edc/protocol/dsp/catalog/transform/from/JsonObjectFromDataServiceTransformerTest.java @@ -29,6 +29,7 @@ import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.DCAT_DATA_SERVICE_TYPE; import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.DCAT_ENDPOINT_DESCRIPTION_ATTRIBUTE; import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.DCAT_ENDPOINT_URL_ATTRIBUTE; +import static org.eclipse.edc.jsonld.spi.PropertyAndTypeNames.DCAT_ENDPOINT_URL_OLD_ATTRIBUTE; import static org.mockito.Mockito.mock; class JsonObjectFromDataServiceTransformerTest { @@ -57,6 +58,7 @@ void transform_returnJsonObject() { assertThat(result.getJsonString(ID).getString()).isEqualTo(dataService.getId()); assertThat(result.getJsonString(TYPE).getString()).isEqualTo(DCAT_DATA_SERVICE_TYPE); assertThat(result.getJsonString(DCAT_ENDPOINT_DESCRIPTION_ATTRIBUTE).getString()).isEqualTo("description"); + assertThat(result.getJsonString(DCAT_ENDPOINT_URL_OLD_ATTRIBUTE).getString()).isEqualTo("url"); assertThat(result.getJsonString(DCAT_ENDPOINT_URL_ATTRIBUTE).getString()).isEqualTo("url"); } diff --git a/spi/common/json-ld-spi/src/main/java/org/eclipse/edc/jsonld/spi/PropertyAndTypeNames.java b/spi/common/json-ld-spi/src/main/java/org/eclipse/edc/jsonld/spi/PropertyAndTypeNames.java index 8cffd380e5..9faccf4c85 100644 --- a/spi/common/json-ld-spi/src/main/java/org/eclipse/edc/jsonld/spi/PropertyAndTypeNames.java +++ b/spi/common/json-ld-spi/src/main/java/org/eclipse/edc/jsonld/spi/PropertyAndTypeNames.java @@ -33,7 +33,9 @@ public interface PropertyAndTypeNames { String DCAT_DATASET_ATTRIBUTE = DCAT_SCHEMA + "dataset"; String DCAT_DISTRIBUTION_ATTRIBUTE = DCAT_SCHEMA + "distribution"; String DCAT_ACCESS_SERVICE_ATTRIBUTE = DCAT_SCHEMA + "accessService"; - String DCAT_ENDPOINT_URL_ATTRIBUTE = DCAT_SCHEMA + "endpointUrl"; + @Deprecated(since = "0.10.0") + String DCAT_ENDPOINT_URL_OLD_ATTRIBUTE = DCAT_SCHEMA + "endpointUrl"; + String DCAT_ENDPOINT_URL_ATTRIBUTE = DCAT_SCHEMA + "endpointURL"; String DCAT_ENDPOINT_DESCRIPTION_ATTRIBUTE = DCAT_SCHEMA + "endpointDescription"; //EDC