grsf-publisher-ws/src/main/java/org/gcube/data_catalogue/grsf_publish_ws/json/input/Common.java

241 lines
5.6 KiB
Java

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<Resource> resources;
@JsonProperty("extras")
private Map<String, String> 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<Resource> resources, Map<String, String> 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<Resource> getResources() {
return resources;
}
public void setResources(List<Resource> resources) {
this.resources = resources;
}
public void setExtras(Map<String, String> extras) {
this.extras = extras;
}
public Map<String, String> 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 + "]";
}
}