Skip to content

Commit 9bc241b

Browse files
authored
Merge pull request #232 from GenomicDataInfrastructure/extend-search-datar-esults
Extend search datar esults
2 parents b7ed7a2 + 23c9cad commit 9bc241b

File tree

4 files changed

+28
-19
lines changed

4 files changed

+28
-19
lines changed

src/main/java/io/github/genomicdatainfrastructure/discovery/datasets/infrastructure/ckan/mapper/CkanDatasetsMapper.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,8 @@ public interface CkanDatasetsMapper {
5252
@Mapping(target = "frequency", source = "frequency")
5353
@Mapping(target = "inSeries", source = "inSeries")
5454
@Mapping(target = "isReferencedBy", source = "isReferencedBy")
55-
@Mapping(target = "temporalCoverage", source = "temporalCoverage")
55+
@Mapping(target = "temporalCoverage.start", source = "temporalStart")
56+
@Mapping(target = "temporalCoverage.end", source = "temporalEnd")
5657
@Mapping(target = "retentionPeriod", source = "retentionPeriod")
5758
@Mapping(target = "spatialCoverage", source = "spatialCoverage")
5859
@Mapping(target = "accessRights", source = "accessRights")
@@ -150,6 +151,10 @@ default List<SearchedDataset> map(PackagesSearchResult result) {
150151
@Mapping(target = "keywords", source = "tags")
151152
@Mapping(target = "modifiedAt", source = "modified")
152153
@Mapping(target = "createdAt", source = "issued")
154+
@Mapping(target = "accessRights", source = "accessRights")
155+
@Mapping(target = "numberOfUniqueIndividuals", source = "numberOfUniqueIndividuals")
156+
@Mapping(target = "temporalCoverage.start", source = "temporalStart")
157+
@Mapping(target = "temporalCoverage.end", source = "temporalEnd")
153158
@Mapping(target = "distributionsCount", expression = "java(ckanPackage.getResources()!= null ? ckanPackage.getResources().size():0)")
154159
@Mapping(target = "catalogue", ignore = true)
155160
@Mapping(target = "recordsCount", ignore = true)

src/main/openapi/ckan.yaml

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -279,10 +279,6 @@ components:
279279
type: number
280280
format: float
281281
description: Minimum spatial separation resolvable in a dataset, measured in meters.
282-
temporal_coverage:
283-
type: array
284-
items:
285-
$ref: "#/components/schemas/CkanTimeWindow"
286282
temporal_resolution:
287283
type: string
288284
population_coverage:

src/main/openapi/discovery.yaml

Lines changed: 8 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -345,6 +345,13 @@ components:
345345
type: string
346346
format: date-time
347347
title: Metadata for dataset created at
348+
accessRights:
349+
$ref: "#/components/schemas/ValueLabel"
350+
numberOfUniqueIndividuals:
351+
type: integer
352+
minimum: 0
353+
temporalCoverage:
354+
$ref: "#/components/schemas/TimeWindow"
348355
recordsCount:
349356
type: integer
350357
title: Records count
@@ -479,9 +486,7 @@ components:
479486
format: float
480487
description: Minimum spatial separation resolvable in a dataset, measured in meters.
481488
temporalCoverage:
482-
type: array
483-
items:
484-
$ref: "#/components/schemas/TimeWindow"
489+
$ref: "#/components/schemas/TimeWindow"
485490
temporalResolution:
486491
type: string
487492
populationCoverage:

src/test/java/io/github/genomicdatainfrastructure/discovery/datasets/infrastructure/ckan/mapper/CkanDatasetsMapperTest.java

Lines changed: 14 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -50,10 +50,10 @@ void given_ckanPackage_with_empty_collections_should_be_mapped_to_empty_Lists()
5050
.qualifiedRelation(List.of())
5151
.retentionPeriod(List.of())
5252
.spatialCoverage(List.of())
53-
.temporalCoverage(List.of())
5453
.provenanceActivity(List.of())
5554
.qualifiedAttribution(List.of())
5655
.qualityAnnotation(List.of())
56+
.temporalCoverage(TimeWindow.builder().build())
5757
.build();
5858

5959
assertThat(actual)
@@ -253,11 +253,11 @@ void given_ckanPackage_should_be_mapped_to_expected_values() {
253253
.centroid("5.095,52.120")
254254
.build()))
255255
.spatialResolutionInMeters(10.0f)
256-
.temporalCoverage(List.of(
256+
.temporalCoverage(
257257
TimeWindow.builder()
258-
.start(parse("2024-07-01T22:00:00+00:00"))
259-
.end(parse("2024-07-02T22:00:00+00:00"))
260-
.build()))
258+
.start(parse("2024-07-12T22:00:00+00:00"))
259+
.end(parse("2024-07-13T22:00:00+00:00"))
260+
.build())
261261
.temporalResolution("P1D")
262262
.provenanceActivity(List.of())
263263
.qualifiedAttribution(List.of())
@@ -399,12 +399,6 @@ private static CkanPackage buildCkanPackage() {
399399
))
400400
.temporalStart("2024-07-12T22:00:00+00:00")
401401
.temporalEnd("2024-07-13T22:00:00+00:00")
402-
.temporalCoverage(List.of(
403-
CkanTimeWindow.builder()
404-
.start("2024-07-01T22:00:00+00:00")
405-
.end("2024-07-02T22:00:00+00:00")
406-
.build()
407-
))
408402
.temporalResolution("P1D")
409403
.alternateIdentifier(List.of("internalURI:admsIdentifier0"))
410404
.spatialCoverage(List.of(
@@ -478,6 +472,15 @@ private static SearchedDataset buildSearchedDataset() {
478472
.modifiedAt(OffsetDateTime.parse("2024-07-02T22:00Z"))
479473
.createdAt(OffsetDateTime.parse("2024-07-01T22:00Z"))
480474
.distributionsCount(1)
475+
.numberOfUniqueIndividuals(123456789)
476+
.accessRights(ValueLabel.builder()
477+
.value("public")
478+
.label("accessRights")
479+
.build())
480+
.temporalCoverage(TimeWindow.builder()
481+
.start(parse("2024-07-12T22:00Z"))
482+
.end(parse("2024-07-13T22:00Z"))
483+
.build())
481484
.build();
482485
}
483486
}

0 commit comments

Comments
 (0)