From 2dd9572f41280b32ade9c5f6af966d9d8cd7cfcf Mon Sep 17 00:00:00 2001 From: "sandro.labruzzo" Date: Thu, 24 Oct 2019 17:36:44 +0200 Subject: [PATCH] added Mapping of OriginalDescription --- .../dnetlib/dhp/schema/oaf/OAIProvenance.java | 3 ++- .../dhp/schema/oaf/OriginDescription.java | 21 ++++++++++++------- .../java/eu/dnetlib/dhp/graph/ProtoUtils.java | 20 ++++++++++++++++++ 3 files changed, 36 insertions(+), 8 deletions(-) diff --git a/dhp-schemas/src/main/java/eu/dnetlib/dhp/schema/oaf/OAIProvenance.java b/dhp-schemas/src/main/java/eu/dnetlib/dhp/schema/oaf/OAIProvenance.java index bb97654b9..8990009a4 100644 --- a/dhp-schemas/src/main/java/eu/dnetlib/dhp/schema/oaf/OAIProvenance.java +++ b/dhp-schemas/src/main/java/eu/dnetlib/dhp/schema/oaf/OAIProvenance.java @@ -10,7 +10,8 @@ public class OAIProvenance implements Serializable { return originDescription; } - public void setOriginDescription(OriginDescription originDescription) { + public OAIProvenance setOriginDescription(OriginDescription originDescription) { this.originDescription = originDescription; + return this; } } diff --git a/dhp-schemas/src/main/java/eu/dnetlib/dhp/schema/oaf/OriginDescription.java b/dhp-schemas/src/main/java/eu/dnetlib/dhp/schema/oaf/OriginDescription.java index 898c16210..e593330e4 100644 --- a/dhp-schemas/src/main/java/eu/dnetlib/dhp/schema/oaf/OriginDescription.java +++ b/dhp-schemas/src/main/java/eu/dnetlib/dhp/schema/oaf/OriginDescription.java @@ -22,55 +22,62 @@ public class OriginDescription implements Serializable { return harvestDate; } - public void setHarvestDate(String harvestDate) { + public OriginDescription setHarvestDate(String harvestDate) { this.harvestDate = harvestDate; + return this; } public Boolean getAltered() { return altered; } - public void setAltered(Boolean altered) { + public OriginDescription setAltered(Boolean altered) { this.altered = altered; + return this; } public String getBaseURL() { return baseURL; } - public void setBaseURL(String baseURL) { + public OriginDescription setBaseURL(String baseURL) { this.baseURL = baseURL; + return this; } public String getIdentifier() { return identifier; } - public void setIdentifier(String identifier) { + public OriginDescription setIdentifier(String identifier) { this.identifier = identifier; + return this; } public String getDatestamp() { return datestamp; } - public void setDatestamp(String datestamp) { + public OriginDescription setDatestamp(String datestamp) { this.datestamp = datestamp; + return this; } public String getMetadataNamespace() { return metadataNamespace; } - public void setMetadataNamespace(String metadataNamespace) { + public OriginDescription setMetadataNamespace(String metadataNamespace) { this.metadataNamespace = metadataNamespace; + return this; } public OriginDescription getOriginDescription() { return originDescription; } - public void setOriginDescription(OriginDescription originDescription) { + public OriginDescription setOriginDescription(OriginDescription originDescription) { this.originDescription = originDescription; + return this; } } diff --git a/dhp-workflows/dhp-graph-mapper/src/main/java/eu/dnetlib/dhp/graph/ProtoUtils.java b/dhp-workflows/dhp-graph-mapper/src/main/java/eu/dnetlib/dhp/graph/ProtoUtils.java index 91e33b088..97b9c3297 100644 --- a/dhp-workflows/dhp-graph-mapper/src/main/java/eu/dnetlib/dhp/graph/ProtoUtils.java +++ b/dhp-workflows/dhp-graph-mapper/src/main/java/eu/dnetlib/dhp/graph/ProtoUtils.java @@ -54,6 +54,26 @@ public class ProtoUtils { .setValue(extraInfo.getValue()); } + + public static OAIProvenance mapOAIProvenance(FieldTypeProtos.OAIProvenance oaiProvenance) { + return new OAIProvenance().setOriginDescription(mapOriginalDescription(oaiProvenance.getOriginDescription())); + } + + + public static OriginDescription mapOriginalDescription(FieldTypeProtos.OAIProvenance.OriginDescription originDescription) { + final OriginDescription originDescriptionResult = new OriginDescription() + .setHarvestDate(originDescription.getHarvestDate()) + .setAltered(originDescription.getAltered()) + .setBaseURL(originDescription.getBaseURL()) + .setIdentifier(originDescription.getIdentifier()) + .setDatestamp(originDescription.getDatestamp()) + .setMetadataNamespace(originDescription.getMetadataNamespace()); + if (originDescription.hasOriginDescription()) + originDescriptionResult.setOriginDescription(mapOriginalDescription(originDescription.getOriginDescription())); + return originDescriptionResult; + + } + public static Field mapStringField(FieldTypeProtos.StringField s) { return new Field() .setValue(s.getValue())