From a5702a44fae9d90c10c5a277616c9b800a3998b7 Mon Sep 17 00:00:00 2001 From: Fabio Sinibaldi Date: Tue, 27 Sep 2022 15:53:52 +0200 Subject: [PATCH] OGC LINKS as Map --- .../common/model/document/filesets/sdi/GCubeSDILayer.java | 3 ++- .../application/cms/sdi/model/GCubeSDILayerBuilder.java | 6 +++++- .../org/gcube/application/cms/sdi/plugins/IndexerTest.java | 4 ++++ 3 files changed, 11 insertions(+), 2 deletions(-) diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/sdi/GCubeSDILayer.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/sdi/GCubeSDILayer.java index 7a192d9..8bdebdc 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/sdi/GCubeSDILayer.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/sdi/GCubeSDILayer.java @@ -7,6 +7,7 @@ import org.bson.Document; import org.gcube.application.geoportal.common.model.document.filesets.Materialization; import java.util.List; +import java.util.Map; public class GCubeSDILayer extends Materialization { @@ -130,7 +131,7 @@ public class GCubeSDILayer extends Materialization { } @JsonIgnore - public List getOGCLinks(){return this.get(OGC_LINKS, List.class);} + public Map getOGCLinks(){return this.get(OGC_LINKS, Map.class);} @JsonIgnore public Object getBBox(){return this.get(B_BOX);} @JsonIgnore diff --git a/sdi-plugins/src/main/java/org/gcube/application/cms/sdi/model/GCubeSDILayerBuilder.java b/sdi-plugins/src/main/java/org/gcube/application/cms/sdi/model/GCubeSDILayerBuilder.java index 0243f6d..7fe2581 100644 --- a/sdi-plugins/src/main/java/org/gcube/application/cms/sdi/model/GCubeSDILayerBuilder.java +++ b/sdi-plugins/src/main/java/org/gcube/application/cms/sdi/model/GCubeSDILayerBuilder.java @@ -46,7 +46,11 @@ public class GCubeSDILayerBuilder { theObject.put(GCubeSDILayer.B_BOX,bbox); prepareOGCLinks(); - theObject.put(GCubeSDILayer.OGC_LINKS,ogcLinks.values()); + final Document finalLinkDocument = new Document(); + ogcLinks.forEach( (type,document) -> { + finalLinkDocument.putAll(document); + }); + theObject.put(GCubeSDILayer.OGC_LINKS,finalLinkDocument); return theObject; } diff --git a/sdi-plugins/src/test/java/org/gcube/application/cms/sdi/plugins/IndexerTest.java b/sdi-plugins/src/test/java/org/gcube/application/cms/sdi/plugins/IndexerTest.java index b6dd694..c82eeaa 100644 --- a/sdi-plugins/src/test/java/org/gcube/application/cms/sdi/plugins/IndexerTest.java +++ b/sdi-plugins/src/test/java/org/gcube/application/cms/sdi/plugins/IndexerTest.java @@ -93,6 +93,10 @@ public class IndexerTest extends BasicPluginTest { assertEquals(GeoServerPlatform.GS_PLATFORM,platformDoc.get(Materialization.TYPE)); } + System.out.println("OGC_LINKS : "); + layer.getOGCLinks().forEach((k,v) ->{ + System.out.println(k + "\t:\t"+v); + }); }