64 lines
2.0 KiB
Java
64 lines
2.0 KiB
Java
package org.gcube.application.geoportal.common.model.document;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
import com.vdurmont.semver4j.Semver;
|
|
import lombok.*;
|
|
import org.bson.Document;
|
|
import org.gcube.application.geoportal.common.model.document.accounting.PublicationInfo;
|
|
import org.gcube.application.geoportal.common.model.document.lifecycle.LifecycleInformation;
|
|
import org.gcube.application.geoportal.common.model.document.spatial.SpatialReference;
|
|
import org.gcube.application.geoportal.common.model.document.temporal.TemporalReference;
|
|
|
|
|
|
@NoArgsConstructor
|
|
@AllArgsConstructor
|
|
@Getter
|
|
@Setter
|
|
@ToString
|
|
public class Project {
|
|
|
|
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";
|
|
|
|
// CORE METADATA
|
|
|
|
@JsonProperty(ID)
|
|
private String id;
|
|
@JsonProperty(VERSION)
|
|
private Semver version;
|
|
|
|
// Publication Info
|
|
@JsonProperty(INFO)
|
|
private PublicationInfo info;
|
|
|
|
// UseCaseDescriptor reference
|
|
@JsonProperty(PROFILE_ID)
|
|
private String profileID;
|
|
@JsonProperty(PROFILE_VERSION)
|
|
private Semver profileVersion;
|
|
|
|
@JsonProperty(LIFECYCLE_INFORMATION)
|
|
private LifecycleInformation lifecycleInformation;
|
|
|
|
@JsonProperty(RELATIONSHIPS)
|
|
private Relationship[] relationships;
|
|
|
|
// Expected GEOJSON
|
|
@JsonProperty(SPATIAL_REFERENCE)
|
|
private Document spatialReference;
|
|
|
|
@JsonProperty(TEMPORAL_REFERENCE)
|
|
private TemporalReference temporalReference;
|
|
|
|
@JsonProperty(THE_DOCUMENT)
|
|
private Document theDocument;
|
|
}
|