Add new RDA exporter
This commit is contained in:
parent
9cd7e24313
commit
a36b98535c
|
@ -105,14 +105,16 @@ public class DataManagementPlanManager {
|
|||
private UtilitiesService utilitiesService;
|
||||
private DatabaseRepository databaseRepository;
|
||||
private Environment environment;
|
||||
private RDAManager rdaManager;
|
||||
|
||||
@Autowired
|
||||
public DataManagementPlanManager(ApiContext apiContext, DatasetManager datasetManager, Environment environment) {
|
||||
public DataManagementPlanManager(ApiContext apiContext, DatasetManager datasetManager, Environment environment, RDAManager rdaManager) {
|
||||
this.apiContext = apiContext;
|
||||
this.datasetManager = datasetManager;
|
||||
this.utilitiesService = apiContext.getUtilitiesService();
|
||||
this.databaseRepository = apiContext.getOperationsContext().getDatabaseRepository();
|
||||
this.environment = environment;
|
||||
this.rdaManager = rdaManager;
|
||||
}
|
||||
|
||||
public DataTableData<DataManagementPlanListingModel> getPaged(DataManagementPlanTableRequest dataManagementPlanTableRequest, Principal principal, String fieldsGroup) throws Exception {
|
||||
|
@ -1129,15 +1131,20 @@ public class DataManagementPlanManager {
|
|||
eu.eudat.data.entities.DMP dmp = databaseRepository.getDmpDao().find(UUID.fromString(id));
|
||||
if (!dmp.isPublic() && dmp.getUsers().stream().noneMatch(userInfo -> userInfo.getUser().getId() == principal.getId()))
|
||||
throw new UnauthorisedException();
|
||||
RDAExportModel rdaExportModel = new RDAExportModel().fromDataModel(dmp, datasetManager, principal);
|
||||
// RDAExportModel rdaExportModel = new RDAExportModel().fromDataModel(dmp, datasetManager, principal);
|
||||
String result = rdaManager.convertToRDA(dmp);
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
|
||||
String fileName = dmp.getLabel();
|
||||
fileName = fileName.replaceAll("[^a-zA-Z0-9+ ]", "");
|
||||
File file = new File(fileName + ".json");
|
||||
OutputStream output = new FileOutputStream(file);
|
||||
try {
|
||||
mapper.writeValue(file, rdaExportModel);
|
||||
// mapper.writeValue(file, rdaExportModel);
|
||||
output.write(result.getBytes());
|
||||
output.flush();
|
||||
output.close();
|
||||
} catch (IOException e) {
|
||||
logger.error(e.getMessage(), e);
|
||||
}
|
||||
|
|
|
@ -113,8 +113,8 @@ public class DatasetProfileManager {
|
|||
ResponseEntity<Object> response = restTemplate.exchange(data.getUrl() + "?search=" + like, HttpMethod.GET, entity, Object.class);
|
||||
DocumentContext jsonContext = JsonPath.parse(response.getBody());
|
||||
|
||||
List<Map<String, String>> jsonItems = jsonContext.read(data.getOptionsRoot() + "['" + data.getAutoCompleteOptions().getLabel() + "','" + data.getAutoCompleteOptions().getValue() + "','" + data.getAutoCompleteOptions().getSource() + "']");
|
||||
jsonItems.forEach(item -> result.add(new ExternalAutocompleteFieldModel(item.get(data.getAutoCompleteOptions().getValue()), item.get(data.getAutoCompleteOptions().getLabel()), item.get(data.getAutoCompleteOptions().getSource()))));
|
||||
List<Map<String, String>> jsonItems = jsonContext.read(data.getOptionsRoot() + "['" + data.getAutoCompleteOptions().getLabel() + "','" + data.getAutoCompleteOptions().getValue() + "','" + data.getAutoCompleteOptions().getSource() + "','" + "uri" + "']");
|
||||
jsonItems.forEach(item -> result.add(new ExternalAutocompleteFieldModel(item.get(data.getAutoCompleteOptions().getValue()), item.get(data.getAutoCompleteOptions().getLabel()), item.get(data.getAutoCompleteOptions().getSource()), item.get("uri"))));
|
||||
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -0,0 +1,38 @@
|
|||
package eu.eudat.logic.managers;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import eu.eudat.data.entities.DMP;
|
||||
import eu.eudat.models.rda.Dmp;
|
||||
import eu.eudat.models.rda.RDAModel;
|
||||
import eu.eudat.models.rda.mapper.DmpRDAMapper;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.text.SimpleDateFormat;
|
||||
|
||||
@Component
|
||||
public class RDAManager {
|
||||
|
||||
private DmpRDAMapper dmpRDAMapper;
|
||||
|
||||
@Autowired
|
||||
public RDAManager(DmpRDAMapper dmpRDAMapper) {
|
||||
this.dmpRDAMapper = dmpRDAMapper;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public String convertToRDA(DMP dmp) throws JsonProcessingException {
|
||||
String result = "";
|
||||
|
||||
Dmp rdaDmp = dmpRDAMapper.toRDA(dmp);
|
||||
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"));
|
||||
|
||||
result = mapper.writeValueAsString(rdaDmp);
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,32 @@
|
|||
package eu.eudat.logic.utilities.json;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
|
||||
public class JsonSearcher {
|
||||
|
||||
public static List<JsonNode> findNodes(JsonNode root, String key, String value) {
|
||||
List<JsonNode> nodes = new ArrayList<>();
|
||||
for (Iterator<JsonNode> it = root.elements(); it.hasNext(); ) {
|
||||
JsonNode node = it.next();
|
||||
int found = 0;
|
||||
for (Iterator<String> iter = node.fieldNames(); iter.hasNext(); ) {
|
||||
String fieldName = iter.next();
|
||||
if (fieldName.equals(key)) {
|
||||
if (node.get(fieldName).asText().equals(value) || node.get(fieldName).asText().startsWith(value)) {
|
||||
nodes.add(node);
|
||||
found++;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
if (found == 0) {
|
||||
nodes.addAll(findNodes(node, key, value));
|
||||
}
|
||||
}
|
||||
return nodes;
|
||||
}
|
||||
}
|
|
@ -64,6 +64,7 @@ public class AutoCompleteData extends ComboBoxData<AutoCompleteData> {
|
|||
this.autoCompleteOptions.setLabel(optionElement.getAttribute("label"));
|
||||
this.autoCompleteOptions.setValue(optionElement.getAttribute("value"));
|
||||
this.autoCompleteOptions.setSource(optionElement.getAttribute("source"));
|
||||
this.autoCompleteOptions.setUri(optionElement.getAttribute("uri"));
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
@ -81,6 +82,7 @@ public class AutoCompleteData extends ComboBoxData<AutoCompleteData> {
|
|||
this.autoCompleteOptions.setLabel(options.get("label"));
|
||||
this.autoCompleteOptions.setValue(options.get("value"));
|
||||
this.autoCompleteOptions.setSource(options.get("source"));
|
||||
this.autoCompleteOptions.setUri(options.get("uri"));
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -12,6 +12,7 @@ public abstract class ComboBoxData<T> extends FieldData<T> {
|
|||
private String label;
|
||||
private String value;
|
||||
private String source;
|
||||
private String uri;
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
|
@ -34,12 +35,21 @@ public abstract class ComboBoxData<T> extends FieldData<T> {
|
|||
this.source = source;
|
||||
}
|
||||
|
||||
public String getUri() {
|
||||
return uri;
|
||||
}
|
||||
|
||||
public void setUri(String uri) {
|
||||
this.uri = uri;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Element toXml(Document doc) {
|
||||
Element option = doc.createElement("option");
|
||||
option.setAttribute("label", this.label);
|
||||
option.setAttribute("value", this.value);
|
||||
option.setAttribute("source", this.source);
|
||||
option.setAttribute("uri", this.uri);
|
||||
return option;
|
||||
}
|
||||
|
||||
|
@ -48,6 +58,7 @@ public abstract class ComboBoxData<T> extends FieldData<T> {
|
|||
this.label = item.getAttribute("label");
|
||||
this.value = item.getAttribute("value");
|
||||
this.source = item.getAttribute("source");
|
||||
this.uri = item.getAttribute("uri");
|
||||
return this;
|
||||
}
|
||||
|
||||
|
|
|
@ -4,11 +4,13 @@ public class ExternalAutocompleteFieldModel {
|
|||
private String id;
|
||||
private String label;
|
||||
private String source;
|
||||
private String uri;
|
||||
|
||||
public ExternalAutocompleteFieldModel(String id, String label, String source) {
|
||||
public ExternalAutocompleteFieldModel(String id, String label, String source, String uri) {
|
||||
this.id = id;
|
||||
this.label = label;
|
||||
this.source = source;
|
||||
this.uri = uri;
|
||||
}
|
||||
|
||||
public String getId() {
|
||||
|
@ -31,4 +33,12 @@ public class ExternalAutocompleteFieldModel {
|
|||
public void setSource(String source) {
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
public String getUri() {
|
||||
return uri;
|
||||
}
|
||||
|
||||
public void setUri(String uri) {
|
||||
this.uri = uri;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -321,7 +321,8 @@ public class DatasetRDAExportModel {
|
|||
JSONObject jsonObject = jsonArray.getJSONObject(i);
|
||||
Map<String, Object> jsonObjectMap = jsonObject.toMap();
|
||||
DatasetMetadataRDAExportModel metadataRda1 = new DatasetMetadataRDAExportModel();
|
||||
metadataRda1.setMetadata_standard_id(new IdRDAExportModel(jsonObjectMap.get("label").toString(), jsonObjectMap.get("source").toString()));
|
||||
// metadataRda1.setMetadata_standard_id(new IdRDAExportModel(jsonObjectMap.get("label").toString(), jsonObjectMap.get("source").toString()));
|
||||
metadataRda1.setMetadata_standard_id(new IdRDAExportModel(jsonObjectMap.get("uri").toString(), "url"));
|
||||
metadataRDAExportModelList.add(metadataRda1);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -0,0 +1,146 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
/**
|
||||
* The DMP Contact Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"contact_id",
|
||||
"mbox",
|
||||
"name"
|
||||
})
|
||||
public class Contact implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Contact ID Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contact_id")
|
||||
private ContactId contactId;
|
||||
/**
|
||||
* The Mailbox Schema
|
||||
* <p>
|
||||
* Contact Person's E-mail address
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("mbox")
|
||||
@JsonPropertyDescription("Contact Person's E-mail address")
|
||||
private String mbox;
|
||||
/**
|
||||
* The Name Schema
|
||||
* <p>
|
||||
* Name of the contact person
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("name")
|
||||
@JsonPropertyDescription("Name of the contact person")
|
||||
private String name;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = -2062619884605400321L;
|
||||
|
||||
/**
|
||||
* The Contact ID Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contact_id")
|
||||
public ContactId getContactId() {
|
||||
return contactId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Contact ID Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contact_id")
|
||||
public void setContactId(ContactId contactId) {
|
||||
this.contactId = contactId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Mailbox Schema
|
||||
* <p>
|
||||
* Contact Person's E-mail address
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("mbox")
|
||||
public String getMbox() {
|
||||
return mbox;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Mailbox Schema
|
||||
* <p>
|
||||
* Contact Person's E-mail address
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("mbox")
|
||||
public void setMbox(String mbox) {
|
||||
this.mbox = mbox;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Name Schema
|
||||
* <p>
|
||||
* Name of the contact person
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("name")
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Name Schema
|
||||
* <p>
|
||||
* Name of the contact person
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("name")
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,154 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The Contact ID Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"identifier",
|
||||
"type"
|
||||
})
|
||||
public class ContactId implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The DMP Contact Identifier Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
private String identifier;
|
||||
/**
|
||||
* The DMP Contact Identifier Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: orcid, isni, openid, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
@JsonPropertyDescription("Identifier type. Allowed values: orcid, isni, openid, other")
|
||||
private ContactId.Type type;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = -7066973565810615822L;
|
||||
|
||||
/**
|
||||
* The DMP Contact Identifier Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public String getIdentifier() {
|
||||
return identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Contact Identifier Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public void setIdentifier(String identifier) {
|
||||
this.identifier = identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Contact Identifier Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: orcid, isni, openid, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public ContactId.Type getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Contact Identifier Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: orcid, isni, openid, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public void setType(ContactId.Type type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
|
||||
ORCID("orcid"),
|
||||
ISNI("isni"),
|
||||
OPENID("openid"),
|
||||
OTHER("other");
|
||||
private final String value;
|
||||
private final static Map<String, ContactId.Type> CONSTANTS = new HashMap<String, ContactId.Type>();
|
||||
|
||||
static {
|
||||
for (ContactId.Type c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private Type(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static ContactId.Type fromValue(String value) {
|
||||
ContactId.Type constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,181 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import java.util.Set;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
|
||||
|
||||
|
||||
/**
|
||||
* The Contributor Items Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"contributor_id",
|
||||
"mbox",
|
||||
"name",
|
||||
"role"
|
||||
})
|
||||
public class Contributor implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Contributor_id Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contributor_id")
|
||||
private ContributorId contributorId;
|
||||
/**
|
||||
* The Contributor Mailbox Schema
|
||||
* <p>
|
||||
* Contributor Mail address
|
||||
*
|
||||
*/
|
||||
@JsonProperty("mbox")
|
||||
@JsonPropertyDescription("Contributor Mail address")
|
||||
private String mbox;
|
||||
/**
|
||||
* The Name Schema
|
||||
* <p>
|
||||
* Name of the contributor
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("name")
|
||||
@JsonPropertyDescription("Name of the contributor")
|
||||
private String name;
|
||||
/**
|
||||
* The Role Schema
|
||||
* <p>
|
||||
* Type of contributor
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("role")
|
||||
@JsonDeserialize(as = java.util.LinkedHashSet.class)
|
||||
@JsonPropertyDescription("Type of contributor")
|
||||
private Set<String> role = null;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = 3452606902359513114L;
|
||||
|
||||
/**
|
||||
* The Contributor_id Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contributor_id")
|
||||
public ContributorId getContributorId() {
|
||||
return contributorId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Contributor_id Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contributor_id")
|
||||
public void setContributorId(ContributorId contributorId) {
|
||||
this.contributorId = contributorId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Contributor Mailbox Schema
|
||||
* <p>
|
||||
* Contributor Mail address
|
||||
*
|
||||
*/
|
||||
@JsonProperty("mbox")
|
||||
public String getMbox() {
|
||||
return mbox;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Contributor Mailbox Schema
|
||||
* <p>
|
||||
* Contributor Mail address
|
||||
*
|
||||
*/
|
||||
@JsonProperty("mbox")
|
||||
public void setMbox(String mbox) {
|
||||
this.mbox = mbox;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Name Schema
|
||||
* <p>
|
||||
* Name of the contributor
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("name")
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Name Schema
|
||||
* <p>
|
||||
* Name of the contributor
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("name")
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Role Schema
|
||||
* <p>
|
||||
* Type of contributor
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("role")
|
||||
public Set<String> getRole() {
|
||||
return role;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Role Schema
|
||||
* <p>
|
||||
* Type of contributor
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("role")
|
||||
public void setRole(Set<String> role) {
|
||||
this.role = role;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,155 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The Contributor_id Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"identifier",
|
||||
"type"
|
||||
})
|
||||
public class ContributorId implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Contributor Identifier Schema
|
||||
* <p>
|
||||
* Identifier for a contact person
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
@JsonPropertyDescription("Identifier for a contact person")
|
||||
private String identifier;
|
||||
/**
|
||||
* The Contributor Identifier Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: orcid, isni, openid, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
@JsonPropertyDescription("Identifier type. Allowed values: orcid, isni, openid, other")
|
||||
private ContributorId.Type type;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = 3089650417960767482L;
|
||||
|
||||
/**
|
||||
* The Contributor Identifier Schema
|
||||
* <p>
|
||||
* Identifier for a contact person
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public String getIdentifier() {
|
||||
return identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Contributor Identifier Schema
|
||||
* <p>
|
||||
* Identifier for a contact person
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public void setIdentifier(String identifier) {
|
||||
this.identifier = identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Contributor Identifier Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: orcid, isni, openid, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public ContributorId.Type getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Contributor Identifier Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: orcid, isni, openid, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public void setType(ContributorId.Type type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
|
||||
ORCID("orcid"),
|
||||
ISNI("isni"),
|
||||
OPENID("openid"),
|
||||
OTHER("other");
|
||||
private final String value;
|
||||
private final static Map<String, ContributorId.Type> CONSTANTS = new HashMap<String, ContributorId.Type>();
|
||||
|
||||
static {
|
||||
for (ContributorId.Type c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private Type(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static ContributorId.Type fromValue(String value) {
|
||||
ContributorId.Type constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,374 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The Cost Items Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"currency_code",
|
||||
"description",
|
||||
"title",
|
||||
"value"
|
||||
})
|
||||
public class Cost implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Cost Currency Code Schema
|
||||
* <p>
|
||||
* Allowed values defined by ISO 4217
|
||||
*
|
||||
*/
|
||||
@JsonProperty("currency_code")
|
||||
@JsonPropertyDescription("Allowed values defined by ISO 4217")
|
||||
private Cost.CurrencyCode currencyCode;
|
||||
/**
|
||||
* The Cost Description Schema
|
||||
* <p>
|
||||
* Cost(s) Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
@JsonPropertyDescription("Cost(s) Description")
|
||||
private String description;
|
||||
/**
|
||||
* The Cost Title Schema
|
||||
* <p>
|
||||
* Title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
@JsonPropertyDescription("Title")
|
||||
private String title;
|
||||
/**
|
||||
* The Cost Value Schema
|
||||
* <p>
|
||||
* Value
|
||||
*
|
||||
*/
|
||||
@JsonProperty("value")
|
||||
@JsonPropertyDescription("Value")
|
||||
private Double value;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = -322637784848035165L;
|
||||
|
||||
/**
|
||||
* The Cost Currency Code Schema
|
||||
* <p>
|
||||
* Allowed values defined by ISO 4217
|
||||
*
|
||||
*/
|
||||
@JsonProperty("currency_code")
|
||||
public Cost.CurrencyCode getCurrencyCode() {
|
||||
return currencyCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Cost Currency Code Schema
|
||||
* <p>
|
||||
* Allowed values defined by ISO 4217
|
||||
*
|
||||
*/
|
||||
@JsonProperty("currency_code")
|
||||
public void setCurrencyCode(Cost.CurrencyCode currencyCode) {
|
||||
this.currencyCode = currencyCode;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Cost Description Schema
|
||||
* <p>
|
||||
* Cost(s) Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Cost Description Schema
|
||||
* <p>
|
||||
* Cost(s) Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Cost Title Schema
|
||||
* <p>
|
||||
* Title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Cost Title Schema
|
||||
* <p>
|
||||
* Title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Cost Value Schema
|
||||
* <p>
|
||||
* Value
|
||||
*
|
||||
*/
|
||||
@JsonProperty("value")
|
||||
public Double getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Cost Value Schema
|
||||
* <p>
|
||||
* Value
|
||||
*
|
||||
*/
|
||||
@JsonProperty("value")
|
||||
public void setValue(Double value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum CurrencyCode {
|
||||
|
||||
AED("AED"),
|
||||
AFN("AFN"),
|
||||
ALL("ALL"),
|
||||
AMD("AMD"),
|
||||
ANG("ANG"),
|
||||
AOA("AOA"),
|
||||
ARS("ARS"),
|
||||
AUD("AUD"),
|
||||
AWG("AWG"),
|
||||
AZN("AZN"),
|
||||
BAM("BAM"),
|
||||
BBD("BBD"),
|
||||
BDT("BDT"),
|
||||
BGN("BGN"),
|
||||
BHD("BHD"),
|
||||
BIF("BIF"),
|
||||
BMD("BMD"),
|
||||
BND("BND"),
|
||||
BOB("BOB"),
|
||||
BRL("BRL"),
|
||||
BSD("BSD"),
|
||||
BTN("BTN"),
|
||||
BWP("BWP"),
|
||||
BYN("BYN"),
|
||||
BZD("BZD"),
|
||||
CAD("CAD"),
|
||||
CDF("CDF"),
|
||||
CHF("CHF"),
|
||||
CLP("CLP"),
|
||||
CNY("CNY"),
|
||||
COP("COP"),
|
||||
CRC("CRC"),
|
||||
CUC("CUC"),
|
||||
CUP("CUP"),
|
||||
CVE("CVE"),
|
||||
CZK("CZK"),
|
||||
DJF("DJF"),
|
||||
DKK("DKK"),
|
||||
DOP("DOP"),
|
||||
DZD("DZD"),
|
||||
EGP("EGP"),
|
||||
ERN("ERN"),
|
||||
ETB("ETB"),
|
||||
EUR("EUR"),
|
||||
FJD("FJD"),
|
||||
FKP("FKP"),
|
||||
GBP("GBP"),
|
||||
GEL("GEL"),
|
||||
GGP("GGP"),
|
||||
GHS("GHS"),
|
||||
GIP("GIP"),
|
||||
GMD("GMD"),
|
||||
GNF("GNF"),
|
||||
GTQ("GTQ"),
|
||||
GYD("GYD"),
|
||||
HKD("HKD"),
|
||||
HNL("HNL"),
|
||||
HRK("HRK"),
|
||||
HTG("HTG"),
|
||||
HUF("HUF"),
|
||||
IDR("IDR"),
|
||||
ILS("ILS"),
|
||||
IMP("IMP"),
|
||||
INR("INR"),
|
||||
IQD("IQD"),
|
||||
IRR("IRR"),
|
||||
ISK("ISK"),
|
||||
JEP("JEP"),
|
||||
JMD("JMD"),
|
||||
JOD("JOD"),
|
||||
JPY("JPY"),
|
||||
KES("KES"),
|
||||
KGS("KGS"),
|
||||
KHR("KHR"),
|
||||
KMF("KMF"),
|
||||
KPW("KPW"),
|
||||
KRW("KRW"),
|
||||
KWD("KWD"),
|
||||
KYD("KYD"),
|
||||
KZT("KZT"),
|
||||
LAK("LAK"),
|
||||
LBP("LBP"),
|
||||
LKR("LKR"),
|
||||
LRD("LRD"),
|
||||
LSL("LSL"),
|
||||
LYD("LYD"),
|
||||
MAD("MAD"),
|
||||
MDL("MDL"),
|
||||
MGA("MGA"),
|
||||
MKD("MKD"),
|
||||
MMK("MMK"),
|
||||
MNT("MNT"),
|
||||
MOP("MOP"),
|
||||
MRU("MRU"),
|
||||
MUR("MUR"),
|
||||
MVR("MVR"),
|
||||
MWK("MWK"),
|
||||
MXN("MXN"),
|
||||
MYR("MYR"),
|
||||
MZN("MZN"),
|
||||
NAD("NAD"),
|
||||
NGN("NGN"),
|
||||
NIO("NIO"),
|
||||
NOK("NOK"),
|
||||
NPR("NPR"),
|
||||
NZD("NZD"),
|
||||
OMR("OMR"),
|
||||
PAB("PAB"),
|
||||
PEN("PEN"),
|
||||
PGK("PGK"),
|
||||
PHP("PHP"),
|
||||
PKR("PKR"),
|
||||
PLN("PLN"),
|
||||
PYG("PYG"),
|
||||
QAR("QAR"),
|
||||
RON("RON"),
|
||||
RSD("RSD"),
|
||||
RUB("RUB"),
|
||||
RWF("RWF"),
|
||||
SAR("SAR"),
|
||||
SBD("SBD"),
|
||||
SCR("SCR"),
|
||||
SDG("SDG"),
|
||||
SEK("SEK"),
|
||||
SGD("SGD"),
|
||||
SHP("SHP"),
|
||||
SLL("SLL"),
|
||||
SOS("SOS"),
|
||||
SPL("SPL*"),
|
||||
SRD("SRD"),
|
||||
STN("STN"),
|
||||
SVC("SVC"),
|
||||
SYP("SYP"),
|
||||
SZL("SZL"),
|
||||
THB("THB"),
|
||||
TJS("TJS"),
|
||||
TMT("TMT"),
|
||||
TND("TND"),
|
||||
TOP("TOP"),
|
||||
TRY("TRY"),
|
||||
TTD("TTD"),
|
||||
TVD("TVD"),
|
||||
TWD("TWD"),
|
||||
TZS("TZS"),
|
||||
UAH("UAH"),
|
||||
UGX("UGX"),
|
||||
USD("USD"),
|
||||
UYU("UYU"),
|
||||
UZS("UZS"),
|
||||
VEF("VEF"),
|
||||
VND("VND"),
|
||||
VUV("VUV"),
|
||||
WST("WST"),
|
||||
XAF("XAF"),
|
||||
XCD("XCD"),
|
||||
XDR("XDR"),
|
||||
XOF("XOF"),
|
||||
XPF("XPF"),
|
||||
YER("YER"),
|
||||
ZAR("ZAR"),
|
||||
ZMW("ZMW"),
|
||||
ZWD("ZWD");
|
||||
private final String value;
|
||||
private final static Map<String, Cost.CurrencyCode> CONSTANTS = new HashMap<String, Cost.CurrencyCode>();
|
||||
|
||||
static {
|
||||
for (Cost.CurrencyCode c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private CurrencyCode(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Cost.CurrencyCode fromValue(String value) {
|
||||
Cost.CurrencyCode constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,839 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The Dataset Items Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"data_quality_assurance",
|
||||
"dataset_id",
|
||||
"description",
|
||||
"distribution",
|
||||
"issued",
|
||||
"keyword",
|
||||
"language",
|
||||
"metadata",
|
||||
"personal_data",
|
||||
"preservation_statement",
|
||||
"security_and_privacy",
|
||||
"sensitive_data",
|
||||
"technical_resource",
|
||||
"title",
|
||||
"type"
|
||||
})
|
||||
public class Dataset implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Data Quality Assurance Schema
|
||||
* <p>
|
||||
* Data Quality Assurance
|
||||
*
|
||||
*/
|
||||
@JsonProperty("data_quality_assurance")
|
||||
@JsonPropertyDescription("Data Quality Assurance")
|
||||
private List<String> dataQualityAssurance = null;
|
||||
/**
|
||||
* The Dataset ID Schema
|
||||
* <p>
|
||||
* Dataset ID
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dataset_id")
|
||||
@JsonPropertyDescription("Dataset ID")
|
||||
private DatasetId datasetId;
|
||||
/**
|
||||
* The Dataset Description Schema
|
||||
* <p>
|
||||
* Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
@JsonPropertyDescription("Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.")
|
||||
private String description;
|
||||
/**
|
||||
* The Dataset Distribution Schema
|
||||
* <p>
|
||||
* To provide technical information on a specific instance of data.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("distribution")
|
||||
@JsonPropertyDescription("To provide technical information on a specific instance of data.")
|
||||
private List<Distribution> distribution = null;
|
||||
/**
|
||||
* The Dataset Date of Issue Schema
|
||||
* <p>
|
||||
* Date of Issue
|
||||
*
|
||||
*/
|
||||
@JsonProperty("issued")
|
||||
@JsonPropertyDescription("Date of Issue")
|
||||
private String issued;
|
||||
/**
|
||||
* The Dataset Keyword(s) Schema
|
||||
* <p>
|
||||
* Keywords
|
||||
*
|
||||
*/
|
||||
@JsonProperty("keyword")
|
||||
@JsonPropertyDescription("Keywords")
|
||||
private List<String> keyword = null;
|
||||
/**
|
||||
* The Dataset Language Schema
|
||||
* <p>
|
||||
* Language of the dataset expressed using ISO 639-3.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("language")
|
||||
@JsonPropertyDescription("Language of the dataset expressed using ISO 639-3.")
|
||||
private Dataset.Language language;
|
||||
/**
|
||||
* The Dataset Metadata Schema
|
||||
* <p>
|
||||
* To describe metadata standards used.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("metadata")
|
||||
@JsonPropertyDescription("To describe metadata standards used.")
|
||||
private List<Metadatum> metadata = null;
|
||||
/**
|
||||
* The Dataset Personal Data Schema
|
||||
* <p>
|
||||
* If any personal data is contained. Allowed values: yes, no, unknown
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("personal_data")
|
||||
@JsonPropertyDescription("If any personal data is contained. Allowed values: yes, no, unknown")
|
||||
private Dataset.PersonalData personalData;
|
||||
/**
|
||||
* The Dataset Preservation Statement Schema
|
||||
* <p>
|
||||
* Preservation Statement
|
||||
*
|
||||
*/
|
||||
@JsonProperty("preservation_statement")
|
||||
@JsonPropertyDescription("Preservation Statement")
|
||||
private String preservationStatement;
|
||||
/**
|
||||
* The Dataset Security and Policy Schema
|
||||
* <p>
|
||||
* To list all issues and requirements related to security and privacy
|
||||
*
|
||||
*/
|
||||
@JsonProperty("security_and_privacy")
|
||||
@JsonPropertyDescription("To list all issues and requirements related to security and privacy")
|
||||
private List<SecurityAndPrivacy> securityAndPrivacy = null;
|
||||
/**
|
||||
* The Dataset Sensitive Data Schema
|
||||
* <p>
|
||||
* If any sensitive data is contained. Allowed values: yes, no, unknown
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("sensitive_data")
|
||||
@JsonPropertyDescription("If any sensitive data is contained. Allowed values: yes, no, unknown")
|
||||
private Dataset.SensitiveData sensitiveData;
|
||||
/**
|
||||
* The Dataset Technical Resource Schema
|
||||
* <p>
|
||||
* To list all technical resources needed to implement a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("technical_resource")
|
||||
@JsonPropertyDescription("To list all technical resources needed to implement a DMP")
|
||||
private List<TechnicalResource> technicalResource = null;
|
||||
/**
|
||||
* The Dataset Title Schema
|
||||
* <p>
|
||||
* Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
@JsonPropertyDescription("Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.")
|
||||
private String title;
|
||||
/**
|
||||
* The Dataset Type Schema
|
||||
* <p>
|
||||
* If appropriate, type according to: DataCite and/or COAR dictionary. Otherwise use the common name for the type, e.g. raw data, software, survey, etc. https://schema.datacite.org/meta/kernel-4.1/doc/DataCite-MetadataKernel_v4.1.pdf http://vocabularies.coar-repositories.org/pubby/resource_type.html
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
@JsonPropertyDescription("If appropriate, type according to: DataCite and/or COAR dictionary. Otherwise use the common name for the type, e.g. raw data, software, survey, etc. https://schema.datacite.org/meta/kernel-4.1/doc/DataCite-MetadataKernel_v4.1.pdf http://vocabularies.coar-repositories.org/pubby/resource_type.html")
|
||||
private String type;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = -6931119120629009399L;
|
||||
|
||||
/**
|
||||
* The Data Quality Assurance Schema
|
||||
* <p>
|
||||
* Data Quality Assurance
|
||||
*
|
||||
*/
|
||||
@JsonProperty("data_quality_assurance")
|
||||
public List<String> getDataQualityAssurance() {
|
||||
return dataQualityAssurance;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Data Quality Assurance Schema
|
||||
* <p>
|
||||
* Data Quality Assurance
|
||||
*
|
||||
*/
|
||||
@JsonProperty("data_quality_assurance")
|
||||
public void setDataQualityAssurance(List<String> dataQualityAssurance) {
|
||||
this.dataQualityAssurance = dataQualityAssurance;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset ID Schema
|
||||
* <p>
|
||||
* Dataset ID
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dataset_id")
|
||||
public DatasetId getDatasetId() {
|
||||
return datasetId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset ID Schema
|
||||
* <p>
|
||||
* Dataset ID
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dataset_id")
|
||||
public void setDatasetId(DatasetId datasetId) {
|
||||
this.datasetId = datasetId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Description Schema
|
||||
* <p>
|
||||
* Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Description Schema
|
||||
* <p>
|
||||
* Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Schema
|
||||
* <p>
|
||||
* To provide technical information on a specific instance of data.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("distribution")
|
||||
public List<Distribution> getDistribution() {
|
||||
return distribution;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Schema
|
||||
* <p>
|
||||
* To provide technical information on a specific instance of data.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("distribution")
|
||||
public void setDistribution(List<Distribution> distribution) {
|
||||
this.distribution = distribution;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Date of Issue Schema
|
||||
* <p>
|
||||
* Date of Issue
|
||||
*
|
||||
*/
|
||||
@JsonProperty("issued")
|
||||
public String getIssued() {
|
||||
return issued;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Date of Issue Schema
|
||||
* <p>
|
||||
* Date of Issue
|
||||
*
|
||||
*/
|
||||
@JsonProperty("issued")
|
||||
public void setIssued(String issued) {
|
||||
this.issued = issued;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Keyword(s) Schema
|
||||
* <p>
|
||||
* Keywords
|
||||
*
|
||||
*/
|
||||
@JsonProperty("keyword")
|
||||
public List<String> getKeyword() {
|
||||
return keyword;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Keyword(s) Schema
|
||||
* <p>
|
||||
* Keywords
|
||||
*
|
||||
*/
|
||||
@JsonProperty("keyword")
|
||||
public void setKeyword(List<String> keyword) {
|
||||
this.keyword = keyword;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Language Schema
|
||||
* <p>
|
||||
* Language of the dataset expressed using ISO 639-3.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("language")
|
||||
public Dataset.Language getLanguage() {
|
||||
return language;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Language Schema
|
||||
* <p>
|
||||
* Language of the dataset expressed using ISO 639-3.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("language")
|
||||
public void setLanguage(Dataset.Language language) {
|
||||
this.language = language;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Schema
|
||||
* <p>
|
||||
* To describe metadata standards used.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("metadata")
|
||||
public List<Metadatum> getMetadata() {
|
||||
return metadata;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Schema
|
||||
* <p>
|
||||
* To describe metadata standards used.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("metadata")
|
||||
public void setMetadata(List<Metadatum> metadata) {
|
||||
this.metadata = metadata;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Personal Data Schema
|
||||
* <p>
|
||||
* If any personal data is contained. Allowed values: yes, no, unknown
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("personal_data")
|
||||
public Dataset.PersonalData getPersonalData() {
|
||||
return personalData;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Personal Data Schema
|
||||
* <p>
|
||||
* If any personal data is contained. Allowed values: yes, no, unknown
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("personal_data")
|
||||
public void setPersonalData(Dataset.PersonalData personalData) {
|
||||
this.personalData = personalData;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Preservation Statement Schema
|
||||
* <p>
|
||||
* Preservation Statement
|
||||
*
|
||||
*/
|
||||
@JsonProperty("preservation_statement")
|
||||
public String getPreservationStatement() {
|
||||
return preservationStatement;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Preservation Statement Schema
|
||||
* <p>
|
||||
* Preservation Statement
|
||||
*
|
||||
*/
|
||||
@JsonProperty("preservation_statement")
|
||||
public void setPreservationStatement(String preservationStatement) {
|
||||
this.preservationStatement = preservationStatement;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Security and Policy Schema
|
||||
* <p>
|
||||
* To list all issues and requirements related to security and privacy
|
||||
*
|
||||
*/
|
||||
@JsonProperty("security_and_privacy")
|
||||
public List<SecurityAndPrivacy> getSecurityAndPrivacy() {
|
||||
return securityAndPrivacy;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Security and Policy Schema
|
||||
* <p>
|
||||
* To list all issues and requirements related to security and privacy
|
||||
*
|
||||
*/
|
||||
@JsonProperty("security_and_privacy")
|
||||
public void setSecurityAndPrivacy(List<SecurityAndPrivacy> securityAndPrivacy) {
|
||||
this.securityAndPrivacy = securityAndPrivacy;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Sensitive Data Schema
|
||||
* <p>
|
||||
* If any sensitive data is contained. Allowed values: yes, no, unknown
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("sensitive_data")
|
||||
public Dataset.SensitiveData getSensitiveData() {
|
||||
return sensitiveData;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Sensitive Data Schema
|
||||
* <p>
|
||||
* If any sensitive data is contained. Allowed values: yes, no, unknown
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("sensitive_data")
|
||||
public void setSensitiveData(Dataset.SensitiveData sensitiveData) {
|
||||
this.sensitiveData = sensitiveData;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Technical Resource Schema
|
||||
* <p>
|
||||
* To list all technical resources needed to implement a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("technical_resource")
|
||||
public List<TechnicalResource> getTechnicalResource() {
|
||||
return technicalResource;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Technical Resource Schema
|
||||
* <p>
|
||||
* To list all technical resources needed to implement a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("technical_resource")
|
||||
public void setTechnicalResource(List<TechnicalResource> technicalResource) {
|
||||
this.technicalResource = technicalResource;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Title Schema
|
||||
* <p>
|
||||
* Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Title Schema
|
||||
* <p>
|
||||
* Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Type Schema
|
||||
* <p>
|
||||
* If appropriate, type according to: DataCite and/or COAR dictionary. Otherwise use the common name for the type, e.g. raw data, software, survey, etc. https://schema.datacite.org/meta/kernel-4.1/doc/DataCite-MetadataKernel_v4.1.pdf http://vocabularies.coar-repositories.org/pubby/resource_type.html
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public String getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Type Schema
|
||||
* <p>
|
||||
* If appropriate, type according to: DataCite and/or COAR dictionary. Otherwise use the common name for the type, e.g. raw data, software, survey, etc. https://schema.datacite.org/meta/kernel-4.1/doc/DataCite-MetadataKernel_v4.1.pdf http://vocabularies.coar-repositories.org/pubby/resource_type.html
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public void setType(String type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum Language {
|
||||
|
||||
AAR("aar"),
|
||||
ABK("abk"),
|
||||
AFR("afr"),
|
||||
AKA("aka"),
|
||||
AMH("amh"),
|
||||
ARA("ara"),
|
||||
ARG("arg"),
|
||||
ASM("asm"),
|
||||
AVA("ava"),
|
||||
AVE("ave"),
|
||||
AYM("aym"),
|
||||
AZE("aze"),
|
||||
BAK("bak"),
|
||||
BAM("bam"),
|
||||
BEL("bel"),
|
||||
BEN("ben"),
|
||||
BIH("bih"),
|
||||
BIS("bis"),
|
||||
BOD("bod"),
|
||||
BOS("bos"),
|
||||
BRE("bre"),
|
||||
BUL("bul"),
|
||||
CAT("cat"),
|
||||
CES("ces"),
|
||||
CHA("cha"),
|
||||
CHE("che"),
|
||||
CHU("chu"),
|
||||
CHV("chv"),
|
||||
COR("cor"),
|
||||
COS("cos"),
|
||||
CRE("cre"),
|
||||
CYM("cym"),
|
||||
DAN("dan"),
|
||||
DEU("deu"),
|
||||
DIV("div"),
|
||||
DZO("dzo"),
|
||||
ELL("ell"),
|
||||
ENG("eng"),
|
||||
EPO("epo"),
|
||||
EST("est"),
|
||||
EUS("eus"),
|
||||
EWE("ewe"),
|
||||
FAO("fao"),
|
||||
FAS("fas"),
|
||||
FIJ("fij"),
|
||||
FIN("fin"),
|
||||
FRA("fra"),
|
||||
FRY("fry"),
|
||||
FUL("ful"),
|
||||
GLA("gla"),
|
||||
GLE("gle"),
|
||||
GLG("glg"),
|
||||
GLV("glv"),
|
||||
GRN("grn"),
|
||||
GUJ("guj"),
|
||||
HAT("hat"),
|
||||
HAU("hau"),
|
||||
HBS("hbs"),
|
||||
HEB("heb"),
|
||||
HER("her"),
|
||||
HIN("hin"),
|
||||
HMO("hmo"),
|
||||
HRV("hrv"),
|
||||
HUN("hun"),
|
||||
HYE("hye"),
|
||||
IBO("ibo"),
|
||||
IDO("ido"),
|
||||
III("iii"),
|
||||
IKU("iku"),
|
||||
ILE("ile"),
|
||||
INA("ina"),
|
||||
IND("ind"),
|
||||
IPK("ipk"),
|
||||
ISL("isl"),
|
||||
ITA("ita"),
|
||||
JAV("jav"),
|
||||
JPN("jpn"),
|
||||
KAL("kal"),
|
||||
KAN("kan"),
|
||||
KAS("kas"),
|
||||
KAT("kat"),
|
||||
KAU("kau"),
|
||||
KAZ("kaz"),
|
||||
KHM("khm"),
|
||||
KIK("kik"),
|
||||
KIN("kin"),
|
||||
KIR("kir"),
|
||||
KOM("kom"),
|
||||
KON("kon"),
|
||||
KOR("kor"),
|
||||
KUA("kua"),
|
||||
KUR("kur"),
|
||||
LAO("lao"),
|
||||
LAT("lat"),
|
||||
LAV("lav"),
|
||||
LIM("lim"),
|
||||
LIN("lin"),
|
||||
LIT("lit"),
|
||||
LTZ("ltz"),
|
||||
LUB("lub"),
|
||||
LUG("lug"),
|
||||
MAH("mah"),
|
||||
MAL("mal"),
|
||||
MAR("mar"),
|
||||
MKD("mkd"),
|
||||
MLG("mlg"),
|
||||
MLT("mlt"),
|
||||
MON("mon"),
|
||||
MRI("mri"),
|
||||
MSA("msa"),
|
||||
MYA("mya"),
|
||||
NAU("nau"),
|
||||
NAV("nav"),
|
||||
NBL("nbl"),
|
||||
NDE("nde"),
|
||||
NDO("ndo"),
|
||||
NEP("nep"),
|
||||
NLD("nld"),
|
||||
NNO("nno"),
|
||||
NOB("nob"),
|
||||
NOR("nor"),
|
||||
NYA("nya"),
|
||||
OCI("oci"),
|
||||
OJI("oji"),
|
||||
ORI("ori"),
|
||||
ORM("orm"),
|
||||
OSS("oss"),
|
||||
PAN("pan"),
|
||||
PLI("pli"),
|
||||
POL("pol"),
|
||||
POR("por"),
|
||||
PUS("pus"),
|
||||
QUE("que"),
|
||||
ROH("roh"),
|
||||
RON("ron"),
|
||||
RUN("run"),
|
||||
RUS("rus"),
|
||||
SAG("sag"),
|
||||
SAN("san"),
|
||||
SIN("sin"),
|
||||
SLK("slk"),
|
||||
SLV("slv"),
|
||||
SME("sme"),
|
||||
SMO("smo"),
|
||||
SNA("sna"),
|
||||
SND("snd"),
|
||||
SOM("som"),
|
||||
SOT("sot"),
|
||||
SPA("spa"),
|
||||
SQI("sqi"),
|
||||
SRD("srd"),
|
||||
SRP("srp"),
|
||||
SSW("ssw"),
|
||||
SUN("sun"),
|
||||
SWA("swa"),
|
||||
SWE("swe"),
|
||||
TAH("tah"),
|
||||
TAM("tam"),
|
||||
TAT("tat"),
|
||||
TEL("tel"),
|
||||
TGK("tgk"),
|
||||
TGL("tgl"),
|
||||
THA("tha"),
|
||||
TIR("tir"),
|
||||
TON("ton"),
|
||||
TSN("tsn"),
|
||||
TSO("tso"),
|
||||
TUK("tuk"),
|
||||
TUR("tur"),
|
||||
TWI("twi"),
|
||||
UIG("uig"),
|
||||
UKR("ukr"),
|
||||
URD("urd"),
|
||||
UZB("uzb"),
|
||||
VEN("ven"),
|
||||
VIE("vie"),
|
||||
VOL("vol"),
|
||||
WLN("wln"),
|
||||
WOL("wol"),
|
||||
XHO("xho"),
|
||||
YID("yid"),
|
||||
YOR("yor"),
|
||||
ZHA("zha"),
|
||||
ZHO("zho"),
|
||||
ZUL("zul");
|
||||
private final String value;
|
||||
private final static Map<String, Dataset.Language> CONSTANTS = new HashMap<String, Dataset.Language>();
|
||||
|
||||
static {
|
||||
for (Dataset.Language c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private Language(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Dataset.Language fromValue(String value) {
|
||||
Dataset.Language constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public enum PersonalData {
|
||||
|
||||
YES("yes"),
|
||||
NO("no"),
|
||||
UNKNOWN("unknown");
|
||||
private final String value;
|
||||
private final static Map<String, Dataset.PersonalData> CONSTANTS = new HashMap<String, Dataset.PersonalData>();
|
||||
|
||||
static {
|
||||
for (Dataset.PersonalData c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private PersonalData(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Dataset.PersonalData fromValue(String value) {
|
||||
Dataset.PersonalData constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public enum SensitiveData {
|
||||
|
||||
YES("yes"),
|
||||
NO("no"),
|
||||
UNKNOWN("unknown");
|
||||
private final String value;
|
||||
private final static Map<String, Dataset.SensitiveData> CONSTANTS = new HashMap<String, Dataset.SensitiveData>();
|
||||
|
||||
static {
|
||||
for (Dataset.SensitiveData c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private SensitiveData(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Dataset.SensitiveData fromValue(String value) {
|
||||
Dataset.SensitiveData constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,156 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The Dataset ID Schema
|
||||
* <p>
|
||||
* Dataset ID
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"identifier",
|
||||
"type"
|
||||
})
|
||||
public class DatasetId implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Dataset Identifier Schema
|
||||
* <p>
|
||||
* Identifier for a dataset
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
@JsonPropertyDescription("Identifier for a dataset")
|
||||
private String identifier;
|
||||
/**
|
||||
* The Dataset Identifier Type Schema
|
||||
* <p>
|
||||
* Dataset identifier type. Allowed values: handle, doi, ark, url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
@JsonPropertyDescription("Dataset identifier type. Allowed values: handle, doi, ark, url, other")
|
||||
private DatasetId.Type type;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = -6295164005851378031L;
|
||||
|
||||
/**
|
||||
* The Dataset Identifier Schema
|
||||
* <p>
|
||||
* Identifier for a dataset
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public String getIdentifier() {
|
||||
return identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Identifier Schema
|
||||
* <p>
|
||||
* Identifier for a dataset
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public void setIdentifier(String identifier) {
|
||||
this.identifier = identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Identifier Type Schema
|
||||
* <p>
|
||||
* Dataset identifier type. Allowed values: handle, doi, ark, url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public DatasetId.Type getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Identifier Type Schema
|
||||
* <p>
|
||||
* Dataset identifier type. Allowed values: handle, doi, ark, url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public void setType(DatasetId.Type type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
|
||||
HANDLE("handle"),
|
||||
DOI("doi"),
|
||||
ARK("ark"),
|
||||
URL("url"),
|
||||
OTHER("other");
|
||||
private final String value;
|
||||
private final static Map<String, DatasetId.Type> CONSTANTS = new HashMap<String, DatasetId.Type>();
|
||||
|
||||
static {
|
||||
for (DatasetId.Type c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private Type(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static DatasetId.Type fromValue(String value) {
|
||||
DatasetId.Type constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,412 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.net.URI;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Items Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"access_url",
|
||||
"available_until",
|
||||
"byte_size",
|
||||
"data_access",
|
||||
"description",
|
||||
"download_url",
|
||||
"format",
|
||||
"host",
|
||||
"license",
|
||||
"title"
|
||||
})
|
||||
public class Distribution implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Access URL Schema
|
||||
* <p>
|
||||
* A URL of the resource that gives access to a distribution of the dataset. e.g. landing page.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("access_url")
|
||||
@JsonPropertyDescription("A URL of the resource that gives access to a distribution of the dataset. e.g. landing page.")
|
||||
private String accessUrl;
|
||||
/**
|
||||
* The Dataset Distribution Available Until Schema
|
||||
* <p>
|
||||
* Indicates how long this distribution will be / should be available.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("available_until")
|
||||
@JsonPropertyDescription("Indicates how long this distribution will be / should be available.")
|
||||
private String availableUntil;
|
||||
/**
|
||||
* The Dataset Distribution Byte Size Schema
|
||||
* <p>
|
||||
* Size in bytes.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("byte_size")
|
||||
@JsonPropertyDescription("Size in bytes.")
|
||||
private Integer byteSize;
|
||||
/**
|
||||
* The Dataset Distribution Data Access Schema
|
||||
* <p>
|
||||
* Indicates access mode for data. Allowed values: open, shared, closed
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("data_access")
|
||||
@JsonPropertyDescription("Indicates access mode for data. Allowed values: open, shared, closed")
|
||||
private Distribution.DataAccess dataAccess;
|
||||
/**
|
||||
* The Dataset Distribution Description Schema
|
||||
* <p>
|
||||
* Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
@JsonPropertyDescription("Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.")
|
||||
private String description;
|
||||
/**
|
||||
* The Dataset Distribution Download URL Schema
|
||||
* <p>
|
||||
* The URL of the downloadable file in a given format. E.g. CSV file or RDF file.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("download_url")
|
||||
@JsonPropertyDescription("The URL of the downloadable file in a given format. E.g. CSV file or RDF file.")
|
||||
private URI downloadUrl;
|
||||
/**
|
||||
* The Dataset Distribution Format Schema
|
||||
* <p>
|
||||
* Format according to: https://www.iana.org/assignments/media-types/media-types.xhtml if appropriate, otherwise use the common name for this format.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("format")
|
||||
@JsonPropertyDescription("Format according to: https://www.iana.org/assignments/media-types/media-types.xhtml if appropriate, otherwise use the common name for this format.")
|
||||
private List<String> format = null;
|
||||
/**
|
||||
* The Dataset Distribution Host Schema
|
||||
* <p>
|
||||
* To provide information on quality of service provided by infrastructure (e.g. repository) where data is stored.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("host")
|
||||
@JsonPropertyDescription("To provide information on quality of service provided by infrastructure (e.g. repository) where data is stored.")
|
||||
private Host host;
|
||||
/**
|
||||
* The Dataset Distribution License(s) Schema
|
||||
* <p>
|
||||
* To list all licenses applied to a specific distribution of data.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("license")
|
||||
@JsonPropertyDescription("To list all licenses applied to a specific distribution of data.")
|
||||
private List<License> license = null;
|
||||
/**
|
||||
* The Dataset Distribution Title Schema
|
||||
* <p>
|
||||
* Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
@JsonPropertyDescription("Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.")
|
||||
private String title;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = -6018365280419917902L;
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Access URL Schema
|
||||
* <p>
|
||||
* A URL of the resource that gives access to a distribution of the dataset. e.g. landing page.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("access_url")
|
||||
public String getAccessUrl() {
|
||||
return accessUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Access URL Schema
|
||||
* <p>
|
||||
* A URL of the resource that gives access to a distribution of the dataset. e.g. landing page.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("access_url")
|
||||
public void setAccessUrl(String accessUrl) {
|
||||
this.accessUrl = accessUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Available Until Schema
|
||||
* <p>
|
||||
* Indicates how long this distribution will be / should be available.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("available_until")
|
||||
public String getAvailableUntil() {
|
||||
return availableUntil;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Available Until Schema
|
||||
* <p>
|
||||
* Indicates how long this distribution will be / should be available.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("available_until")
|
||||
public void setAvailableUntil(String availableUntil) {
|
||||
this.availableUntil = availableUntil;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Byte Size Schema
|
||||
* <p>
|
||||
* Size in bytes.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("byte_size")
|
||||
public Integer getByteSize() {
|
||||
return byteSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Byte Size Schema
|
||||
* <p>
|
||||
* Size in bytes.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("byte_size")
|
||||
public void setByteSize(Integer byteSize) {
|
||||
this.byteSize = byteSize;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Data Access Schema
|
||||
* <p>
|
||||
* Indicates access mode for data. Allowed values: open, shared, closed
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("data_access")
|
||||
public Distribution.DataAccess getDataAccess() {
|
||||
return dataAccess;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Data Access Schema
|
||||
* <p>
|
||||
* Indicates access mode for data. Allowed values: open, shared, closed
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("data_access")
|
||||
public void setDataAccess(Distribution.DataAccess dataAccess) {
|
||||
this.dataAccess = dataAccess;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Description Schema
|
||||
* <p>
|
||||
* Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Description Schema
|
||||
* <p>
|
||||
* Description is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Download URL Schema
|
||||
* <p>
|
||||
* The URL of the downloadable file in a given format. E.g. CSV file or RDF file.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("download_url")
|
||||
public URI getDownloadUrl() {
|
||||
return downloadUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Download URL Schema
|
||||
* <p>
|
||||
* The URL of the downloadable file in a given format. E.g. CSV file or RDF file.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("download_url")
|
||||
public void setDownloadUrl(URI downloadUrl) {
|
||||
this.downloadUrl = downloadUrl;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Format Schema
|
||||
* <p>
|
||||
* Format according to: https://www.iana.org/assignments/media-types/media-types.xhtml if appropriate, otherwise use the common name for this format.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("format")
|
||||
public List<String> getFormat() {
|
||||
return format;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Format Schema
|
||||
* <p>
|
||||
* Format according to: https://www.iana.org/assignments/media-types/media-types.xhtml if appropriate, otherwise use the common name for this format.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("format")
|
||||
public void setFormat(List<String> format) {
|
||||
this.format = format;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Schema
|
||||
* <p>
|
||||
* To provide information on quality of service provided by infrastructure (e.g. repository) where data is stored.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("host")
|
||||
public Host getHost() {
|
||||
return host;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Schema
|
||||
* <p>
|
||||
* To provide information on quality of service provided by infrastructure (e.g. repository) where data is stored.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("host")
|
||||
public void setHost(Host host) {
|
||||
this.host = host;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution License(s) Schema
|
||||
* <p>
|
||||
* To list all licenses applied to a specific distribution of data.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("license")
|
||||
public List<License> getLicense() {
|
||||
return license;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution License(s) Schema
|
||||
* <p>
|
||||
* To list all licenses applied to a specific distribution of data.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("license")
|
||||
public void setLicense(List<License> license) {
|
||||
this.license = license;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Title Schema
|
||||
* <p>
|
||||
* Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Title Schema
|
||||
* <p>
|
||||
* Title is a property in both Dataset and Distribution, in compliance with W3C DCAT. In some cases these might be identical, but in most cases the Dataset represents a more abstract concept, while the distribution can point to a specific file.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum DataAccess {
|
||||
|
||||
OPEN("open"),
|
||||
SHARED("shared"),
|
||||
CLOSED("closed");
|
||||
private final String value;
|
||||
private final static Map<String, Distribution.DataAccess> CONSTANTS = new HashMap<String, Distribution.DataAccess>();
|
||||
|
||||
static {
|
||||
for (Distribution.DataAccess c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private DataAccess(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Distribution.DataAccess fromValue(String value) {
|
||||
Distribution.DataAccess constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,774 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.net.URI;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The DMP Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"contact",
|
||||
"contributor",
|
||||
"cost",
|
||||
"created",
|
||||
"dataset",
|
||||
"description",
|
||||
"dmp_id",
|
||||
"ethical_issues_description",
|
||||
"ethical_issues_exist",
|
||||
"ethical_issues_report",
|
||||
"language",
|
||||
"modified",
|
||||
"project",
|
||||
"title"
|
||||
})
|
||||
public class Dmp implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The DMP Contact Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contact")
|
||||
private Contact contact;
|
||||
/**
|
||||
* The Contributor Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contributor")
|
||||
private List<Contributor> contributor = null;
|
||||
/**
|
||||
* The Cost Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonProperty("cost")
|
||||
private List<Cost> cost = null;
|
||||
/**
|
||||
* The DMP Creation Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonProperty("created")
|
||||
@JsonPropertyDescription("")
|
||||
private Date created;
|
||||
/**
|
||||
* The Dataset Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dataset")
|
||||
private List<Dataset> dataset = null;
|
||||
/**
|
||||
* The DMP Description Schema
|
||||
* <p>
|
||||
* To provide any free-form text information on a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
@JsonPropertyDescription("To provide any free-form text information on a DMP")
|
||||
private String description;
|
||||
/**
|
||||
* The DMP Identifier Schema
|
||||
* <p>
|
||||
* Identifier for the DMP itself
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dmp_id")
|
||||
@JsonPropertyDescription("Identifier for the DMP itself")
|
||||
private DmpId dmpId;
|
||||
/**
|
||||
* The DMP Ethical Issues Description Schema
|
||||
* <p>
|
||||
* To describe ethical issues directly in a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("ethical_issues_description")
|
||||
@JsonPropertyDescription("To describe ethical issues directly in a DMP")
|
||||
private String ethicalIssuesDescription;
|
||||
/**
|
||||
* The DMP Ethical Issues Exist Schema
|
||||
* <p>
|
||||
* To indicate whether there are ethical issues related to data that this DMP describes. Allowed values: yes, no, unknown
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("ethical_issues_exist")
|
||||
@JsonPropertyDescription("To indicate whether there are ethical issues related to data that this DMP describes. Allowed values: yes, no, unknown")
|
||||
private Dmp.EthicalIssuesExist ethicalIssuesExist;
|
||||
/**
|
||||
* The DMP Ethical Issues Report Schema
|
||||
* <p>
|
||||
* To indicate where a protocol from a meeting with an ethical commitee can be found
|
||||
*
|
||||
*/
|
||||
@JsonProperty("ethical_issues_report")
|
||||
@JsonPropertyDescription("To indicate where a protocol from a meeting with an ethical commitee can be found")
|
||||
private URI ethicalIssuesReport;
|
||||
/**
|
||||
* The DMP Language Schema
|
||||
* <p>
|
||||
* Language of the DMP expressed using ISO 639-3.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("language")
|
||||
@JsonPropertyDescription("Language of the DMP expressed using ISO 639-3.")
|
||||
private Dmp.Language language;
|
||||
/**
|
||||
* The DMP Modification Schema
|
||||
* <p>
|
||||
* Must be set each time DMP is modified. Indicates DMP version.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("modified")
|
||||
@JsonPropertyDescription("Must be set each time DMP is modified. Indicates DMP version.")
|
||||
private Date modified;
|
||||
/**
|
||||
* The DMP Project Schema
|
||||
* <p>
|
||||
* Project related to a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("project")
|
||||
@JsonPropertyDescription("Project related to a DMP")
|
||||
private List<Project> project = null;
|
||||
/**
|
||||
* The DMP Title Schema
|
||||
* <p>
|
||||
* Title of a DMP
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
@JsonPropertyDescription("Title of a DMP")
|
||||
private String title;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = 4599713332472772292L;
|
||||
|
||||
/**
|
||||
* The DMP Contact Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contact")
|
||||
public Contact getContact() {
|
||||
return contact;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Contact Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contact")
|
||||
public void setContact(Contact contact) {
|
||||
this.contact = contact;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Contributor Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contributor")
|
||||
public List<Contributor> getContributor() {
|
||||
return contributor;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Contributor Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonProperty("contributor")
|
||||
public void setContributor(List<Contributor> contributor) {
|
||||
this.contributor = contributor;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Cost Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonProperty("cost")
|
||||
public List<Cost> getCost() {
|
||||
return cost;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Cost Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonProperty("cost")
|
||||
public void setCost(List<Cost> cost) {
|
||||
this.cost = cost;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Creation Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonProperty("created")
|
||||
public Date getCreated() {
|
||||
return created;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Creation Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonProperty("created")
|
||||
public void setCreated(Date created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dataset")
|
||||
public List<Dataset> getDataset() {
|
||||
return dataset;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dataset")
|
||||
public void setDataset(List<Dataset> dataset) {
|
||||
this.dataset = dataset;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Description Schema
|
||||
* <p>
|
||||
* To provide any free-form text information on a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Description Schema
|
||||
* <p>
|
||||
* To provide any free-form text information on a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Identifier Schema
|
||||
* <p>
|
||||
* Identifier for the DMP itself
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dmp_id")
|
||||
public DmpId getDmpId() {
|
||||
return dmpId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Identifier Schema
|
||||
* <p>
|
||||
* Identifier for the DMP itself
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dmp_id")
|
||||
public void setDmpId(DmpId dmpId) {
|
||||
this.dmpId = dmpId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Ethical Issues Description Schema
|
||||
* <p>
|
||||
* To describe ethical issues directly in a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("ethical_issues_description")
|
||||
public String getEthicalIssuesDescription() {
|
||||
return ethicalIssuesDescription;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Ethical Issues Description Schema
|
||||
* <p>
|
||||
* To describe ethical issues directly in a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("ethical_issues_description")
|
||||
public void setEthicalIssuesDescription(String ethicalIssuesDescription) {
|
||||
this.ethicalIssuesDescription = ethicalIssuesDescription;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Ethical Issues Exist Schema
|
||||
* <p>
|
||||
* To indicate whether there are ethical issues related to data that this DMP describes. Allowed values: yes, no, unknown
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("ethical_issues_exist")
|
||||
public Dmp.EthicalIssuesExist getEthicalIssuesExist() {
|
||||
return ethicalIssuesExist;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Ethical Issues Exist Schema
|
||||
* <p>
|
||||
* To indicate whether there are ethical issues related to data that this DMP describes. Allowed values: yes, no, unknown
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("ethical_issues_exist")
|
||||
public void setEthicalIssuesExist(Dmp.EthicalIssuesExist ethicalIssuesExist) {
|
||||
this.ethicalIssuesExist = ethicalIssuesExist;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Ethical Issues Report Schema
|
||||
* <p>
|
||||
* To indicate where a protocol from a meeting with an ethical commitee can be found
|
||||
*
|
||||
*/
|
||||
@JsonProperty("ethical_issues_report")
|
||||
public URI getEthicalIssuesReport() {
|
||||
return ethicalIssuesReport;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Ethical Issues Report Schema
|
||||
* <p>
|
||||
* To indicate where a protocol from a meeting with an ethical commitee can be found
|
||||
*
|
||||
*/
|
||||
@JsonProperty("ethical_issues_report")
|
||||
public void setEthicalIssuesReport(URI ethicalIssuesReport) {
|
||||
this.ethicalIssuesReport = ethicalIssuesReport;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Language Schema
|
||||
* <p>
|
||||
* Language of the DMP expressed using ISO 639-3.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("language")
|
||||
public Dmp.Language getLanguage() {
|
||||
return language;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Language Schema
|
||||
* <p>
|
||||
* Language of the DMP expressed using ISO 639-3.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("language")
|
||||
public void setLanguage(Dmp.Language language) {
|
||||
this.language = language;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Modification Schema
|
||||
* <p>
|
||||
* Must be set each time DMP is modified. Indicates DMP version.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("modified")
|
||||
public Date getModified() {
|
||||
return modified;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Modification Schema
|
||||
* <p>
|
||||
* Must be set each time DMP is modified. Indicates DMP version.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("modified")
|
||||
public void setModified(Date modified) {
|
||||
this.modified = modified;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Project Schema
|
||||
* <p>
|
||||
* Project related to a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("project")
|
||||
public List<Project> getProject() {
|
||||
return project;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Project Schema
|
||||
* <p>
|
||||
* Project related to a DMP
|
||||
*
|
||||
*/
|
||||
@JsonProperty("project")
|
||||
public void setProject(List<Project> project) {
|
||||
this.project = project;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Title Schema
|
||||
* <p>
|
||||
* Title of a DMP
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Title Schema
|
||||
* <p>
|
||||
* Title of a DMP
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum EthicalIssuesExist {
|
||||
|
||||
YES("yes"),
|
||||
NO("no"),
|
||||
UNKNOWN("unknown");
|
||||
private final String value;
|
||||
private final static Map<String, Dmp.EthicalIssuesExist> CONSTANTS = new HashMap<String, Dmp.EthicalIssuesExist>();
|
||||
|
||||
static {
|
||||
for (Dmp.EthicalIssuesExist c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private EthicalIssuesExist(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Dmp.EthicalIssuesExist fromValue(String value) {
|
||||
Dmp.EthicalIssuesExist constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public enum Language {
|
||||
|
||||
AAR("aar"),
|
||||
ABK("abk"),
|
||||
AFR("afr"),
|
||||
AKA("aka"),
|
||||
AMH("amh"),
|
||||
ARA("ara"),
|
||||
ARG("arg"),
|
||||
ASM("asm"),
|
||||
AVA("ava"),
|
||||
AVE("ave"),
|
||||
AYM("aym"),
|
||||
AZE("aze"),
|
||||
BAK("bak"),
|
||||
BAM("bam"),
|
||||
BEL("bel"),
|
||||
BEN("ben"),
|
||||
BIH("bih"),
|
||||
BIS("bis"),
|
||||
BOD("bod"),
|
||||
BOS("bos"),
|
||||
BRE("bre"),
|
||||
BUL("bul"),
|
||||
CAT("cat"),
|
||||
CES("ces"),
|
||||
CHA("cha"),
|
||||
CHE("che"),
|
||||
CHU("chu"),
|
||||
CHV("chv"),
|
||||
COR("cor"),
|
||||
COS("cos"),
|
||||
CRE("cre"),
|
||||
CYM("cym"),
|
||||
DAN("dan"),
|
||||
DEU("deu"),
|
||||
DIV("div"),
|
||||
DZO("dzo"),
|
||||
ELL("ell"),
|
||||
ENG("eng"),
|
||||
EPO("epo"),
|
||||
EST("est"),
|
||||
EUS("eus"),
|
||||
EWE("ewe"),
|
||||
FAO("fao"),
|
||||
FAS("fas"),
|
||||
FIJ("fij"),
|
||||
FIN("fin"),
|
||||
FRA("fra"),
|
||||
FRY("fry"),
|
||||
FUL("ful"),
|
||||
GLA("gla"),
|
||||
GLE("gle"),
|
||||
GLG("glg"),
|
||||
GLV("glv"),
|
||||
GRN("grn"),
|
||||
GUJ("guj"),
|
||||
HAT("hat"),
|
||||
HAU("hau"),
|
||||
HBS("hbs"),
|
||||
HEB("heb"),
|
||||
HER("her"),
|
||||
HIN("hin"),
|
||||
HMO("hmo"),
|
||||
HRV("hrv"),
|
||||
HUN("hun"),
|
||||
HYE("hye"),
|
||||
IBO("ibo"),
|
||||
IDO("ido"),
|
||||
III("iii"),
|
||||
IKU("iku"),
|
||||
ILE("ile"),
|
||||
INA("ina"),
|
||||
IND("ind"),
|
||||
IPK("ipk"),
|
||||
ISL("isl"),
|
||||
ITA("ita"),
|
||||
JAV("jav"),
|
||||
JPN("jpn"),
|
||||
KAL("kal"),
|
||||
KAN("kan"),
|
||||
KAS("kas"),
|
||||
KAT("kat"),
|
||||
KAU("kau"),
|
||||
KAZ("kaz"),
|
||||
KHM("khm"),
|
||||
KIK("kik"),
|
||||
KIN("kin"),
|
||||
KIR("kir"),
|
||||
KOM("kom"),
|
||||
KON("kon"),
|
||||
KOR("kor"),
|
||||
KUA("kua"),
|
||||
KUR("kur"),
|
||||
LAO("lao"),
|
||||
LAT("lat"),
|
||||
LAV("lav"),
|
||||
LIM("lim"),
|
||||
LIN("lin"),
|
||||
LIT("lit"),
|
||||
LTZ("ltz"),
|
||||
LUB("lub"),
|
||||
LUG("lug"),
|
||||
MAH("mah"),
|
||||
MAL("mal"),
|
||||
MAR("mar"),
|
||||
MKD("mkd"),
|
||||
MLG("mlg"),
|
||||
MLT("mlt"),
|
||||
MON("mon"),
|
||||
MRI("mri"),
|
||||
MSA("msa"),
|
||||
MYA("mya"),
|
||||
NAU("nau"),
|
||||
NAV("nav"),
|
||||
NBL("nbl"),
|
||||
NDE("nde"),
|
||||
NDO("ndo"),
|
||||
NEP("nep"),
|
||||
NLD("nld"),
|
||||
NNO("nno"),
|
||||
NOB("nob"),
|
||||
NOR("nor"),
|
||||
NYA("nya"),
|
||||
OCI("oci"),
|
||||
OJI("oji"),
|
||||
ORI("ori"),
|
||||
ORM("orm"),
|
||||
OSS("oss"),
|
||||
PAN("pan"),
|
||||
PLI("pli"),
|
||||
POL("pol"),
|
||||
POR("por"),
|
||||
PUS("pus"),
|
||||
QUE("que"),
|
||||
ROH("roh"),
|
||||
RON("ron"),
|
||||
RUN("run"),
|
||||
RUS("rus"),
|
||||
SAG("sag"),
|
||||
SAN("san"),
|
||||
SIN("sin"),
|
||||
SLK("slk"),
|
||||
SLV("slv"),
|
||||
SME("sme"),
|
||||
SMO("smo"),
|
||||
SNA("sna"),
|
||||
SND("snd"),
|
||||
SOM("som"),
|
||||
SOT("sot"),
|
||||
SPA("spa"),
|
||||
SQI("sqi"),
|
||||
SRD("srd"),
|
||||
SRP("srp"),
|
||||
SSW("ssw"),
|
||||
SUN("sun"),
|
||||
SWA("swa"),
|
||||
SWE("swe"),
|
||||
TAH("tah"),
|
||||
TAM("tam"),
|
||||
TAT("tat"),
|
||||
TEL("tel"),
|
||||
TGK("tgk"),
|
||||
TGL("tgl"),
|
||||
THA("tha"),
|
||||
TIR("tir"),
|
||||
TON("ton"),
|
||||
TSN("tsn"),
|
||||
TSO("tso"),
|
||||
TUK("tuk"),
|
||||
TUR("tur"),
|
||||
TWI("twi"),
|
||||
UIG("uig"),
|
||||
UKR("ukr"),
|
||||
URD("urd"),
|
||||
UZB("uzb"),
|
||||
VEN("ven"),
|
||||
VIE("vie"),
|
||||
VOL("vol"),
|
||||
WLN("wln"),
|
||||
WOL("wol"),
|
||||
XHO("xho"),
|
||||
YID("yid"),
|
||||
YOR("yor"),
|
||||
ZHA("zha"),
|
||||
ZHO("zho"),
|
||||
ZUL("zul");
|
||||
private final String value;
|
||||
private final static Map<String, Dmp.Language> CONSTANTS = new HashMap<String, Dmp.Language>();
|
||||
|
||||
static {
|
||||
for (Dmp.Language c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private Language(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Dmp.Language fromValue(String value) {
|
||||
Dmp.Language constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,156 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The DMP Identifier Schema
|
||||
* <p>
|
||||
* Identifier for the DMP itself
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"identifier",
|
||||
"type"
|
||||
})
|
||||
public class DmpId implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The DMP Identifier Value Schema
|
||||
* <p>
|
||||
* Identifier for a DMP
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
@JsonPropertyDescription("Identifier for a DMP")
|
||||
private String identifier;
|
||||
/**
|
||||
* The DMP Identifier Type Schema
|
||||
* <p>
|
||||
* The DMP Identifier Type. Allowed values: handle, doi, ark, url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
@JsonPropertyDescription("The DMP Identifier Type. Allowed values: handle, doi, ark, url, other")
|
||||
private DmpId.Type type;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = -6059908070202476841L;
|
||||
|
||||
/**
|
||||
* The DMP Identifier Value Schema
|
||||
* <p>
|
||||
* Identifier for a DMP
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public String getIdentifier() {
|
||||
return identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Identifier Value Schema
|
||||
* <p>
|
||||
* Identifier for a DMP
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public void setIdentifier(String identifier) {
|
||||
this.identifier = identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Identifier Type Schema
|
||||
* <p>
|
||||
* The DMP Identifier Type. Allowed values: handle, doi, ark, url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public DmpId.Type getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Identifier Type Schema
|
||||
* <p>
|
||||
* The DMP Identifier Type. Allowed values: handle, doi, ark, url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public void setType(DmpId.Type type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
|
||||
HANDLE("handle"),
|
||||
DOI("doi"),
|
||||
ARK("ark"),
|
||||
URL("url"),
|
||||
OTHER("other");
|
||||
private final String value;
|
||||
private final static Map<String, DmpId.Type> CONSTANTS = new HashMap<String, DmpId.Type>();
|
||||
|
||||
static {
|
||||
for (DmpId.Type c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private Type(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static DmpId.Type fromValue(String value) {
|
||||
DmpId.Type constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,154 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The Funder ID Schema
|
||||
* <p>
|
||||
* Funder ID of the associated project
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"identifier",
|
||||
"type"
|
||||
})
|
||||
public class FunderId implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Funder ID Value Schema
|
||||
* <p>
|
||||
* Funder ID, recommended to use CrossRef Funder Registry. See: https://www.crossref.org/services/funder-registry/
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
@JsonPropertyDescription("Funder ID, recommended to use CrossRef Funder Registry. See: https://www.crossref.org/services/funder-registry/")
|
||||
private String identifier;
|
||||
/**
|
||||
* The Funder ID Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: fundref, url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
@JsonPropertyDescription("Identifier type. Allowed values: fundref, url, other")
|
||||
private FunderId.Type type;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = 1783349151334366078L;
|
||||
|
||||
/**
|
||||
* The Funder ID Value Schema
|
||||
* <p>
|
||||
* Funder ID, recommended to use CrossRef Funder Registry. See: https://www.crossref.org/services/funder-registry/
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public String getIdentifier() {
|
||||
return identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Funder ID Value Schema
|
||||
* <p>
|
||||
* Funder ID, recommended to use CrossRef Funder Registry. See: https://www.crossref.org/services/funder-registry/
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public void setIdentifier(String identifier) {
|
||||
this.identifier = identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Funder ID Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: fundref, url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public FunderId.Type getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Funder ID Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: fundref, url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public void setType(FunderId.Type type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
|
||||
FUNDREF("fundref"),
|
||||
URL("url"),
|
||||
OTHER("other");
|
||||
private final String value;
|
||||
private final static Map<String, FunderId.Type> CONSTANTS = new HashMap<String, FunderId.Type>();
|
||||
|
||||
static {
|
||||
for (FunderId.Type c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private Type(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static FunderId.Type fromValue(String value) {
|
||||
FunderId.Type constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,187 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The DMP Project Funding Items Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"funder_id",
|
||||
"funding_status",
|
||||
"grant_id"
|
||||
})
|
||||
public class Funding implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Funder ID Schema
|
||||
* <p>
|
||||
* Funder ID of the associated project
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("funder_id")
|
||||
@JsonPropertyDescription("Funder ID of the associated project")
|
||||
private FunderId funderId;
|
||||
/**
|
||||
* The Funding Status Schema
|
||||
* <p>
|
||||
* To express different phases of project lifecycle. Allowed values: planned, applied, granted, rejected
|
||||
*
|
||||
*/
|
||||
@JsonProperty("funding_status")
|
||||
@JsonPropertyDescription("To express different phases of project lifecycle. Allowed values: planned, applied, granted, rejected")
|
||||
private Funding.FundingStatus fundingStatus;
|
||||
/**
|
||||
* The Funding Grant ID Schema
|
||||
* <p>
|
||||
* Grant ID of the associated project
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("grant_id")
|
||||
@JsonPropertyDescription("Grant ID of the associated project")
|
||||
private GrantId grantId;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = 8962229321225336165L;
|
||||
|
||||
/**
|
||||
* The Funder ID Schema
|
||||
* <p>
|
||||
* Funder ID of the associated project
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("funder_id")
|
||||
public FunderId getFunderId() {
|
||||
return funderId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Funder ID Schema
|
||||
* <p>
|
||||
* Funder ID of the associated project
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("funder_id")
|
||||
public void setFunderId(FunderId funderId) {
|
||||
this.funderId = funderId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Funding Status Schema
|
||||
* <p>
|
||||
* To express different phases of project lifecycle. Allowed values: planned, applied, granted, rejected
|
||||
*
|
||||
*/
|
||||
@JsonProperty("funding_status")
|
||||
public Funding.FundingStatus getFundingStatus() {
|
||||
return fundingStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Funding Status Schema
|
||||
* <p>
|
||||
* To express different phases of project lifecycle. Allowed values: planned, applied, granted, rejected
|
||||
*
|
||||
*/
|
||||
@JsonProperty("funding_status")
|
||||
public void setFundingStatus(Funding.FundingStatus fundingStatus) {
|
||||
this.fundingStatus = fundingStatus;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Funding Grant ID Schema
|
||||
* <p>
|
||||
* Grant ID of the associated project
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("grant_id")
|
||||
public GrantId getGrantId() {
|
||||
return grantId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Funding Grant ID Schema
|
||||
* <p>
|
||||
* Grant ID of the associated project
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("grant_id")
|
||||
public void setGrantId(GrantId grantId) {
|
||||
this.grantId = grantId;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum FundingStatus {
|
||||
|
||||
PLANNED("planned"),
|
||||
APPLIED("applied"),
|
||||
GRANTED("granted"),
|
||||
REJECTED("rejected");
|
||||
private final String value;
|
||||
private final static Map<String, Funding.FundingStatus> CONSTANTS = new HashMap<String, Funding.FundingStatus>();
|
||||
|
||||
static {
|
||||
for (Funding.FundingStatus c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private FundingStatus(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Funding.FundingStatus fromValue(String value) {
|
||||
Funding.FundingStatus constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,153 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The Funding Grant ID Schema
|
||||
* <p>
|
||||
* Grant ID of the associated project
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"identifier",
|
||||
"type"
|
||||
})
|
||||
public class GrantId implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Funding Grant ID Value Schema
|
||||
* <p>
|
||||
* Grant ID
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
@JsonPropertyDescription("Grant ID")
|
||||
private String identifier;
|
||||
/**
|
||||
* The Funding Grant ID Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
@JsonPropertyDescription("Identifier type. Allowed values: url, other")
|
||||
private GrantId.Type type;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = -7738072672837592065L;
|
||||
|
||||
/**
|
||||
* The Funding Grant ID Value Schema
|
||||
* <p>
|
||||
* Grant ID
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public String getIdentifier() {
|
||||
return identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Funding Grant ID Value Schema
|
||||
* <p>
|
||||
* Grant ID
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public void setIdentifier(String identifier) {
|
||||
this.identifier = identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Funding Grant ID Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public GrantId.Type getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Funding Grant ID Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public void setType(GrantId.Type type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
|
||||
URL("url"),
|
||||
OTHER("other");
|
||||
private final String value;
|
||||
private final static Map<String, GrantId.Type> CONSTANTS = new HashMap<String, GrantId.Type>();
|
||||
|
||||
static {
|
||||
for (GrantId.Type c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private Type(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static GrantId.Type fromValue(String value) {
|
||||
GrantId.Type constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,775 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.net.URI;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Schema
|
||||
* <p>
|
||||
* To provide information on quality of service provided by infrastructure (e.g. repository) where data is stored.
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"availability",
|
||||
"backup_frequency",
|
||||
"backup_type",
|
||||
"certified_with",
|
||||
"description",
|
||||
"geo_location",
|
||||
"pid_system",
|
||||
"storage_type",
|
||||
"support_versioning",
|
||||
"title",
|
||||
"url"
|
||||
})
|
||||
public class Host implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Availability Schema
|
||||
* <p>
|
||||
* Availability
|
||||
*
|
||||
*/
|
||||
@JsonProperty("availability")
|
||||
@JsonPropertyDescription("Availability")
|
||||
private String availability;
|
||||
/**
|
||||
* The Dataset Distribution Host Backup Frequency Schema
|
||||
* <p>
|
||||
* Backup Frequency
|
||||
*
|
||||
*/
|
||||
@JsonProperty("backup_frequency")
|
||||
@JsonPropertyDescription("Backup Frequency")
|
||||
private String backupFrequency;
|
||||
/**
|
||||
* The Dataset Distribution Host Backup Type Schema
|
||||
* <p>
|
||||
* Backup Type
|
||||
*
|
||||
*/
|
||||
@JsonProperty("backup_type")
|
||||
@JsonPropertyDescription("Backup Type")
|
||||
private String backupType;
|
||||
/**
|
||||
* The Dataset Distribution Host Certification Type Schema
|
||||
* <p>
|
||||
* Repository certified to a recognised standard. Allowed values: din31644, dini-zertifikat, dsa, iso16363, iso16919, trac, wds, coretrustseal
|
||||
*
|
||||
*/
|
||||
@JsonProperty("certified_with")
|
||||
@JsonPropertyDescription("Repository certified to a recognised standard. Allowed values: din31644, dini-zertifikat, dsa, iso16363, iso16919, trac, wds, coretrustseal")
|
||||
private Host.CertifiedWith certifiedWith;
|
||||
/**
|
||||
* The Dataset Distribution Host Description Schema
|
||||
* <p>
|
||||
* Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
@JsonPropertyDescription("Description")
|
||||
private String description;
|
||||
/**
|
||||
* The Dataset Distribution Host Geographical Location Schema
|
||||
* <p>
|
||||
* Physical location of the data expressed using ISO 3166-1 country code.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("geo_location")
|
||||
@JsonPropertyDescription("Physical location of the data expressed using ISO 3166-1 country code.")
|
||||
private Host.GeoLocation geoLocation;
|
||||
/**
|
||||
* The Dataset Distribution Host PID System Schema
|
||||
* <p>
|
||||
* PID system(s). Allowed values: ark, arxiv, bibcode, doi, ean13, eissn, handle, igsn, isbn, issn, istc, lissn, lsid, pmid, purl, upc, url, urn, other
|
||||
*
|
||||
*/
|
||||
@JsonProperty("pid_system")
|
||||
@JsonPropertyDescription("PID system(s). Allowed values: ark, arxiv, bibcode, doi, ean13, eissn, handle, igsn, isbn, issn, istc, lissn, lsid, pmid, purl, upc, url, urn, other")
|
||||
private List<PidSystem> pidSystem = null;
|
||||
/**
|
||||
* The Dataset Distribution Host Storage Type Schema
|
||||
* <p>
|
||||
* The type of storage required
|
||||
*
|
||||
*/
|
||||
@JsonProperty("storage_type")
|
||||
@JsonPropertyDescription("The type of storage required")
|
||||
private String storageType;
|
||||
/**
|
||||
* The Dataset Distribution Host Support Versioning Schema
|
||||
* <p>
|
||||
* If host supports versioning. Allowed values: yes, no, unknown
|
||||
*
|
||||
*/
|
||||
@JsonProperty("support_versioning")
|
||||
@JsonPropertyDescription("If host supports versioning. Allowed values: yes, no, unknown")
|
||||
private Host.SupportVersioning supportVersioning;
|
||||
/**
|
||||
* The Dataset Distribution Host Title Schema
|
||||
* <p>
|
||||
* Title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
@JsonPropertyDescription("Title")
|
||||
private String title;
|
||||
/**
|
||||
* The Dataset Distribution Host Title Schema
|
||||
* <p>
|
||||
* The URL of the system hosting a distribution of a dataset
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("url")
|
||||
@JsonPropertyDescription("The URL of the system hosting a distribution of a dataset")
|
||||
private URI url;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = 8564338806797654115L;
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Availability Schema
|
||||
* <p>
|
||||
* Availability
|
||||
*
|
||||
*/
|
||||
@JsonProperty("availability")
|
||||
public String getAvailability() {
|
||||
return availability;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Availability Schema
|
||||
* <p>
|
||||
* Availability
|
||||
*
|
||||
*/
|
||||
@JsonProperty("availability")
|
||||
public void setAvailability(String availability) {
|
||||
this.availability = availability;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Backup Frequency Schema
|
||||
* <p>
|
||||
* Backup Frequency
|
||||
*
|
||||
*/
|
||||
@JsonProperty("backup_frequency")
|
||||
public String getBackupFrequency() {
|
||||
return backupFrequency;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Backup Frequency Schema
|
||||
* <p>
|
||||
* Backup Frequency
|
||||
*
|
||||
*/
|
||||
@JsonProperty("backup_frequency")
|
||||
public void setBackupFrequency(String backupFrequency) {
|
||||
this.backupFrequency = backupFrequency;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Backup Type Schema
|
||||
* <p>
|
||||
* Backup Type
|
||||
*
|
||||
*/
|
||||
@JsonProperty("backup_type")
|
||||
public String getBackupType() {
|
||||
return backupType;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Backup Type Schema
|
||||
* <p>
|
||||
* Backup Type
|
||||
*
|
||||
*/
|
||||
@JsonProperty("backup_type")
|
||||
public void setBackupType(String backupType) {
|
||||
this.backupType = backupType;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Certification Type Schema
|
||||
* <p>
|
||||
* Repository certified to a recognised standard. Allowed values: din31644, dini-zertifikat, dsa, iso16363, iso16919, trac, wds, coretrustseal
|
||||
*
|
||||
*/
|
||||
@JsonProperty("certified_with")
|
||||
public Host.CertifiedWith getCertifiedWith() {
|
||||
return certifiedWith;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Certification Type Schema
|
||||
* <p>
|
||||
* Repository certified to a recognised standard. Allowed values: din31644, dini-zertifikat, dsa, iso16363, iso16919, trac, wds, coretrustseal
|
||||
*
|
||||
*/
|
||||
@JsonProperty("certified_with")
|
||||
public void setCertifiedWith(Host.CertifiedWith certifiedWith) {
|
||||
this.certifiedWith = certifiedWith;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Description Schema
|
||||
* <p>
|
||||
* Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Description Schema
|
||||
* <p>
|
||||
* Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Geographical Location Schema
|
||||
* <p>
|
||||
* Physical location of the data expressed using ISO 3166-1 country code.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("geo_location")
|
||||
public Host.GeoLocation getGeoLocation() {
|
||||
return geoLocation;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Geographical Location Schema
|
||||
* <p>
|
||||
* Physical location of the data expressed using ISO 3166-1 country code.
|
||||
*
|
||||
*/
|
||||
@JsonProperty("geo_location")
|
||||
public void setGeoLocation(Host.GeoLocation geoLocation) {
|
||||
this.geoLocation = geoLocation;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host PID System Schema
|
||||
* <p>
|
||||
* PID system(s). Allowed values: ark, arxiv, bibcode, doi, ean13, eissn, handle, igsn, isbn, issn, istc, lissn, lsid, pmid, purl, upc, url, urn, other
|
||||
*
|
||||
*/
|
||||
@JsonProperty("pid_system")
|
||||
public List<PidSystem> getPidSystem() {
|
||||
return pidSystem;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host PID System Schema
|
||||
* <p>
|
||||
* PID system(s). Allowed values: ark, arxiv, bibcode, doi, ean13, eissn, handle, igsn, isbn, issn, istc, lissn, lsid, pmid, purl, upc, url, urn, other
|
||||
*
|
||||
*/
|
||||
@JsonProperty("pid_system")
|
||||
public void setPidSystem(List<PidSystem> pidSystem) {
|
||||
this.pidSystem = pidSystem;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Storage Type Schema
|
||||
* <p>
|
||||
* The type of storage required
|
||||
*
|
||||
*/
|
||||
@JsonProperty("storage_type")
|
||||
public String getStorageType() {
|
||||
return storageType;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Storage Type Schema
|
||||
* <p>
|
||||
* The type of storage required
|
||||
*
|
||||
*/
|
||||
@JsonProperty("storage_type")
|
||||
public void setStorageType(String storageType) {
|
||||
this.storageType = storageType;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Support Versioning Schema
|
||||
* <p>
|
||||
* If host supports versioning. Allowed values: yes, no, unknown
|
||||
*
|
||||
*/
|
||||
@JsonProperty("support_versioning")
|
||||
public Host.SupportVersioning getSupportVersioning() {
|
||||
return supportVersioning;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Support Versioning Schema
|
||||
* <p>
|
||||
* If host supports versioning. Allowed values: yes, no, unknown
|
||||
*
|
||||
*/
|
||||
@JsonProperty("support_versioning")
|
||||
public void setSupportVersioning(Host.SupportVersioning supportVersioning) {
|
||||
this.supportVersioning = supportVersioning;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Title Schema
|
||||
* <p>
|
||||
* Title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Title Schema
|
||||
* <p>
|
||||
* Title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Title Schema
|
||||
* <p>
|
||||
* The URL of the system hosting a distribution of a dataset
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("url")
|
||||
public URI getUrl() {
|
||||
return url;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution Host Title Schema
|
||||
* <p>
|
||||
* The URL of the system hosting a distribution of a dataset
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("url")
|
||||
public void setUrl(URI url) {
|
||||
this.url = url;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum CertifiedWith {
|
||||
|
||||
DIN_31644("din31644"),
|
||||
DINI_ZERTIFIKAT("dini-zertifikat"),
|
||||
DSA("dsa"),
|
||||
ISO_16363("iso16363"),
|
||||
ISO_16919("iso16919"),
|
||||
TRAC("trac"),
|
||||
WDS("wds"),
|
||||
CORETRUSTSEAL("coretrustseal");
|
||||
private final String value;
|
||||
private final static Map<String, Host.CertifiedWith> CONSTANTS = new HashMap<String, Host.CertifiedWith>();
|
||||
|
||||
static {
|
||||
for (Host.CertifiedWith c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private CertifiedWith(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Host.CertifiedWith fromValue(String value) {
|
||||
Host.CertifiedWith constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public enum GeoLocation {
|
||||
|
||||
AD("AD"),
|
||||
AE("AE"),
|
||||
AF("AF"),
|
||||
AG("AG"),
|
||||
AI("AI"),
|
||||
AL("AL"),
|
||||
AM("AM"),
|
||||
AO("AO"),
|
||||
AQ("AQ"),
|
||||
AR("AR"),
|
||||
AS("AS"),
|
||||
AT("AT"),
|
||||
AU("AU"),
|
||||
AW("AW"),
|
||||
AX("AX"),
|
||||
AZ("AZ"),
|
||||
BA("BA"),
|
||||
BB("BB"),
|
||||
BD("BD"),
|
||||
BE("BE"),
|
||||
BF("BF"),
|
||||
BG("BG"),
|
||||
BH("BH"),
|
||||
BI("BI"),
|
||||
BJ("BJ"),
|
||||
BL("BL"),
|
||||
BM("BM"),
|
||||
BN("BN"),
|
||||
BO("BO"),
|
||||
BQ("BQ"),
|
||||
BR("BR"),
|
||||
BS("BS"),
|
||||
BT("BT"),
|
||||
BV("BV"),
|
||||
BW("BW"),
|
||||
BY("BY"),
|
||||
BZ("BZ"),
|
||||
CA("CA"),
|
||||
CC("CC"),
|
||||
CD("CD"),
|
||||
CF("CF"),
|
||||
CG("CG"),
|
||||
CH("CH"),
|
||||
CI("CI"),
|
||||
CK("CK"),
|
||||
CL("CL"),
|
||||
CM("CM"),
|
||||
CN("CN"),
|
||||
CO("CO"),
|
||||
CR("CR"),
|
||||
CU("CU"),
|
||||
CV("CV"),
|
||||
CW("CW"),
|
||||
CX("CX"),
|
||||
CY("CY"),
|
||||
CZ("CZ"),
|
||||
DE("DE"),
|
||||
DJ("DJ"),
|
||||
DK("DK"),
|
||||
DM("DM"),
|
||||
DO("DO"),
|
||||
DZ("DZ"),
|
||||
EC("EC"),
|
||||
EE("EE"),
|
||||
EG("EG"),
|
||||
EH("EH"),
|
||||
ER("ER"),
|
||||
ES("ES"),
|
||||
ET("ET"),
|
||||
FI("FI"),
|
||||
FJ("FJ"),
|
||||
FK("FK"),
|
||||
FM("FM"),
|
||||
FO("FO"),
|
||||
FR("FR"),
|
||||
GA("GA"),
|
||||
GB("GB"),
|
||||
GD("GD"),
|
||||
GE("GE"),
|
||||
GF("GF"),
|
||||
GG("GG"),
|
||||
GH("GH"),
|
||||
GI("GI"),
|
||||
GL("GL"),
|
||||
GM("GM"),
|
||||
GN("GN"),
|
||||
GP("GP"),
|
||||
GQ("GQ"),
|
||||
GR("GR"),
|
||||
GS("GS"),
|
||||
GT("GT"),
|
||||
GU("GU"),
|
||||
GW("GW"),
|
||||
GY("GY"),
|
||||
HK("HK"),
|
||||
HM("HM"),
|
||||
HN("HN"),
|
||||
HR("HR"),
|
||||
HT("HT"),
|
||||
HU("HU"),
|
||||
ID("ID"),
|
||||
IE("IE"),
|
||||
IL("IL"),
|
||||
IM("IM"),
|
||||
IN("IN"),
|
||||
IO("IO"),
|
||||
IQ("IQ"),
|
||||
IR("IR"),
|
||||
IS("IS"),
|
||||
IT("IT"),
|
||||
JE("JE"),
|
||||
JM("JM"),
|
||||
JO("JO"),
|
||||
JP("JP"),
|
||||
KE("KE"),
|
||||
KG("KG"),
|
||||
KH("KH"),
|
||||
KI("KI"),
|
||||
KM("KM"),
|
||||
KN("KN"),
|
||||
KP("KP"),
|
||||
KR("KR"),
|
||||
KW("KW"),
|
||||
KY("KY"),
|
||||
KZ("KZ"),
|
||||
LA("LA"),
|
||||
LB("LB"),
|
||||
LC("LC"),
|
||||
LI("LI"),
|
||||
LK("LK"),
|
||||
LR("LR"),
|
||||
LS("LS"),
|
||||
LT("LT"),
|
||||
LU("LU"),
|
||||
LV("LV"),
|
||||
LY("LY"),
|
||||
MA("MA"),
|
||||
MC("MC"),
|
||||
MD("MD"),
|
||||
ME("ME"),
|
||||
MF("MF"),
|
||||
MG("MG"),
|
||||
MH("MH"),
|
||||
MK("MK"),
|
||||
ML("ML"),
|
||||
MM("MM"),
|
||||
MN("MN"),
|
||||
MO("MO"),
|
||||
MP("MP"),
|
||||
MQ("MQ"),
|
||||
MR("MR"),
|
||||
MS("MS"),
|
||||
MT("MT"),
|
||||
MU("MU"),
|
||||
MV("MV"),
|
||||
MW("MW"),
|
||||
MX("MX"),
|
||||
MY("MY"),
|
||||
MZ("MZ"),
|
||||
NA("NA"),
|
||||
NC("NC"),
|
||||
NE("NE"),
|
||||
NF("NF"),
|
||||
NG("NG"),
|
||||
NI("NI"),
|
||||
NL("NL"),
|
||||
NO("NO"),
|
||||
NP("NP"),
|
||||
NR("NR"),
|
||||
NU("NU"),
|
||||
NZ("NZ"),
|
||||
OM("OM"),
|
||||
PA("PA"),
|
||||
PE("PE"),
|
||||
PF("PF"),
|
||||
PG("PG"),
|
||||
PH("PH"),
|
||||
PK("PK"),
|
||||
PL("PL"),
|
||||
PM("PM"),
|
||||
PN("PN"),
|
||||
PR("PR"),
|
||||
PS("PS"),
|
||||
PT("PT"),
|
||||
PW("PW"),
|
||||
PY("PY"),
|
||||
QA("QA"),
|
||||
RE("RE"),
|
||||
RO("RO"),
|
||||
RS("RS"),
|
||||
RU("RU"),
|
||||
RW("RW"),
|
||||
SA("SA"),
|
||||
SB("SB"),
|
||||
SC("SC"),
|
||||
SD("SD"),
|
||||
SE("SE"),
|
||||
SG("SG"),
|
||||
SH("SH"),
|
||||
SI("SI"),
|
||||
SJ("SJ"),
|
||||
SK("SK"),
|
||||
SL("SL"),
|
||||
SM("SM"),
|
||||
SN("SN"),
|
||||
SO("SO"),
|
||||
SR("SR"),
|
||||
SS("SS"),
|
||||
ST("ST"),
|
||||
SV("SV"),
|
||||
SX("SX"),
|
||||
SY("SY"),
|
||||
SZ("SZ"),
|
||||
TC("TC"),
|
||||
TD("TD"),
|
||||
TF("TF"),
|
||||
TG("TG"),
|
||||
TH("TH"),
|
||||
TJ("TJ"),
|
||||
TK("TK"),
|
||||
TL("TL"),
|
||||
TM("TM"),
|
||||
TN("TN"),
|
||||
TO("TO"),
|
||||
TR("TR"),
|
||||
TT("TT"),
|
||||
TV("TV"),
|
||||
TW("TW"),
|
||||
TZ("TZ"),
|
||||
UA("UA"),
|
||||
UG("UG"),
|
||||
UM("UM"),
|
||||
US("US"),
|
||||
UY("UY"),
|
||||
UZ("UZ"),
|
||||
VA("VA"),
|
||||
VC("VC"),
|
||||
VE("VE"),
|
||||
VG("VG"),
|
||||
VI("VI"),
|
||||
VN("VN"),
|
||||
VU("VU"),
|
||||
WF("WF"),
|
||||
WS("WS"),
|
||||
YE("YE"),
|
||||
YT("YT"),
|
||||
ZA("ZA"),
|
||||
ZM("ZM"),
|
||||
ZW("ZW");
|
||||
private final String value;
|
||||
private final static Map<String, Host.GeoLocation> CONSTANTS = new HashMap<String, Host.GeoLocation>();
|
||||
|
||||
static {
|
||||
for (Host.GeoLocation c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private GeoLocation(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Host.GeoLocation fromValue(String value) {
|
||||
Host.GeoLocation constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public enum SupportVersioning {
|
||||
|
||||
YES("yes"),
|
||||
NO("no"),
|
||||
UNKNOWN("unknown");
|
||||
private final String value;
|
||||
private final static Map<String, Host.SupportVersioning> CONSTANTS = new HashMap<String, Host.SupportVersioning>();
|
||||
|
||||
static {
|
||||
for (Host.SupportVersioning c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private SupportVersioning(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Host.SupportVersioning fromValue(String value) {
|
||||
Host.SupportVersioning constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,113 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.net.URI;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
/**
|
||||
* The Dataset Distribution License Items
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"license_ref",
|
||||
"start_date"
|
||||
})
|
||||
public class License implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Dataset Distribution License Reference Schema
|
||||
* <p>
|
||||
* Link to license document.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("license_ref")
|
||||
@JsonPropertyDescription("Link to license document.")
|
||||
private URI licenseRef;
|
||||
/**
|
||||
* The Dataset Distribution License Start Date Schema
|
||||
* <p>
|
||||
* Starting date of license. If date is set in the future, it indicates embargo period.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("start_date")
|
||||
@JsonPropertyDescription("Starting date of license. If date is set in the future, it indicates embargo period.")
|
||||
private String startDate;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = 4148207295817559010L;
|
||||
|
||||
/**
|
||||
* The Dataset Distribution License Reference Schema
|
||||
* <p>
|
||||
* Link to license document.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("license_ref")
|
||||
public URI getLicenseRef() {
|
||||
return licenseRef;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution License Reference Schema
|
||||
* <p>
|
||||
* Link to license document.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("license_ref")
|
||||
public void setLicenseRef(URI licenseRef) {
|
||||
this.licenseRef = licenseRef;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution License Start Date Schema
|
||||
* <p>
|
||||
* Starting date of license. If date is set in the future, it indicates embargo period.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("start_date")
|
||||
public String getStartDate() {
|
||||
return startDate;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Distribution License Start Date Schema
|
||||
* <p>
|
||||
* Starting date of license. If date is set in the future, it indicates embargo period.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("start_date")
|
||||
public void setStartDate(String startDate) {
|
||||
this.startDate = startDate;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,153 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Standard ID Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"identifier",
|
||||
"type"
|
||||
})
|
||||
public class MetadataStandardId implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Standard Identifier Value Schema
|
||||
* <p>
|
||||
* Identifier for the metadata standard used.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
@JsonPropertyDescription("Identifier for the metadata standard used.")
|
||||
private String identifier;
|
||||
/**
|
||||
* The Dataset Metadata Standard Identifier Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
@JsonPropertyDescription("Identifier type. Allowed values: url, other")
|
||||
private MetadataStandardId.Type type;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = -7641042701935397947L;
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Standard Identifier Value Schema
|
||||
* <p>
|
||||
* Identifier for the metadata standard used.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public String getIdentifier() {
|
||||
return identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Standard Identifier Value Schema
|
||||
* <p>
|
||||
* Identifier for the metadata standard used.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("identifier")
|
||||
public void setIdentifier(String identifier) {
|
||||
this.identifier = identifier;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Standard Identifier Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public MetadataStandardId.Type getType() {
|
||||
return type;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Standard Identifier Type Schema
|
||||
* <p>
|
||||
* Identifier type. Allowed values: url, other
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("type")
|
||||
public void setType(MetadataStandardId.Type type) {
|
||||
this.type = type;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum Type {
|
||||
|
||||
URL("url"),
|
||||
OTHER("other");
|
||||
private final String value;
|
||||
private final static Map<String, MetadataStandardId.Type> CONSTANTS = new HashMap<String, MetadataStandardId.Type>();
|
||||
|
||||
static {
|
||||
for (MetadataStandardId.Type c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private Type(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static MetadataStandardId.Type fromValue(String value) {
|
||||
MetadataStandardId.Type constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,368 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Items Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"description",
|
||||
"language",
|
||||
"metadata_standard_id"
|
||||
})
|
||||
public class Metadatum implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Description Schema
|
||||
* <p>
|
||||
* Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
@JsonPropertyDescription("Description")
|
||||
private String description;
|
||||
/**
|
||||
* The Dataset Metadata Language Schema
|
||||
* <p>
|
||||
* Language of the metadata expressed using ISO 639-3.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("language")
|
||||
@JsonPropertyDescription("Language of the metadata expressed using ISO 639-3.")
|
||||
private Metadatum.Language language;
|
||||
/**
|
||||
* The Dataset Metadata Standard ID Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("metadata_standard_id")
|
||||
private MetadataStandardId metadataStandardId;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = 6511312853153406190L;
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Description Schema
|
||||
* <p>
|
||||
* Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Description Schema
|
||||
* <p>
|
||||
* Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Language Schema
|
||||
* <p>
|
||||
* Language of the metadata expressed using ISO 639-3.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("language")
|
||||
public Metadatum.Language getLanguage() {
|
||||
return language;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Language Schema
|
||||
* <p>
|
||||
* Language of the metadata expressed using ISO 639-3.
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("language")
|
||||
public void setLanguage(Metadatum.Language language) {
|
||||
this.language = language;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Standard ID Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("metadata_standard_id")
|
||||
public MetadataStandardId getMetadataStandardId() {
|
||||
return metadataStandardId;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Metadata Standard ID Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("metadata_standard_id")
|
||||
public void setMetadataStandardId(MetadataStandardId metadataStandardId) {
|
||||
this.metadataStandardId = metadataStandardId;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
public enum Language {
|
||||
|
||||
AAR("aar"),
|
||||
ABK("abk"),
|
||||
AFR("afr"),
|
||||
AKA("aka"),
|
||||
AMH("amh"),
|
||||
ARA("ara"),
|
||||
ARG("arg"),
|
||||
ASM("asm"),
|
||||
AVA("ava"),
|
||||
AVE("ave"),
|
||||
AYM("aym"),
|
||||
AZE("aze"),
|
||||
BAK("bak"),
|
||||
BAM("bam"),
|
||||
BEL("bel"),
|
||||
BEN("ben"),
|
||||
BIH("bih"),
|
||||
BIS("bis"),
|
||||
BOD("bod"),
|
||||
BOS("bos"),
|
||||
BRE("bre"),
|
||||
BUL("bul"),
|
||||
CAT("cat"),
|
||||
CES("ces"),
|
||||
CHA("cha"),
|
||||
CHE("che"),
|
||||
CHU("chu"),
|
||||
CHV("chv"),
|
||||
COR("cor"),
|
||||
COS("cos"),
|
||||
CRE("cre"),
|
||||
CYM("cym"),
|
||||
DAN("dan"),
|
||||
DEU("deu"),
|
||||
DIV("div"),
|
||||
DZO("dzo"),
|
||||
ELL("ell"),
|
||||
ENG("eng"),
|
||||
EPO("epo"),
|
||||
EST("est"),
|
||||
EUS("eus"),
|
||||
EWE("ewe"),
|
||||
FAO("fao"),
|
||||
FAS("fas"),
|
||||
FIJ("fij"),
|
||||
FIN("fin"),
|
||||
FRA("fra"),
|
||||
FRY("fry"),
|
||||
FUL("ful"),
|
||||
GLA("gla"),
|
||||
GLE("gle"),
|
||||
GLG("glg"),
|
||||
GLV("glv"),
|
||||
GRN("grn"),
|
||||
GUJ("guj"),
|
||||
HAT("hat"),
|
||||
HAU("hau"),
|
||||
HBS("hbs"),
|
||||
HEB("heb"),
|
||||
HER("her"),
|
||||
HIN("hin"),
|
||||
HMO("hmo"),
|
||||
HRV("hrv"),
|
||||
HUN("hun"),
|
||||
HYE("hye"),
|
||||
IBO("ibo"),
|
||||
IDO("ido"),
|
||||
III("iii"),
|
||||
IKU("iku"),
|
||||
ILE("ile"),
|
||||
INA("ina"),
|
||||
IND("ind"),
|
||||
IPK("ipk"),
|
||||
ISL("isl"),
|
||||
ITA("ita"),
|
||||
JAV("jav"),
|
||||
JPN("jpn"),
|
||||
KAL("kal"),
|
||||
KAN("kan"),
|
||||
KAS("kas"),
|
||||
KAT("kat"),
|
||||
KAU("kau"),
|
||||
KAZ("kaz"),
|
||||
KHM("khm"),
|
||||
KIK("kik"),
|
||||
KIN("kin"),
|
||||
KIR("kir"),
|
||||
KOM("kom"),
|
||||
KON("kon"),
|
||||
KOR("kor"),
|
||||
KUA("kua"),
|
||||
KUR("kur"),
|
||||
LAO("lao"),
|
||||
LAT("lat"),
|
||||
LAV("lav"),
|
||||
LIM("lim"),
|
||||
LIN("lin"),
|
||||
LIT("lit"),
|
||||
LTZ("ltz"),
|
||||
LUB("lub"),
|
||||
LUG("lug"),
|
||||
MAH("mah"),
|
||||
MAL("mal"),
|
||||
MAR("mar"),
|
||||
MKD("mkd"),
|
||||
MLG("mlg"),
|
||||
MLT("mlt"),
|
||||
MON("mon"),
|
||||
MRI("mri"),
|
||||
MSA("msa"),
|
||||
MYA("mya"),
|
||||
NAU("nau"),
|
||||
NAV("nav"),
|
||||
NBL("nbl"),
|
||||
NDE("nde"),
|
||||
NDO("ndo"),
|
||||
NEP("nep"),
|
||||
NLD("nld"),
|
||||
NNO("nno"),
|
||||
NOB("nob"),
|
||||
NOR("nor"),
|
||||
NYA("nya"),
|
||||
OCI("oci"),
|
||||
OJI("oji"),
|
||||
ORI("ori"),
|
||||
ORM("orm"),
|
||||
OSS("oss"),
|
||||
PAN("pan"),
|
||||
PLI("pli"),
|
||||
POL("pol"),
|
||||
POR("por"),
|
||||
PUS("pus"),
|
||||
QUE("que"),
|
||||
ROH("roh"),
|
||||
RON("ron"),
|
||||
RUN("run"),
|
||||
RUS("rus"),
|
||||
SAG("sag"),
|
||||
SAN("san"),
|
||||
SIN("sin"),
|
||||
SLK("slk"),
|
||||
SLV("slv"),
|
||||
SME("sme"),
|
||||
SMO("smo"),
|
||||
SNA("sna"),
|
||||
SND("snd"),
|
||||
SOM("som"),
|
||||
SOT("sot"),
|
||||
SPA("spa"),
|
||||
SQI("sqi"),
|
||||
SRD("srd"),
|
||||
SRP("srp"),
|
||||
SSW("ssw"),
|
||||
SUN("sun"),
|
||||
SWA("swa"),
|
||||
SWE("swe"),
|
||||
TAH("tah"),
|
||||
TAM("tam"),
|
||||
TAT("tat"),
|
||||
TEL("tel"),
|
||||
TGK("tgk"),
|
||||
TGL("tgl"),
|
||||
THA("tha"),
|
||||
TIR("tir"),
|
||||
TON("ton"),
|
||||
TSN("tsn"),
|
||||
TSO("tso"),
|
||||
TUK("tuk"),
|
||||
TUR("tur"),
|
||||
TWI("twi"),
|
||||
UIG("uig"),
|
||||
UKR("ukr"),
|
||||
URD("urd"),
|
||||
UZB("uzb"),
|
||||
VEN("ven"),
|
||||
VIE("vie"),
|
||||
VOL("vol"),
|
||||
WLN("wln"),
|
||||
WOL("wol"),
|
||||
XHO("xho"),
|
||||
YID("yid"),
|
||||
YOR("yor"),
|
||||
ZHA("zha"),
|
||||
ZHO("zho"),
|
||||
ZUL("zul");
|
||||
private final String value;
|
||||
private final static Map<String, Metadatum.Language> CONSTANTS = new HashMap<String, Metadatum.Language>();
|
||||
|
||||
static {
|
||||
for (Metadatum.Language c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private Language(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static Metadatum.Language fromValue(String value) {
|
||||
Metadatum.Language constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
return null;
|
||||
// throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,63 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
|
||||
public enum PidSystem {
|
||||
|
||||
ARK("ark"),
|
||||
ARXIV("arxiv"),
|
||||
BIBCODE("bibcode"),
|
||||
DOI("doi"),
|
||||
EAN_13("ean13"),
|
||||
EISSN("eissn"),
|
||||
HANDLE("handle"),
|
||||
IGSN("igsn"),
|
||||
ISBN("isbn"),
|
||||
ISSN("issn"),
|
||||
ISTC("istc"),
|
||||
LISSN("lissn"),
|
||||
LSID("lsid"),
|
||||
PMID("pmid"),
|
||||
PURL("purl"),
|
||||
UPC("upc"),
|
||||
URL("url"),
|
||||
URN("urn"),
|
||||
OTHER("other");
|
||||
private final String value;
|
||||
private final static Map<String, PidSystem> CONSTANTS = new HashMap<String, PidSystem>();
|
||||
|
||||
static {
|
||||
for (PidSystem c: values()) {
|
||||
CONSTANTS.put(c.value, c);
|
||||
}
|
||||
}
|
||||
|
||||
private PidSystem(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonValue
|
||||
public String value() {
|
||||
return this.value;
|
||||
}
|
||||
|
||||
@JsonCreator
|
||||
public static PidSystem fromValue(String value) {
|
||||
PidSystem constant = CONSTANTS.get(value);
|
||||
if (constant == null) {
|
||||
throw new IllegalArgumentException(value);
|
||||
} else {
|
||||
return constant;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,212 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
/**
|
||||
* The DMP Project Items Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"description",
|
||||
"end",
|
||||
"funding",
|
||||
"start",
|
||||
"title"
|
||||
})
|
||||
public class Project implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The DMP Project Description Schema
|
||||
* <p>
|
||||
* Project description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
@JsonPropertyDescription("Project description")
|
||||
private String description;
|
||||
/**
|
||||
* The DMP Project End Date Schema
|
||||
* <p>
|
||||
* Project end date
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("end")
|
||||
@JsonPropertyDescription("Project end date")
|
||||
private String end;
|
||||
/**
|
||||
* The DMP Project Funding Schema
|
||||
* <p>
|
||||
* Funding related with a project
|
||||
*
|
||||
*/
|
||||
@JsonProperty("funding")
|
||||
@JsonPropertyDescription("Funding related with a project")
|
||||
private List<Funding> funding = null;
|
||||
/**
|
||||
* The DMP Project Start Date Schema
|
||||
* <p>
|
||||
* Project start date
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("start")
|
||||
@JsonPropertyDescription("Project start date")
|
||||
private String start;
|
||||
/**
|
||||
* The DMP Project Title Schema
|
||||
* <p>
|
||||
* Project title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
@JsonPropertyDescription("Project title")
|
||||
private String title;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = 1437619307195890472L;
|
||||
|
||||
/**
|
||||
* The DMP Project Description Schema
|
||||
* <p>
|
||||
* Project description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Project Description Schema
|
||||
* <p>
|
||||
* Project description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Project End Date Schema
|
||||
* <p>
|
||||
* Project end date
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("end")
|
||||
public String getEnd() {
|
||||
return end;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Project End Date Schema
|
||||
* <p>
|
||||
* Project end date
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("end")
|
||||
public void setEnd(String end) {
|
||||
this.end = end;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Project Funding Schema
|
||||
* <p>
|
||||
* Funding related with a project
|
||||
*
|
||||
*/
|
||||
@JsonProperty("funding")
|
||||
public List<Funding> getFunding() {
|
||||
return funding;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Project Funding Schema
|
||||
* <p>
|
||||
* Funding related with a project
|
||||
*
|
||||
*/
|
||||
@JsonProperty("funding")
|
||||
public void setFunding(List<Funding> funding) {
|
||||
this.funding = funding;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Project Start Date Schema
|
||||
* <p>
|
||||
* Project start date
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("start")
|
||||
public String getStart() {
|
||||
return start;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Project Start Date Schema
|
||||
* <p>
|
||||
* Project start date
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("start")
|
||||
public void setStart(String start) {
|
||||
this.start = start;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Project Title Schema
|
||||
* <p>
|
||||
* Project title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Project Title Schema
|
||||
* <p>
|
||||
* Project title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,58 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
/**
|
||||
* RDA DMP Common Standard Schema
|
||||
* <p>
|
||||
* JSON Schema for the RDA DMP Common Standard
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"dmp"
|
||||
})
|
||||
public class RDAModel implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The DMP Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dmp")
|
||||
private Dmp dmp;
|
||||
private final static long serialVersionUID = 7331666133368350998L;
|
||||
|
||||
/**
|
||||
* The DMP Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dmp")
|
||||
public Dmp getDmp() {
|
||||
return dmp;
|
||||
}
|
||||
|
||||
/**
|
||||
* The DMP Schema
|
||||
* <p>
|
||||
*
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("dmp")
|
||||
public void setDmp(Dmp dmp) {
|
||||
this.dmp = dmp;
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,109 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
/**
|
||||
* The Dataset Security & Policy Items Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"description",
|
||||
"title"
|
||||
})
|
||||
public class SecurityAndPrivacy implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Dataset Security & Policy Description Schema
|
||||
* <p>
|
||||
* Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
@JsonPropertyDescription("Description")
|
||||
private String description;
|
||||
/**
|
||||
* The Dataset Security & Policy Title Schema
|
||||
* <p>
|
||||
* Title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
@JsonPropertyDescription("Title")
|
||||
private String title;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = 7863747935827682977L;
|
||||
|
||||
/**
|
||||
* The Dataset Security & Policy Description Schema
|
||||
* <p>
|
||||
* Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Security & Policy Description Schema
|
||||
* <p>
|
||||
* Description
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Security & Policy Title Schema
|
||||
* <p>
|
||||
* Title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public String getTitle() {
|
||||
return title;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Security & Policy Title Schema
|
||||
* <p>
|
||||
* Title
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("title")
|
||||
public void setTitle(String title) {
|
||||
this.title = title;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,109 @@
|
|||
|
||||
package eu.eudat.models.rda;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import com.fasterxml.jackson.annotation.JsonAnyGetter;
|
||||
import com.fasterxml.jackson.annotation.JsonAnySetter;
|
||||
import com.fasterxml.jackson.annotation.JsonIgnore;
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyDescription;
|
||||
import com.fasterxml.jackson.annotation.JsonPropertyOrder;
|
||||
|
||||
|
||||
/**
|
||||
* The Dataset Technical Resource Items Schema
|
||||
* <p>
|
||||
*
|
||||
*
|
||||
*/
|
||||
@JsonInclude(JsonInclude.Include.NON_NULL)
|
||||
@JsonPropertyOrder({
|
||||
"description",
|
||||
"name"
|
||||
})
|
||||
public class TechnicalResource implements Serializable
|
||||
{
|
||||
|
||||
/**
|
||||
* The Dataset Technical Resource Description Schema
|
||||
* <p>
|
||||
* Description of the technical resource
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
@JsonPropertyDescription("Description of the technical resource")
|
||||
private String description;
|
||||
/**
|
||||
* The Dataset Technical Resource Name Schema
|
||||
* <p>
|
||||
* Name of the technical resource
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("name")
|
||||
@JsonPropertyDescription("Name of the technical resource")
|
||||
private String name;
|
||||
@JsonIgnore
|
||||
private Map<String, Object> additionalProperties = new HashMap<String, Object>();
|
||||
private final static long serialVersionUID = -7451757227129483110L;
|
||||
|
||||
/**
|
||||
* The Dataset Technical Resource Description Schema
|
||||
* <p>
|
||||
* Description of the technical resource
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public String getDescription() {
|
||||
return description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Technical Resource Description Schema
|
||||
* <p>
|
||||
* Description of the technical resource
|
||||
*
|
||||
*/
|
||||
@JsonProperty("description")
|
||||
public void setDescription(String description) {
|
||||
this.description = description;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Technical Resource Name Schema
|
||||
* <p>
|
||||
* Name of the technical resource
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("name")
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
|
||||
/**
|
||||
* The Dataset Technical Resource Name Schema
|
||||
* <p>
|
||||
* Name of the technical resource
|
||||
* (Required)
|
||||
*
|
||||
*/
|
||||
@JsonProperty("name")
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
@JsonAnyGetter
|
||||
public Map<String, Object> getAdditionalProperties() {
|
||||
return this.additionalProperties;
|
||||
}
|
||||
|
||||
@JsonAnySetter
|
||||
public void setAdditionalProperty(String name, Object value) {
|
||||
this.additionalProperties.put(name, value);
|
||||
}
|
||||
|
||||
}
|
|
@ -0,0 +1,15 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import eu.eudat.models.rda.ContactId;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class ContactIdRDAMapper {
|
||||
|
||||
public static ContactId toRDA(UUID id) {
|
||||
ContactId rda = new ContactId();
|
||||
rda.setIdentifier(id.toString());
|
||||
rda.setType(ContactId.Type.OTHER);
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import eu.eudat.data.entities.UserInfo;
|
||||
import eu.eudat.models.rda.Contact;
|
||||
import eu.eudat.models.rda.ContactId;
|
||||
|
||||
public class ContactRDAMapper {
|
||||
|
||||
public static Contact toRDA(UserInfo creator) {
|
||||
Contact rda = new Contact();
|
||||
rda.setName(creator.getName());
|
||||
rda.setMbox(creator.getEmail());
|
||||
rda.setContactId(ContactIdRDAMapper.toRDA(creator.getId()));
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,16 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import eu.eudat.models.rda.Contributor;
|
||||
import eu.eudat.models.rda.ContributorId;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class ContributorIdRDAMapper {
|
||||
|
||||
public static ContributorId toRDA(UUID id) {
|
||||
ContributorId rda = new ContributorId();
|
||||
rda.setIdentifier(id.toString());
|
||||
rda.setType(ContributorId.Type.OTHER);
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,20 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import eu.eudat.data.entities.UserDMP;
|
||||
import eu.eudat.models.rda.Contributor;
|
||||
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.HashSet;
|
||||
|
||||
public class ContributorRDAMapper {
|
||||
|
||||
public static Contributor toRDA(UserDMP userDMP) {
|
||||
Contributor rda = new Contributor();
|
||||
rda.setContributorId(ContributorIdRDAMapper.toRDA(userDMP.getUser().getId()));
|
||||
rda.setName(userDMP.getUser().getName());
|
||||
rda.setMbox(userDMP.getUser().getEmail());
|
||||
rda.setRole(new HashSet<>(Arrays.asList(UserDMP.UserDMPRoles.fromInteger(userDMP.getRole()).name())));
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,17 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import eu.eudat.models.rda.DatasetId;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class DatasetIdRDAMapper {
|
||||
|
||||
public static DatasetId toRDA(UUID id) {
|
||||
DatasetId rda = new DatasetId();
|
||||
rda.setIdentifier(id.toString());
|
||||
rda.setType(DatasetId.Type.OTHER);
|
||||
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,100 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonProcessingException;
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import eu.eudat.logic.managers.DatasetManager;
|
||||
import eu.eudat.logic.utilities.json.JsonSearcher;
|
||||
import eu.eudat.models.data.datasetwizard.DatasetWizardModel;
|
||||
import eu.eudat.models.rda.Dataset;
|
||||
import org.json.JSONObject;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
public class DatasetRDAMapper {
|
||||
private static final Logger logger = LoggerFactory.getLogger(DatasetRDAMapper.class);
|
||||
|
||||
private DatasetManager datasetManager;
|
||||
|
||||
@Autowired
|
||||
public DatasetRDAMapper(DatasetManager datasetManager) {
|
||||
this.datasetManager = datasetManager;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Dataset toRDA(eu.eudat.data.entities.Dataset dataset) {
|
||||
Dataset rda = new Dataset();
|
||||
rda.setDatasetId(DatasetIdRDAMapper.toRDA(dataset.getId()));
|
||||
rda.setTitle(dataset.getLabel());
|
||||
rda.setDescription(dataset.getDescription());
|
||||
try {
|
||||
|
||||
DatasetWizardModel datasetWizardModel = new DatasetWizardModel().fromDataModel(dataset);
|
||||
datasetWizardModel.setDatasetProfileDefinition(datasetManager.getPagedProfile(datasetWizardModel, dataset));
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
JsonNode properties = mapper.readTree(dataset.getProperties());
|
||||
String datasetDescriptionJson = mapper.writeValueAsString(datasetWizardModel.getDatasetProfileDefinition());
|
||||
JsonNode datasetDescriptionObj = mapper.readTree(datasetDescriptionJson);
|
||||
List<JsonNode> typeNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.type");
|
||||
if (!typeNodes.isEmpty()) {
|
||||
rda.setType(properties.get(typeNodes.get(0).get("id").asText()).asText());
|
||||
}
|
||||
List<JsonNode> languageNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.language");
|
||||
if (!languageNodes.isEmpty()) {
|
||||
rda.setLanguage(Dataset.Language.fromValue(properties.get(languageNodes.get(0).get("id").asText()).asText()));
|
||||
}
|
||||
List<JsonNode> metadataNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.metadata");
|
||||
if (!metadataNodes.isEmpty()) {
|
||||
rda.setMetadata(metadataNodes.stream().map(node -> MetadataRDAMapper.toRDA(node, properties)).collect(Collectors.toList()));
|
||||
}
|
||||
List<JsonNode> qaNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.data_quality_assurance");
|
||||
if (!qaNodes.isEmpty()) {
|
||||
rda.setDataQualityAssurance(qaNodes.stream().map(qaNode -> properties.get(qaNode.get("id").asText()).asText()).collect(Collectors.toList()));
|
||||
}
|
||||
List<JsonNode> preservationNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.preservation_statement");
|
||||
if (!preservationNodes.isEmpty()) {
|
||||
rda.setDataQualityAssurance(preservationNodes.stream().map(preservationNode -> properties.get(preservationNode.get("id").asText()).asText()).collect(Collectors.toList()));
|
||||
}
|
||||
List<JsonNode> distributionNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.distribution");
|
||||
if (!distributionNodes.isEmpty()) {
|
||||
rda.setDistribution(distributionNodes.stream().map(distributionNode -> DistributionRDAMapper.toRDA(distributionNode, properties)).collect(Collectors.toList()));
|
||||
}
|
||||
List<JsonNode> keywordNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.keyword");
|
||||
if (!keywordNodes.isEmpty()) {
|
||||
rda.setKeyword(keywordNodes.stream().map(keywordNode -> properties.get(keywordNode.get("id").asText()).asText()).collect(Collectors.toList()));
|
||||
}
|
||||
List<JsonNode> personalDataNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.personal_data");
|
||||
if (!personalDataNodes.isEmpty()) {
|
||||
rda.setPersonalData(personalDataNodes.stream().map(personalDataNode -> Dataset.PersonalData.fromValue(properties.get(personalDataNode.get("id").asText()).asText())).findFirst().get());
|
||||
}
|
||||
List<JsonNode> securityAndPrivacyNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.security_and_privacy");
|
||||
if (!securityAndPrivacyNodes.isEmpty()) {
|
||||
rda.setSecurityAndPrivacy(securityAndPrivacyNodes.stream().map(securityAndPrivacyNode -> SecurityAndPrivacyRDAMapper.toRDA(securityAndPrivacyNode, properties)).collect(Collectors.toList()));
|
||||
}
|
||||
List<JsonNode> sensitiveDataNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.sensitive_data");
|
||||
if (!sensitiveDataNodes.isEmpty()) {
|
||||
rda.setSensitiveData(securityAndPrivacyNodes.stream().map(sensitiveDataNode -> Dataset.SensitiveData.fromValue(properties.get(sensitiveDataNode.get("id").asText()).asText())).findFirst().get());
|
||||
}
|
||||
List<JsonNode> technicalResourceNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.technical_resource");
|
||||
if (!technicalResourceNodes.isEmpty()) {
|
||||
rda.setTechnicalResource(technicalResourceNodes.stream().map(technicalResourceNode -> TechnicalResourceRDAMapper.toRDA(technicalResourceNode, properties)).collect(Collectors.toList()));
|
||||
}
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
logger.error(e.getMessage(), e);
|
||||
}
|
||||
|
||||
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,39 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import eu.eudat.models.rda.Distribution;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Collections;
|
||||
|
||||
public class DistributionRDAMapper {
|
||||
|
||||
public static Distribution toRDA(JsonNode structure, JsonNode properties) {
|
||||
Distribution rda = new Distribution();
|
||||
String rdaProperty = structure.get("rdaProperty").asText();
|
||||
if (rdaProperty.contains("access_url")) {
|
||||
rda.setAccessUrl(properties.get(structure.get("id").asText()).asText());
|
||||
} else if (rdaProperty.contains("available_util")) {
|
||||
rda.setAvailableUntil(properties.get(structure.get("id").asText()).asText());
|
||||
} else if (rdaProperty.contains("byte_size")) {
|
||||
rda.setByteSize(properties.get(structure.get("id").asText()).asInt());
|
||||
} else if (rdaProperty.contains("data_access")) {
|
||||
rda.setDataAccess(Distribution.DataAccess.fromValue(properties.get(structure.get("id").asText()).asText()));
|
||||
} else if (rdaProperty.contains("description")) {
|
||||
rda.setDescription(properties.get(structure.get("id").asText()).asText());
|
||||
} else if (rdaProperty.contains("download_url")) {
|
||||
rda.setDownloadUrl(URI.create(properties.get(structure.get("id").asText()).asText()));
|
||||
} else if (rdaProperty.contains("format")) {
|
||||
rda.setFormat(Collections.singletonList(properties.get(structure.get("id").asText()).asText()));
|
||||
} else if (rdaProperty.contains("host")) {
|
||||
rda.setHost(HostRDAMapper.toRDA(structure, properties));
|
||||
} else if (rdaProperty.contains("license")) {
|
||||
rda.setLicense(Collections.singletonList(LicenseRDAMapper.toRDA(structure, properties)));
|
||||
} else if (rdaProperty.contains("title")) {
|
||||
rda.setTitle(properties.get(structure.get("id").asText()).asText());
|
||||
}
|
||||
|
||||
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import eu.eudat.models.rda.DmpId;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class DmpIdRDAMapper {
|
||||
|
||||
public static DmpId toRDA(Object id) {
|
||||
DmpId rda = new DmpId();
|
||||
rda.setIdentifier(id.toString());
|
||||
if (id instanceof UUID) {
|
||||
rda.setType(DmpId.Type.OTHER);
|
||||
} else {
|
||||
rda.setType(DmpId.Type.DOI);
|
||||
}
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,51 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import eu.eudat.data.entities.DMP;
|
||||
import eu.eudat.data.entities.UserDMP;
|
||||
import eu.eudat.data.entities.UserInfo;
|
||||
import eu.eudat.models.rda.Dmp;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import javax.transaction.Transactional;
|
||||
import java.util.Collections;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@Component
|
||||
public class DmpRDAMapper {
|
||||
|
||||
private DatasetRDAMapper datasetRDAMapper;
|
||||
|
||||
@Autowired
|
||||
public DmpRDAMapper(DatasetRDAMapper datasetRDAMapper) {
|
||||
this.datasetRDAMapper = datasetRDAMapper;
|
||||
}
|
||||
|
||||
@Transactional
|
||||
public Dmp toRDA(DMP dmp) {
|
||||
Dmp rda = new Dmp();
|
||||
if (dmp.getDoi() != null && !dmp.getDoi().isEmpty()) {
|
||||
rda.setDmpId(DmpIdRDAMapper.toRDA(dmp.getDoi()));
|
||||
} else {
|
||||
rda.setDmpId(DmpIdRDAMapper.toRDA(dmp.getId()));
|
||||
}
|
||||
rda.setCreated(dmp.getCreated());
|
||||
rda.setDescription(dmp.getDescription());
|
||||
rda.setModified(dmp.getModified());
|
||||
rda.setTitle(dmp.getLabel());
|
||||
|
||||
UserInfo creator;
|
||||
if (dmp.getCreator() != null) {
|
||||
creator = dmp.getCreator();
|
||||
} else {
|
||||
creator = dmp.getUsers().stream().filter(userDMP -> userDMP.getRole().equals(UserDMP.UserDMPRoles.OWNER.getValue())).map(UserDMP::getUser).findFirst().orElse(new UserInfo());
|
||||
}
|
||||
rda.setContact(ContactRDAMapper.toRDA(creator));
|
||||
rda.setContributor(dmp.getUsers().stream().map(ContributorRDAMapper::toRDA).collect(Collectors.toList()));
|
||||
rda.setDataset(dmp.getDataset().stream().map(dataset -> datasetRDAMapper.toRDA(dataset)).collect(Collectors.toList()));
|
||||
rda.setProject(Collections.singletonList(ProjectRDAMapper.toRDA(dmp.getProject(), dmp.getGrant())));
|
||||
|
||||
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,19 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import eu.eudat.models.rda.FunderId;
|
||||
|
||||
import java.util.UUID;
|
||||
|
||||
public class FunderIdRDAMapper {
|
||||
|
||||
public static FunderId toRDA(Object id) {
|
||||
FunderId rda = new FunderId();
|
||||
rda.setIdentifier(id.toString());
|
||||
if (id instanceof UUID) {
|
||||
rda.setType(FunderId.Type.OTHER);
|
||||
} else {
|
||||
rda.setType(FunderId.Type.FUNDREF);
|
||||
}
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import eu.eudat.data.entities.Funder;
|
||||
import eu.eudat.data.entities.Grant;
|
||||
import eu.eudat.models.rda.Funding;
|
||||
|
||||
public class FundingRDAMapper {
|
||||
|
||||
public static Funding toRDA(Grant grant) {
|
||||
Funding rda = new Funding();
|
||||
String referencePrefix;
|
||||
String shortReference;
|
||||
if (grant.getFunder().getReference() != null) {
|
||||
referencePrefix = grant.getFunder().getReference().split(":")[0];
|
||||
shortReference = grant.getFunder().getReference().substring(referencePrefix.length() + 1);
|
||||
rda.setFunderId(FunderIdRDAMapper.toRDA(shortReference));
|
||||
} else {
|
||||
rda.setFunderId(FunderIdRDAMapper.toRDA(grant.getFunder().getId()));
|
||||
}
|
||||
referencePrefix = grant.getReference().split(":")[0];
|
||||
shortReference = grant.getReference().substring(referencePrefix.length() + 1);
|
||||
rda.setGrantId(GrantIdRDAMapper.toRDA(shortReference));
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import eu.eudat.models.rda.GrantId;
|
||||
|
||||
public class GrantIdRDAMapper {
|
||||
|
||||
public static GrantId toRDA(String id) {
|
||||
GrantId rda = new GrantId();
|
||||
rda.setIdentifier(id);
|
||||
rda.setType(GrantId.Type.OTHER);
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,41 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import eu.eudat.models.rda.Host;
|
||||
import eu.eudat.models.rda.PidSystem;
|
||||
|
||||
import java.net.URI;
|
||||
import java.util.Collections;
|
||||
|
||||
public class HostRDAMapper {
|
||||
|
||||
public static Host toRDA(JsonNode structure, JsonNode properties) {
|
||||
Host rda = new Host();
|
||||
String rdaProperty = structure.get("rdaProperties").asText();
|
||||
if (rdaProperty.contains("availability")) {
|
||||
rda.setAvailability(properties.get(structure.get("id").asText()).asText());
|
||||
} else if (rdaProperty.contains("backup_frequency")) {
|
||||
rda.setBackupFrequency(properties.get(structure.get("id").asText()).asText());
|
||||
} else if (rdaProperty.contains("backup_type")) {
|
||||
rda.setBackupType(properties.get(structure.get("id").asText()).asText());
|
||||
} else if (rdaProperty.contains("certified_with")) {
|
||||
rda.setCertifiedWith(Host.CertifiedWith.fromValue(properties.get(structure.get("id").asText()).asText()));
|
||||
} else if (rdaProperty.contains("description")) {
|
||||
rda.setDescription(properties.get(structure.get("id").asText()).asText());
|
||||
} else if (rdaProperty.contains("geo_location")) {
|
||||
rda.setGeoLocation(Host.GeoLocation.fromValue(properties.get(structure.get("id").asText()).asText()));
|
||||
} else if (rdaProperty.contains("pid_system")) {
|
||||
rda.setPidSystem(Collections.singletonList(PidSystem.fromValue(properties.get(structure.get("id").asText()).asText())));
|
||||
} else if (rdaProperty.contains("storage_type")) {
|
||||
rda.setStorageType(properties.get(structure.get("id").asText()).asText());
|
||||
} else if (rdaProperty.contains("support_versioning")) {
|
||||
rda.setSupportVersioning(Host.SupportVersioning.fromValue(properties.get(structure.get("id").asText()).asText()));
|
||||
} else if (rdaProperty.contains("title")) {
|
||||
rda.setTitle(properties.get(structure.get("id").asText()).asText());
|
||||
} else if (rdaProperty.contains("url")) {
|
||||
rda.setUrl(URI.create(properties.get(structure.get("id").asText()).asText()));
|
||||
}
|
||||
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,23 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import eu.eudat.models.rda.License;
|
||||
|
||||
import java.net.URI;
|
||||
|
||||
public class LicenseRDAMapper {
|
||||
|
||||
public static License toRDA(JsonNode structure, JsonNode properties) {
|
||||
License rda = new License();
|
||||
String rdaProperty = structure.get("rdaProperty").asText();
|
||||
String value = properties.get(structure.get("id").asText()).asText();
|
||||
|
||||
if (rdaProperty.contains("license_ref")) {
|
||||
rda.setLicenseRef(URI.create(value));
|
||||
} else if (rdaProperty.contains("start_date")) {
|
||||
rda.setStartDate(value);
|
||||
}
|
||||
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,44 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import eu.eudat.models.rda.Metadatum;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.Iterator;
|
||||
|
||||
public class MetadataRDAMapper {
|
||||
private static final Logger logger = LoggerFactory.getLogger(MetadataRDAMapper.class);
|
||||
|
||||
public static Metadatum toRDA(JsonNode structure, JsonNode properties) {
|
||||
Metadatum rda = new Metadatum();
|
||||
JsonNode dataNode = null;
|
||||
String rdaProperty = structure.get("rdaProperty").asText();
|
||||
if (rdaProperty.contains("metadata_standard_id")) {
|
||||
try {
|
||||
String jsonText = properties.get(structure.get("id").asText()).asText();
|
||||
if (jsonText != null && !jsonText.isEmpty()) {
|
||||
dataNode = new ObjectMapper().readTree(jsonText);
|
||||
for (Iterator<JsonNode> it = dataNode.elements(); it.hasNext(); ) {
|
||||
JsonNode data = it.next();
|
||||
if (data.get("uri") != null) {
|
||||
rda.setMetadataStandardId(MetadataStandardIdRDAMapper.toRDA(data.get("uri").asText()));
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (IOException e) {
|
||||
logger.error(e.getMessage(), e);
|
||||
}
|
||||
} else if (rdaProperty.contains("description")) {
|
||||
rda.setDescription(properties.get(structure.get("id").asText()).asText());
|
||||
} else if (rdaProperty.contains("language")) {
|
||||
String language = properties.get(structure.get("id").asText()).asText();
|
||||
Metadatum.Language lang = Metadatum.Language.fromValue(language);
|
||||
rda.setLanguage(lang);
|
||||
}
|
||||
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,13 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import eu.eudat.models.rda.MetadataStandardId;
|
||||
|
||||
public class MetadataStandardIdRDAMapper {
|
||||
|
||||
public static MetadataStandardId toRDA(String uri) {
|
||||
MetadataStandardId rda = new MetadataStandardId();
|
||||
rda.setIdentifier(uri);
|
||||
rda.setType(MetadataStandardId.Type.URL);
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,25 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import eu.eudat.data.entities.Funder;
|
||||
import eu.eudat.data.entities.Grant;
|
||||
import eu.eudat.models.rda.Project;
|
||||
|
||||
import java.util.Collections;
|
||||
|
||||
public class ProjectRDAMapper {
|
||||
|
||||
public static Project toRDA(eu.eudat.data.entities.Project project, Grant grant) {
|
||||
Project rda = new Project();
|
||||
rda.setTitle(project.getLabel());
|
||||
rda.setDescription(project.getDescription());
|
||||
if (project.getStartdate() != null) {
|
||||
rda.setStart(project.getStartdate().toString());
|
||||
}
|
||||
if (project.getEnddate() != null) {
|
||||
rda.setEnd(project.getEnddate().toString());
|
||||
}
|
||||
rda.setFunding(Collections.singletonList(FundingRDAMapper.toRDA(grant)));
|
||||
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import eu.eudat.models.rda.SecurityAndPrivacy;
|
||||
|
||||
public class SecurityAndPrivacyRDAMapper {
|
||||
|
||||
public static SecurityAndPrivacy toRDA(JsonNode structure, JsonNode properties) {
|
||||
SecurityAndPrivacy rda = new SecurityAndPrivacy();
|
||||
String rdaProperty = structure.get("rdaProperty").asText();
|
||||
String value = properties.get(structure.get("id").asText()).asText();
|
||||
|
||||
if (rdaProperty.contains("description")) {
|
||||
rda.setDescription(value);
|
||||
} else if (rdaProperty.contains("title")) {
|
||||
rda.setTitle(value);
|
||||
}
|
||||
|
||||
return rda;
|
||||
}
|
||||
}
|
|
@ -0,0 +1,21 @@
|
|||
package eu.eudat.models.rda.mapper;
|
||||
|
||||
import com.fasterxml.jackson.databind.JsonNode;
|
||||
import eu.eudat.models.rda.TechnicalResource;
|
||||
|
||||
public class TechnicalResourceRDAMapper {
|
||||
|
||||
public static TechnicalResource toRDA(JsonNode structure, JsonNode properties) {
|
||||
TechnicalResource rda = new TechnicalResource();
|
||||
String rdaProperty = structure.get("rdaProperty").asText();
|
||||
String value = properties.get(structure.get("id").asText()).asText();
|
||||
|
||||
if (rdaProperty.contains("description")) {
|
||||
rda.setDescription(value);
|
||||
} else if (rdaProperty.contains("name")) {
|
||||
rda.setName(value);
|
||||
}
|
||||
|
||||
return rda;
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue