From b675a0b208f4c4a9ffed6e3b8eb7ac571d399cdf Mon Sep 17 00:00:00 2001 From: Fabio Sinibaldi Date: Fri, 18 Feb 2022 18:12:02 +0100 Subject: [PATCH] Internal Field Reserved Keywords --- .../model/document/ProfiledDocument.java | 18 +++++------ .../common/model/document/Relationship.java | 4 +-- .../common/model/document/access/Access.java | 4 +-- .../document/accounting/AccountingInfo.java | 6 ++-- .../model/document/accounting/Context.java | 4 +-- .../document/accounting/PublicationInfo.java | 6 ++-- .../model/document/accounting/User.java | 2 +- .../document/filesets/GCubeSDILayer.java | 30 +++++++++++-------- .../document/filesets/RegisteredFile.java | 8 ++--- .../document/filesets/RegisteredFileSet.java | 12 ++++---- .../lifecycle/LifecycleInformation.java | 14 +++++---- .../document/lifecycle/TriggeredEvents.java | 12 ++++---- .../geoportal/common/model/JSONPathTests.java | 12 +++++++- 13 files changed, 75 insertions(+), 57 deletions(-) diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/ProfiledDocument.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/ProfiledDocument.java index 6d7897f..a1253ca 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/ProfiledDocument.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/ProfiledDocument.java @@ -16,15 +16,15 @@ import org.gcube.application.geoportal.common.model.document.lifecycle.Lifecycle public class ProfiledDocument { public static final String ID="_id"; - public static final String VERSION="version"; - public static final String INFO="info"; - public static final String PROFILE_ID="profileID"; - public static final String PROFILE_VERSION="profileVersion"; - public static final String LIFECYCLE_INFORMATION="lifecycleInformation"; - public static final String RELATIONSHIPS="relationships"; - public static final String SPATIAL_REFERENCE="spatialReference"; - public static final String TEMPORAL_REFERENCE="temporalReference"; - public static final String THE_DOCUMENT="theDocument"; + public static final String VERSION="_version"; + public static final String INFO="_info"; + public static final String PROFILE_ID="_profileID"; + public static final String PROFILE_VERSION="_profileVersion"; + public static final String LIFECYCLE_INFORMATION="_lifecycleInformation"; + public static final String RELATIONSHIPS="_relationships"; + public static final String SPATIAL_REFERENCE="_spatialReference"; + public static final String TEMPORAL_REFERENCE="_temporalReference"; + public static final String THE_DOCUMENT="_theDocument"; // CORE METADATA diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/Relationship.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/Relationship.java index caa0c93..740cc1b 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/Relationship.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/Relationship.java @@ -9,8 +9,8 @@ import lombok.*; @ToString public class Relationship { - public static final String RELATIONSHIP_NAME="relationshipName"; - public static final String TARGET_ID="targetID"; + public static final String RELATIONSHIP_NAME="_relationshipName"; + public static final String TARGET_ID="_targetID"; private String relationshipName; private String targetID; diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/access/Access.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/access/Access.java index bd3b3d2..5672eec 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/access/Access.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/access/Access.java @@ -9,8 +9,8 @@ import lombok.*; @ToString public class Access { - public static final String POLICY="policy"; - public static final String LICENSE="license"; + public static final String POLICY="_policy"; + public static final String LICENSE="_license"; private AccessPolicy policy; private String license; diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/AccountingInfo.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/AccountingInfo.java index dee7f24..63704c2 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/AccountingInfo.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/AccountingInfo.java @@ -11,9 +11,9 @@ import java.time.LocalDateTime; @ToString public class AccountingInfo { - public static final String USER="user"; - public static final String CONTEXT="context"; - public static final String INSTANT="instant"; + public static final String USER="_user"; + public static final String CONTEXT="_context"; + public static final String INSTANT="_instant"; private User user; private Context context; diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/Context.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/Context.java index 05d5156..72a6807 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/Context.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/Context.java @@ -8,8 +8,8 @@ import lombok.*; @Setter @ToString public class Context { - public static final String ID="id"; - public static final String NAME = "name"; + public static final String ID="_id"; + public static final String NAME = "_name"; private String id; diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/PublicationInfo.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/PublicationInfo.java index 493c89a..c78ea29 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/PublicationInfo.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/PublicationInfo.java @@ -10,9 +10,9 @@ import org.gcube.application.geoportal.common.model.document.access.Access; @ToString public class PublicationInfo { - public static final String CREATION_INFO="creationInfo"; - public static final String LAST_EDIT_INFO="lastEditInfo"; - public static final String ACCESS = "access"; + public static final String CREATION_INFO="_creationInfo"; + public static final String LAST_EDIT_INFO="_lastEditInfo"; + public static final String ACCESS = "_access"; private AccountingInfo creationInfo; private AccountingInfo lastEditInfo; diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/User.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/User.java index 605e898..7e98ba5 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/User.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/accounting/User.java @@ -9,7 +9,7 @@ import lombok.*; @ToString public class User { - public static final String USERNAME="username"; + public static final String USERNAME="_username"; private String username; diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/GCubeSDILayer.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/GCubeSDILayer.java index e6ebdae..7494f56 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/GCubeSDILayer.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/GCubeSDILayer.java @@ -2,6 +2,7 @@ package org.gcube.application.geoportal.common.model.document.filesets; import lombok.Data; import lombok.NoArgsConstructor; +import org.bson.Document; import java.util.List; @@ -9,7 +10,7 @@ public class GCubeSDILayer extends Materialization{ @Data @NoArgsConstructor - public static class BBOX { + public static class BBOX extends Document { public static final BBOX WORLD=new BBOX(180d,90d,-180d,-90d); @@ -19,23 +20,28 @@ public class GCubeSDILayer extends Materialization{ public static final String MIN_Y="minY"; public BBOX(Double maxX,Double maxY,Double minX,Double minY){ - this.maxX=maxX; - this.minX=minX; - this.maxY=maxY; - this.minY=minY; + setMaxX(maxX); + setMinX(minX); + setMaxY(maxY); + setMinY(minY); } - private Double maxY; - private Double maxX; - private Double minY; - private Double minX; + public void setMaxX(Double d){this.put(MAX_X,d);} + public void setMaxY(Double d){this.put(MAX_Y,d);} + public void setMinX(Double d){this.put(MIN_X,d);} + public void setMinY(Double d){this.put(MIN_Y,d);} + public Double getMinY(){return (Double) this.getOrDefault(MIN_Y,-90d);} + public Double getMaxY(){return (Double) this.getOrDefault(MAX_Y,90d);} + public Double getMinX(){return (Double) this.getOrDefault(MIN_X,-180d);} + public Double getMaxX(){return (Double) this.getOrDefault(MAX_X,180d);} + } public static final String GCUBE_SDY_LAYER_TYPE="gcube-sdi-layer"; - public static final String OGC_LINKS="ogcLinks"; - public static final String B_BOX = "bbox"; - public static final String PLATFORM_INFO="platformInfo"; + public static final String OGC_LINKS="_ogcLinks"; + public static final String B_BOX = "_bbox"; + public static final String PLATFORM_INFO="_platformInfo"; public GCubeSDILayer(){ super(GCUBE_SDY_LAYER_TYPE); diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/RegisteredFile.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/RegisteredFile.java index 3886dc9..50a599a 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/RegisteredFile.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/RegisteredFile.java @@ -5,10 +5,10 @@ import lombok.*; @Data public class RegisteredFile { - public static String MIMETYPE="mimetype"; - public static String STORAGE_ID="storageID"; - public static String LINK="link"; - public static String NAME="NAME"; + public static String MIMETYPE="_mimetype"; + public static String STORAGE_ID="_storageID"; + public static String LINK="_link"; + public static String NAME="_name"; private String mimetype; private String storageID; diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/RegisteredFileSet.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/RegisteredFileSet.java index c11291f..a8ed0e0 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/RegisteredFileSet.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/filesets/RegisteredFileSet.java @@ -11,12 +11,12 @@ public class RegisteredFileSet extends Document { - public static final String UUID="uuid"; - public static final String CREATION_INFO="creationInfo"; - public static final String ACCESS="access"; - public static final String FOLDER_ID="folderID"; - public static final String PAYLOADS="payloads"; - public static final String MATERIALIZATIONS="materializations"; + public static final String UUID="_uuid"; + public static final String CREATION_INFO="_creationInfo"; + public static final String ACCESS="_access"; + public static final String FOLDER_ID="_folderID"; + public static final String PAYLOADS="_payloads"; + public static final String MATERIALIZATIONS="_materializations"; public Object getCreationInfo(){ return this.get(CREATION_INFO); } diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/lifecycle/LifecycleInformation.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/lifecycle/LifecycleInformation.java index bbf3ba3..b75e150 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/lifecycle/LifecycleInformation.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/lifecycle/LifecycleInformation.java @@ -10,12 +10,14 @@ public class LifecycleInformation { public static final String DRAFT_PHASE="DRAFT"; - public static final String PHASE="phase"; - public static final String LAST_INVOKED_STEP="lastInvokedStep"; - public static final String LAST_OPERATION_STATUS="lastOperationStatus"; - public static final String ERROR_MESSAGES="errorMessages"; - public static final String WARNING_MESSAGES="warningMessages"; - public static final String TRIGGERED_EVENTS="triggeredEvents"; + public static final String PUBLISHED_PHASE="PUBLISHED"; + + public static final String PHASE="_phase"; + public static final String LAST_INVOKED_STEP="_lastInvokedStep"; + public static final String LAST_OPERATION_STATUS="_lastOperationStatus"; + public static final String ERROR_MESSAGES="_errorMessages"; + public static final String WARNING_MESSAGES="_warningMessages"; + public static final String TRIGGERED_EVENTS="_triggeredEvents"; public static enum Status{ OK,ERROR,WARNING diff --git a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/lifecycle/TriggeredEvents.java b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/lifecycle/TriggeredEvents.java index fa63d5b..a9b8912 100644 --- a/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/lifecycle/TriggeredEvents.java +++ b/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/lifecycle/TriggeredEvents.java @@ -8,12 +8,12 @@ import java.util.List; @Data public class TriggeredEvents { - public static final String PHASE="phase"; - public static final String LAST_INVOKED_STEP="lastInvokedStep"; - public static final String LAST_OPERATION_STATUS="lastOperationStatus"; - public static final String ERROR_MESSAGES="errorMessages"; - public static final String WARNING_MESSAGES="warningMessages"; - public static final String TRIGGERED_EVENTS="triggeredEvents"; + public static final String PHASE="_phase"; + public static final String LAST_INVOKED_STEP="_lastInvokedStep"; + public static final String LAST_OPERATION_STATUS="_lastOperationStatus"; + public static final String ERROR_MESSAGES="_errorMessages"; + public static final String WARNING_MESSAGES="_warningMessages"; + public static final String TRIGGERED_EVENTS="_triggeredEvents"; private String event; private LifecycleInformation.Status lastOperationStatus; diff --git a/geoportal-common/src/test/java/org/gcube/application/geoportal/common/model/JSONPathTests.java b/geoportal-common/src/test/java/org/gcube/application/geoportal/common/model/JSONPathTests.java index ddb2443..27458fb 100644 --- a/geoportal-common/src/test/java/org/gcube/application/geoportal/common/model/JSONPathTests.java +++ b/geoportal-common/src/test/java/org/gcube/application/geoportal/common/model/JSONPathTests.java @@ -11,6 +11,8 @@ import com.jayway.jsonpath.spi.mapper.MappingProvider; import org.bson.Document; import org.gcube.application.geoportal.common.JSONSerializationProvider; import org.gcube.application.geoportal.common.model.document.ProfiledDocument; +import org.gcube.application.geoportal.common.model.document.filesets.Materialization; +import org.gcube.application.geoportal.common.model.document.filesets.RegisteredFileSet; import org.gcube.application.geoportal.common.model.document.lifecycle.TriggeredEvents; import org.gcube.application.geoportal.common.utils.Files; import org.junit.Test; @@ -42,8 +44,16 @@ public class JSONPathTests { @Test public void readElements() throws IOException { - JSONPathWrapper documentNavigator=getNavigator("profiledConcessioneExample.json"); + JSONPathWrapper documentNavigator=getNavigator("profiledConcessioniExample.json"); + // TODO REVERVED KEYS + + System.out.println("All Registered FileNames"+ documentNavigator.getByPath("$..fileset.payloads[*].name")); + + System.out.println(documentNavigator.getByPath("$..fileset."+ RegisteredFileSet.MATERIALIZATIONS)); + + // WMS + System.out.println(documentNavigator.getByPath("$..wms")); }