From ceb66c3abcd0f34feec925adf1c8fc9d0336b807 Mon Sep 17 00:00:00 2001 From: Yuxuan HU Date: Thu, 29 Jan 2026 16:18:34 +1100 Subject: [PATCH] add scope in SummariesModel --- .../au/org/aodn/ogcapi/server/core/mapper/Converter.java | 4 ++++ .../org/aodn/ogcapi/server/core/model/SummariesModel.java | 3 +++ .../server/core/model/enumeration/CollectionProperty.java | 3 ++- .../ogcapi/server/core/mapper/StacToCollectionTest.java | 7 +++++++ 4 files changed, 16 insertions(+), 1 deletion(-) diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/mapper/Converter.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/mapper/Converter.java index b80f83f4..cef38fa2 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/mapper/Converter.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/mapper/Converter.java @@ -219,6 +219,10 @@ default Collection getCollection(D m, Filter fil if (m.getSummaries().getAiDescription() != null) { collection.getProperties().put(CollectionProperty.aiDescription, m.getSummaries().getAiDescription()); } + + if(m.getSummaries().getScope() != null) { + collection.getProperties().put(CollectionProperty.scope, m.getSummaries().getScope()); + } } return collection; diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/SummariesModel.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/SummariesModel.java index 363bf371..724ec040 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/SummariesModel.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/SummariesModel.java @@ -41,5 +41,8 @@ public class SummariesModel { @JsonProperty("ai:description") protected String aiDescription; + @JsonProperty("scope") + protected Map scope; + protected String statement; } diff --git a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CollectionProperty.java b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CollectionProperty.java index 48bbf943..559043c1 100644 --- a/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CollectionProperty.java +++ b/server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CollectionProperty.java @@ -22,7 +22,8 @@ public enum CollectionProperty { centroid("centroid"), pace("pace"), datasetGroup("dataset_group"), - aiDescription("ai:description"); + aiDescription("ai:description"), + scope("scope"); private final String value; diff --git a/server/src/test/java/au/org/aodn/ogcapi/server/core/mapper/StacToCollectionTest.java b/server/src/test/java/au/org/aodn/ogcapi/server/core/mapper/StacToCollectionTest.java index 8420565d..bc4e901c 100644 --- a/server/src/test/java/au/org/aodn/ogcapi/server/core/mapper/StacToCollectionTest.java +++ b/server/src/test/java/au/org/aodn/ogcapi/server/core/mapper/StacToCollectionTest.java @@ -107,6 +107,10 @@ public void verifyAddingPropertyWorks() { var datasetGroup = List.of("group_test"); var aiDescription = "AI-generated description for testing"; + Map scope = new HashMap<>(); + scope.put("code", "document"); + scope.put("name", "IMOS publication"); + StacCollectionModel model = StacCollectionModel .builder() .summaries( @@ -120,6 +124,7 @@ public void verifyAddingPropertyWorks() { .statement(statement) .datasetGroup(datasetGroup) .aiDescription(aiDescription) + .scope(scope) .build() ) .license("Attribution 4.0") @@ -147,6 +152,8 @@ public void verifyAddingPropertyWorks() { Assertions.assertEquals("revision date", collection.getProperties().get(CollectionProperty.revision)); Assertions.assertEquals(datasetGroup, collection.getProperties().get(CollectionProperty.datasetGroup)); Assertions.assertEquals(aiDescription, collection.getProperties().get(CollectionProperty.aiDescription)); + Assertions.assertEquals("document", + ((Map) collection.getProperties().get(CollectionProperty.scope)).get("code")); Assertions.assertNotNull(collection.getLinks()); Assertions.assertEquals(3, collection.getLinks().size()); }