From e99a879bf08772a67ced918aed775b9b7b1865e0 Mon Sep 17 00:00:00 2001 From: "miriam.baglioni" Date: Mon, 7 Nov 2022 17:59:12 +0100 Subject: [PATCH] [EOSC DUMP SCHEMA] new classes for EOSC dump --- .../model/EoscInteroperabilityFramework.java | 67 +++++++++++++++++++ .../eu/dnetlib/dhp/eosc/model/EoscResult.java | 11 +++ .../eu/dnetlib/dhp/eosc/model/Indicator.java | 32 +++++++++ .../dnetlib/dhp/eosc/model/UsageCounts.java | 36 ++++++++++ 4 files changed, 146 insertions(+) create mode 100644 dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/EoscInteroperabilityFramework.java create mode 100644 dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/Indicator.java create mode 100644 dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/UsageCounts.java diff --git a/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/EoscInteroperabilityFramework.java b/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/EoscInteroperabilityFramework.java new file mode 100644 index 0000000..8b92bb2 --- /dev/null +++ b/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/EoscInteroperabilityFramework.java @@ -0,0 +1,67 @@ + +package eu.dnetlib.dhp.eosc.model; + +import java.io.Serializable; + +import com.github.imifou.jsonschema.module.addon.annotation.JsonSchema; + +/** + * @author miriam.baglioni + * @Date 29/07/22 + */ +public class EoscInteroperabilityFramework implements Serializable { + @JsonSchema(description = "EOSC-IF label") + private String label; + + @JsonSchema( + description = "EOSC-IF local code. Later on it could be populated with a PID (e.g. DOI), but for the time being we stick to a more loose definition.") + private String code; + + @JsonSchema(description = "EOSC-IF url to the guidelines") + private String url; + + @JsonSchema(description = "EOSC-IF semantic relation (e.g. compliesWith)") + private String semanticRelation; + + public String getLabel() { + return label; + } + + public void setLabel(String label) { + this.label = label; + } + + public String getCode() { + return code; + } + + public void setCode(String code) { + this.code = code; + } + + public String getUrl() { + return url; + } + + public void setUrl(String url) { + this.url = url; + } + + public String getSemanticRelation() { + return semanticRelation; + } + + public void setSemanticRelation(String semanticRelation) { + this.semanticRelation = semanticRelation; + } + + public static EoscInteroperabilityFramework newInstance(String code, String label, String url, + String semanticRelation) { + EoscInteroperabilityFramework eif = new EoscInteroperabilityFramework(); + eif.label = label; + eif.code = code; + eif.url = url; + eif.semanticRelation = semanticRelation; + return eif; + } +} diff --git a/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/EoscResult.java b/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/EoscResult.java index a141296..b7be494 100644 --- a/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/EoscResult.java +++ b/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/EoscResult.java @@ -26,6 +26,17 @@ public class EoscResult extends CommunityResult { @JsonSchema(description = "The list of organizations the result is affiliated to") private List affiliation; + @JsonSchema(description = "The indicators for this result") + private Indicator indicator; + + public Indicator getIndicator() { + return indicator; + } + + public void setIndicator(Indicator indicator) { + this.indicator = indicator; + } + public List getKeywords() { return keywords; } diff --git a/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/Indicator.java b/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/Indicator.java new file mode 100644 index 0000000..58df9bc --- /dev/null +++ b/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/Indicator.java @@ -0,0 +1,32 @@ + +package eu.dnetlib.dhp.eosc.model; + +import java.io.Serializable; + +/** + * @author miriam.baglioni + * @Date 04/11/22 + */ +public class Indicator implements Serializable { + private UsageCounts usageCounts; + + public static Indicator newInstance(UsageCounts uc) { + Indicator i = new Indicator(); + i.usageCounts = uc; + return i; + } + + public static Indicator newInstance(String downloads, String views) { + Indicator i = new Indicator(); + i.usageCounts = UsageCounts.newInstance(views, downloads); + return i; + } + + public UsageCounts getUsageCounts() { + return usageCounts; + } + + public void setUsageCounts(UsageCounts usageCounts) { + this.usageCounts = usageCounts; + } +} diff --git a/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/UsageCounts.java b/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/UsageCounts.java new file mode 100644 index 0000000..fabd240 --- /dev/null +++ b/dump-schema/src/main/java/eu/dnetlib/dhp/eosc/model/UsageCounts.java @@ -0,0 +1,36 @@ + +package eu.dnetlib.dhp.eosc.model; + +import java.io.Serializable; + +/** + * @author miriam.baglioni + * @Date 04/11/22 + */ +public class UsageCounts implements Serializable { + private String views; + private String downloads; + + public String getViews() { + return views; + } + + public void setViews(String views) { + this.views = views; + } + + public String getDownloads() { + return downloads; + } + + public void setDownloads(String downloads) { + this.downloads = downloads; + } + + public static UsageCounts newInstance(String views, String downloads) { + UsageCounts uc = new UsageCounts(); + uc.views = views; + uc.downloads = downloads; + return uc; + } +}