diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/rda/Dmp.java b/dmp-backend/web/src/main/java/eu/eudat/models/rda/Dmp.java index b53d26147..2d43d0eaa 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/rda/Dmp.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/rda/Dmp.java @@ -7,15 +7,8 @@ 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; + +import com.fasterxml.jackson.annotation.*; /** @@ -24,6 +17,7 @@ import com.fasterxml.jackson.annotation.JsonValue; * * */ +@JsonIgnoreProperties(value = { "schema" }) @JsonInclude(JsonInclude.Include.NON_NULL) @JsonPropertyOrder({ "contact", diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DatasetRDAMapper.java b/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DatasetRDAMapper.java index c85036cf1..b2def070d 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DatasetRDAMapper.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DatasetRDAMapper.java @@ -160,7 +160,7 @@ public class DatasetRDAMapper { } List languageNodes = JsonSearcher.findNodes(datasetDescriptionObj, "rdaProperty", "dataset.language"); - if (!languageNodes.isEmpty()) { + if (!languageNodes.isEmpty() && rda.getLanguage() != null) { properties.put(languageNodes.get(0).get("id").asText(), rda.getLanguage().value()); } diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DistributionRDAMapper.java b/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DistributionRDAMapper.java index b8229a017..fe3135146 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DistributionRDAMapper.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/DistributionRDAMapper.java @@ -145,22 +145,33 @@ public class DistributionRDAMapper { properties.put(distributionNode.get("id").asText(), rda.getAvailableUntil()); break; case DOWNLOAD_URL: - properties.put(distributionNode.get("id").asText(), rda.getDownloadUrl().toString()); + if (rda.getDownloadUrl() != null) { + properties.put(distributionNode.get("id").asText(), rda.getDownloadUrl().toString()); + } break; case DATA_ACCESS: properties.put(distributionNode.get("id").asText(), rda.getDataAccess().value()); break; case BYTE_SIZE: - properties.put(distributionNode.get("id").asText(), rda.getByteSize().toString()); + if (rda.getByteSize() != null) { + properties.put(distributionNode.get("id").asText(), rda.getByteSize().toString()); + } break; case FORMAT: - properties.put(distributionNode.get("id").asText(), rda.getFormat().get(0)); + if (rda.getFormat() != null && !rda.getFormat().isEmpty()) { + properties.put(distributionNode.get("id").asText(), rda.getFormat().get(0)); + } break; case LICENSE: - properties.putAll(LicenseRDAMapper.toProperties(rda.getLicense().get(0), root)); + if (rda.getLicense() != null && !rda.getLicense().isEmpty()) { + properties.putAll(LicenseRDAMapper.toProperties(rda.getLicense().get(0), root)); + } break; case HOST: - properties.putAll(HostRDAMapper.toProperties(rda.getHost())); + if (rda.getHost() != null) { + properties.putAll(HostRDAMapper.toProperties(rda.getHost())); + } + break; } } } diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/LicenseRDAMapper.java b/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/LicenseRDAMapper.java index 6cd7d5605..ee7cc78f5 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/LicenseRDAMapper.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/rda/mapper/LicenseRDAMapper.java @@ -72,7 +72,9 @@ public class LicenseRDAMapper { if (licenseNode.get("rdaProperty").asText().endsWith(licenceProperty.getName())) { switch (licenceProperty) { case LICENSE_REF: - properties.put(licenseNode.get("id").asText(), rda.getLicenseRef().toString()); + if (rda.getLicenseRef() != null) { + properties.put(licenseNode.get("id").asText(), rda.getLicenseRef().toString()); + } break; case START_DATE: properties.put(licenseNode.get("id").asText(), rda.getStartDate());