Skip to content

Commit 0b580de

Browse files
matthijslnmprins
authored andcommitted
HTM-2139: Add keywords to map response
1 parent 8274f33 commit 0b580de

2 files changed

Lines changed: 13 additions & 0 deletions

File tree

src/main/java/org/tailormap/api/persistence/helper/ApplicationHelper.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
import java.util.Objects;
2525
import java.util.Optional;
2626
import java.util.Set;
27+
import java.util.stream.Collectors;
2728
import org.apache.commons.lang3.ObjectUtils;
2829
import org.gaul.modernizer_maven_annotations.SuppressModernizer;
2930
import org.geotools.api.referencing.crs.CoordinateReferenceSystem;
@@ -458,6 +459,11 @@ private boolean addAppLayerItem(AppTreeLayerNode layerRef) {
458459

459460
boolean webMercatorAvailable = this.isWebMercatorAvailable(service, serviceLayer, hiDpiSubstituteLayer);
460461

462+
Set<String> keywords = serviceLayer.getKeywords().stream()
463+
.filter(k -> !serviceLayerSettings.getHiddenKeywords().contains(k))
464+
.collect(Collectors.toSet());
465+
keywords.addAll(serviceLayerSettings.getExtraKeywords());
466+
461467
mapResponse.addAppLayersItem(new AppLayer()
462468
.id(layerRef.getId())
463469
.serviceId(serviceLayerServiceIds.get(serviceLayer))
@@ -492,6 +498,7 @@ private boolean addAppLayerItem(AppTreeLayerNode layerRef) {
492498
.visible(layerRef.getVisible())
493499
.attribution(attribution)
494500
.description(description)
501+
.keywords(keywords)
495502
.webMercatorAvailable(webMercatorAvailable)
496503
.tileset3dStyle(appLayerSettings.getTileset3dStyle())
497504
.hiddenFunctionality(appLayerSettings.getHiddenFunctionality())

src/main/resources/openapi/viewer-schemas.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,12 @@ components:
149149
description:
150150
description: 'Description text to show for this layer, may contain some links and images (see htmlify pipe)'
151151
type: string
152+
keywords:
153+
description: 'Keywords for this layer, to be used for filtering layers'
154+
type: array
155+
items:
156+
type: string
157+
uniqueItems: true
152158
autoRefreshInSeconds:
153159
description: 'Automatically refresh the layer (in seconds)'
154160
type: number

0 commit comments

Comments
 (0)