package org.gcube.data_catalogue.grsf_publish_ws.json.input; import java.util.HashMap; import java.util.List; import java.util.Map; import org.gcube.data_catalogue.grsf_publish_ws.custom_annotations.CustomField; import org.gcube.data_catalogue.grsf_publish_ws.custom_annotations.Group; import org.gcube.data_catalogue.grsf_publish_ws.custom_annotations.Tag; import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Source; import org.gcube.data_catalogue.grsf_publish_ws.utils.groups.Type; import com.fasterxml.jackson.annotation.JsonIgnoreProperties; import com.fasterxml.jackson.annotation.JsonProperty; /** * Information that both Stock and Fishery must contain * @author Costantino Perciante at ISTI-CNR (costantino.perciante@isti.cnr.it) */ @JsonIgnoreProperties(value = {"author", "author_contact"}, ignoreUnknown = true) // ignore in serialization/deserialization public class Common { @JsonProperty("description") private String description; @JsonProperty("license") private String license; // filled automatically by the server private String author; @JsonProperty("version") private Long version; // filled automatically by the service private String authorContact; @JsonProperty("maintainer") private String maintainer; @JsonProperty("maintainer_contact") private String maintainerContact; @JsonProperty("catches_or_landings") @CustomField(key="Catches or landings") private String catchesOrLandings; @JsonProperty("database_sources") @Group @CustomField(key="Database sources") private Source databaseSources; @JsonProperty("source_of_information") @CustomField(key="Source of information") private String sourceOfInformation; @JsonProperty("data_owner") @CustomField(key="Data owner") private String dataOwner; @JsonProperty("type") @Tag @Group @CustomField(key="Type") private Type type; @JsonProperty("resources") private List resources; @JsonProperty("extras") private Map extras = new HashMap<>(); @JsonProperty("spatial") @CustomField(key="Spatial") private String spatial; public Common() { super(); } public Common(String description, String license, String author, Long version, String authorContact, String maintainer, String maintainerContact, String catchesOrLandings, Source databaseSources, String sourceOfInformation, String dataOwner, Type type, List resources, Map extras, String spatial) { super(); this.description = description; this.license = license; this.author = author; this.version = version; this.authorContact = authorContact; this.maintainer = maintainer; this.maintainerContact = maintainerContact; this.catchesOrLandings = catchesOrLandings; this.databaseSources = databaseSources; this.sourceOfInformation = sourceOfInformation; this.dataOwner = dataOwner; this.type = type; this.resources = resources; this.extras = extras; this.spatial = spatial; } public String getSpatial() { return spatial; } public void setSpatial(String spatial) { this.spatial = spatial; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public String getLicense() { return license; } public void setLicense(String license) { this.license = license; } public String getAuthor() { return author; } public void setAuthor(String author) { this.author = author; } public Long getVersion() { return version; } public void setVersion(Long version) { this.version = version; } public String getAuthorContact() { return authorContact; } public void setAuthorContact(String authorContact) { this.authorContact = authorContact; } public String getMaintainer() { return maintainer; } public void setMaintainer(String maintainer) { this.maintainer = maintainer; } public String getMaintainerContact() { return maintainerContact; } public void setMaintainerContact(String maintainerContact) { this.maintainerContact = maintainerContact; } public String getCatchesOrLandings() { return catchesOrLandings; } public void setCatchesOrLandings(String catchesOrLandings) { this.catchesOrLandings = catchesOrLandings; } public Source getDatabaseSources() { return databaseSources; } public void setDatabaseSources(Source databaseSources) { this.databaseSources = databaseSources; } public String getSourceOfInformation() { return sourceOfInformation; } public void setSourceOfInformation(String sourceOfInformation) { this.sourceOfInformation = sourceOfInformation; } public String getDataOwner() { return dataOwner; } public void setDataOwner(String dataOwner) { this.dataOwner = dataOwner; } public Type getType() { return type; } public void setType(Type type) { this.type = type; } public List getResources() { return resources; } public void setResources(List resources) { this.resources = resources; } public void setExtras(Map extras) { this.extras = extras; } public Map getExtras() { return extras; } @Override public String toString() { return "Common [description=" + description + ", license=" + license + ", author=" + author + ", version=" + version + ", authorContact=" + authorContact + ", maintainer=" + maintainer + ", maintainerContact=" + maintainerContact + ", catchesOrLandings=" + catchesOrLandings + ", databaseSources=" + databaseSources + ", sourceOfInformation=" + sourceOfInformation + ", dataOwner=" + dataOwner + ", type=" + type + ", resources=" + resources + ", extras=" + extras + ", spatial=" + spatial + "]"; } }