gcube-cms-suite/geoportal-common/src/main/java/org/gcube/application/geoportal/common/model/document/Project.java

64 lines
2.0 KiB
Java
Raw Normal View History

2021-11-24 14:47:59 +01:00
package org.gcube.application.geoportal.common.model.document;
2022-02-23 17:13:22 +01:00
import com.fasterxml.jackson.annotation.JsonProperty;
2022-01-17 18:19:40 +01:00
import com.vdurmont.semver4j.Semver;
2021-11-24 14:47:59 +01:00
import lombok.*;
import org.bson.Document;
2022-02-14 12:23:13 +01:00
import org.gcube.application.geoportal.common.model.document.accounting.PublicationInfo;
import org.gcube.application.geoportal.common.model.document.lifecycle.LifecycleInformation;
2022-02-25 11:44:56 +01:00
import org.gcube.application.geoportal.common.model.document.spatial.SpatialReference;
import org.gcube.application.geoportal.common.model.document.temporal.TemporalReference;
2021-11-24 14:47:59 +01:00
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@ToString
2022-03-04 14:23:20 +01:00
public class Project {
2022-01-14 12:31:11 +01:00
2022-01-27 15:02:53 +01:00
public static final String ID="_id";
2022-02-18 18:12:02 +01:00
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";
2022-01-14 12:31:11 +01:00
2021-11-24 14:47:59 +01:00
// CORE METADATA
2022-02-23 17:13:22 +01:00
@JsonProperty(ID)
private String id;
@JsonProperty(VERSION)
2022-01-17 18:19:40 +01:00
private Semver version;
2021-11-24 14:47:59 +01:00
// Publication Info
2022-02-23 17:13:22 +01:00
@JsonProperty(INFO)
2021-11-24 14:47:59 +01:00
private PublicationInfo info;
2022-03-04 14:23:20 +01:00
// UseCaseDescriptor reference
2022-02-23 17:13:22 +01:00
@JsonProperty(PROFILE_ID)
2021-11-24 14:47:59 +01:00
private String profileID;
2022-02-23 17:13:22 +01:00
@JsonProperty(PROFILE_VERSION)
2022-01-17 18:19:40 +01:00
private Semver profileVersion;
2021-11-24 14:47:59 +01:00
2022-02-23 17:13:22 +01:00
@JsonProperty(LIFECYCLE_INFORMATION)
2021-11-24 14:47:59 +01:00
private LifecycleInformation lifecycleInformation;
2022-02-23 17:13:22 +01:00
@JsonProperty(RELATIONSHIPS)
2021-11-24 14:47:59 +01:00
private Relationship[] relationships;
2022-02-14 12:23:13 +01:00
// Expected GEOJSON
2022-02-23 17:13:22 +01:00
@JsonProperty(SPATIAL_REFERENCE)
2022-02-25 11:44:56 +01:00
private SpatialReference spatialReference;
2021-11-24 14:47:59 +01:00
2022-02-23 17:13:22 +01:00
@JsonProperty(TEMPORAL_REFERENCE)
2021-11-24 14:47:59 +01:00
private TemporalReference temporalReference;
2022-02-23 17:13:22 +01:00
@JsonProperty(THE_DOCUMENT)
2021-11-24 14:47:59 +01:00
private Document theDocument;
}