Skip to content

Commit 2638080

Browse files
committed
use extended class rather than modifying openapi.yaml
1 parent 39241f6 commit 2638080

File tree

5 files changed

+33
-4
lines changed

5 files changed

+33
-4
lines changed

server/src/main/java/au/org/aodn/ogcapi/server/core/mapper/Converter.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package au.org.aodn.ogcapi.server.core.mapper;
22

33
import au.org.aodn.ogcapi.features.model.*;
4+
import au.org.aodn.ogcapi.server.core.model.ExtendedCollection;
45
import au.org.aodn.ogcapi.server.core.model.StacCollectionModel;
56
import org.slf4j.Logger;
67
import org.slf4j.LoggerFactory;
@@ -50,7 +51,7 @@ default au.org.aodn.ogcapi.tile.model.Link getTileSchema(String hostname) {
5051
*/
5152
default <F extends StacCollectionModel> Collection getCollection(F m, String host) {
5253

53-
Collection collection = new Collection();
54+
ExtendedCollection collection = new ExtendedCollection();
5455
collection.setId(m.getUuid());
5556
collection.setTitle(m.getTitle());
5657
collection.setDescription(m.getDescription());
@@ -90,6 +91,10 @@ default <F extends StacCollectionModel> Collection getCollection(F m, String hos
9091
.collect(Collectors.toList()));
9192
}
9293

94+
if (m.getSummaries() != null) {
95+
collection.setSummaries(m.getSummaries());
96+
}
97+
9398
return collection;
9499
}
95100
}
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
package au.org.aodn.ogcapi.server.core.model;
2+
3+
import au.org.aodn.ogcapi.features.model.Collection;
4+
import lombok.Getter;
5+
import lombok.Setter;
6+
7+
8+
/**
9+
* This class is extended from Collection, and used to add more fields to the Collection class.
10+
*/
11+
@Setter
12+
@Getter
13+
public class ExtendedCollection extends Collection {
14+
15+
private SummariesModel summaries;
16+
17+
}

server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/CQLCollectionsField.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,10 @@ public enum CQLCollectionsField {
1515
category(StacBasicField.DiscoveryCategories.searchField, StacBasicField.DiscoveryCategories.displayField),
1616
providers(StacBasicField.Providers.searchField, StacBasicField.Providers.displayField),
1717
discovery_categories(StacBasicField.DiscoveryCategories.searchField, StacBasicField.DiscoveryCategories.displayField),
18-
id(StacBasicField.UUID.searchField, StacBasicField.UUID.displayField);
18+
id(StacBasicField.UUID.searchField, StacBasicField.UUID.displayField),
19+
links(StacBasicField.Links.searchField, StacBasicField.Links.displayField),
20+
status(StacSummeries.Status.searchField, StacSummeries.Status.displayField),
21+
;
1922

2023
private final String searchField;
2124
private final String displayField;

server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/StacBasicField.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,9 @@ public enum StacBasicField {
1111
DiscoveryCategories(
1212
"discovery_categories", // This result in the whole themes section return
1313
"summaries.discovery_categories"
14-
);
14+
),
15+
Links("links", "links")
16+
;
1517

1618
public final String searchField; // Field in STAC object
1719
public final String displayField; // Field that is named externally

server/src/main/java/au/org/aodn/ogcapi/server/core/model/enumeration/StacSummeries.java

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,9 @@ public enum StacSummeries {
1010
Temporal("summaries.temporal", "extent.temporal", List.of(TemporalStart, TemporalEnd)),
1111
UpdateFrequency("summaries.update_frequency", "summaries.update_frequency"),
1212
DatasetProvider("summaries.dataset_provider", "summaries.dataset_provider"),
13-
DatasetGroup("summaries.dataset_group", "summaries.dataset_group");
13+
DatasetGroup("summaries.dataset_group", "summaries.dataset_group"),
14+
Status("summaries.status", "summaries.status")
15+
;
1416

1517
public final String searchField;
1618
public final String displayField;

0 commit comments

Comments
 (0)