package org.fao.fenix.commons.msd.dto.full;

import com.fasterxml.jackson.annotation.JsonProperty;
import org.fao.fenix.commons.annotations.Description;
import org.fao.fenix.commons.annotations.Label;
import org.fao.fenix.commons.msd.dto.JSONEntity;
import org.fao.fenix.commons.msd.dto.type.LayerType;

import javax.persistence.Embedded;
import java.io.Serializable;

public class MeSpatialRepresentation extends JSONEntity implements Serializable {

    @JsonProperty
    @Label(en="")
    @Description(en= "")
    private LayerType layerType;

    @JsonProperty
    @Label(en="")
    @Description(en= "")
    private OjCodeList typeOfProduct;

    @JsonProperty
    @Label(en="")
    @Description(en= "")
    private OjCodeList processing;

    @JsonProperty
    @Label(en="")
    @Description(en= "")
    private String noDataValue;

    @JsonProperty
    @Label(en="")
    @Description(en= "")
    private SeBoundingBox seBoundingBox;


    public LayerType getLayerType() {
        return layerType;
    }

    public void setLayerType(LayerType layerType) {
        this.layerType = layerType;
    }

    public OjCodeList getTypeOfProduct() {
        return typeOfProduct;
    }
    @Embedded
    public void setTypeOfProduct(OjCodeList typeOfProduct) {
        this.typeOfProduct = typeOfProduct;
    }

    public OjCodeList getProcessing() {
        return processing;
    }
    @Embedded
    public void setProcessing(OjCodeList processing) {
        this.processing = processing;
    }

    public String getNoDataValue() {
        return noDataValue;
    }

    public void setNoDataValue(String noDataValue) {
        this.noDataValue = noDataValue;
    }

    public SeBoundingBox getSeBoundingBox() {
        return seBoundingBox;
    }
    @Embedded
    public void setSeBoundingBox(SeBoundingBox seBoundingBox) {
        this.seBoundingBox = seBoundingBox;
    }
}

@@ -470,32 +470,45 @@
 %0A    @Label(en=%22
+Type of layer
 %22)%0A    @Descript
@@ -508,32 +508,88 @@
 escription(en= %22
+Layer typology: vector or raster spatial representation.
 %22)%0A    private L
@@ -634,32 +634,47 @@
 %0A    @Label(en=%22
+Type of product
 %22)%0A    @Descript
@@ -674,32 +674,76 @@
 escription(en= %22
+Coded information about the product managed.
 %22)%0A    private O
@@ -902,33 +902,119 @@
 en=%22
-%22)%0A    @Description(en= %22
+Value assigned to No-data%22)%0A    @Description(en= %22Value assigned to the cells to represent the absence of data.
 %22)%0A 
@@ -1070,32 +1070,44 @@
 %0A    @Label(en=%22
+Bounding Box
 %22)%0A    @Descript
@@ -1107,32 +1107,228 @@
 escription(en= %22
+This section includes the planar measurement units used to express the X,Y values. The bounding box indicates the smaller quadrilateral shape that includes all features of the considered resource.
 %22)%0A    private S

Update MeSpatialRepresentation.java