diff --git a/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Indicator.java b/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Indicator.java index cce0b29..a627c86 100644 --- a/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Indicator.java +++ b/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Indicator.java @@ -13,7 +13,6 @@ public class Indicator implements Serializable { @JsonSchema(description = "The measures for that indicator") private List measure; - public String getId() { return id; } @@ -30,7 +29,7 @@ public class Indicator implements Serializable { this.measure = measure; } - public static Indicator newInstance(String id, List measure){ + public static Indicator newInstance(String id, List measure) { Indicator indicator = new Indicator(); indicator.id = id; indicator.measure = measure; diff --git a/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Measure.java b/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Measure.java index c1ee626..3a210cc 100644 --- a/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Measure.java +++ b/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Measure.java @@ -1,47 +1,49 @@ + package eu.dnetlib.dhp.oa.model; +import java.io.Serializable; + +import org.apache.commons.lang3.StringUtils; + import com.fasterxml.jackson.annotation.JsonIgnore; import com.github.imifou.jsonschema.module.addon.annotation.JsonSchema; -import org.apache.commons.lang3.StringUtils; - -import java.io.Serializable; /** * @author miriam.baglioni * @Date 03/08/22 */ public class Measure implements Serializable { - @JsonSchema(description = "The measure (i.e. class)") - private String key; + @JsonSchema(description = "The measure (i.e. class)") + private String key; - @JsonSchema(description = "The value for that measure") - private String value; + @JsonSchema(description = "The value for that measure") + private String value; - public String getKey() { - return key; - } + public String getKey() { + return key; + } - public void setKey(String key) { - this.key = key; - } + public void setKey(String key) { + this.key = key; + } - public String getValue() { - return value; - } + public String getValue() { + return value; + } - public void setValue(String value) { - this.value = value; - } + public void setValue(String value) { + this.value = value; + } - public static Measure newInstance(String key, String value) { - Measure mes = new Measure(); - mes.key = key; - mes.value = value; - return mes; - } + public static Measure newInstance(String key, String value) { + Measure mes = new Measure(); + mes.key = key; + mes.value = value; + return mes; + } - @JsonIgnore - public boolean isBlank() { - return StringUtils.isBlank(key) && StringUtils.isBlank(value); - } + @JsonIgnore + public boolean isBlank() { + return StringUtils.isBlank(key) && StringUtils.isBlank(value); + } } diff --git a/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Result.java b/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Result.java index 3d580fd..abcf77c 100644 --- a/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Result.java +++ b/dump-schema/src/main/java/eu/dnetlib/dhp/oa/model/Result.java @@ -4,6 +4,7 @@ package eu.dnetlib.dhp.oa.model; import java.io.Serializable; import java.util.List; +import com.fasterxml.jackson.annotation.JsonInclude; import com.github.imifou.jsonschema.module.addon.annotation.JsonSchema; /** @@ -168,6 +169,18 @@ public class Result implements Serializable { @JsonSchema(description = "Timestamp of last update of the record in OpenAIRE") private Long lastupdatetimestamp; + @JsonSchema(description = "Indicators computed for this result, for example UsageCount ones") + private List indicators; + + @JsonInclude(JsonInclude.Include.NON_NULL) + public List getIndicators() { + return indicators; + } + + public void setIndicators(List indicators) { + this.indicators = indicators; + } + public Long getLastupdatetimestamp() { return lastupdatetimestamp; } diff --git a/dump/src/main/java/eu/dnetlib/dhp/oa/graph/dump/ResultMapper.java b/dump/src/main/java/eu/dnetlib/dhp/oa/graph/dump/ResultMapper.java index 05b39b2..588d3b4 100644 --- a/dump/src/main/java/eu/dnetlib/dhp/oa/graph/dump/ResultMapper.java +++ b/dump/src/main/java/eu/dnetlib/dhp/oa/graph/dump/ResultMapper.java @@ -5,7 +5,8 @@ import java.io.Serializable; import java.util.*; import java.util.stream.Collectors; -import eu.dnetlib.dhp.oa.model.Measure; +import eu.dnetlib.dhp.schema.common.ModelConstants; +import eu.dnetlib.dhp.schema.oaf.*; import org.apache.commons.lang3.StringUtils; import eu.dnetlib.dhp.eosc.model.EoscInteroperabilityFramework; @@ -16,8 +17,9 @@ import eu.dnetlib.dhp.oa.model.*; import eu.dnetlib.dhp.oa.model.AccessRight; import eu.dnetlib.dhp.oa.model.Author; import eu.dnetlib.dhp.oa.model.GeoLocation; -import eu.dnetlib.dhp.oa.model.Instance; import eu.dnetlib.dhp.oa.model.Indicator; +import eu.dnetlib.dhp.oa.model.Instance; +import eu.dnetlib.dhp.oa.model.Measure; import eu.dnetlib.dhp.oa.model.OpenAccessRoute; import eu.dnetlib.dhp.oa.model.Result; import eu.dnetlib.dhp.oa.model.community.CfHbKeyValue; @@ -25,8 +27,7 @@ import eu.dnetlib.dhp.oa.model.community.CommunityInstance; import eu.dnetlib.dhp.oa.model.community.CommunityResult; import eu.dnetlib.dhp.oa.model.community.Context; import eu.dnetlib.dhp.oa.model.graph.GraphResult; -import eu.dnetlib.dhp.schema.common.ModelConstants; -import eu.dnetlib.dhp.schema.oaf.*; + public class ResultMapper implements Serializable { @@ -230,6 +231,22 @@ public class ResultMapper implements Serializable { out.setType(input.getResulttype().getClassid()); + if(Optional.ofNullable(input.getMeasures()).isPresent() && input.getMeasures().size() > 0 && !Constants.DUMPTYPE.EOSC.getType().equals(dumpType)){ + List indicators = new ArrayList<>(); + input.getMeasures() + .forEach( + m -> indicators + .add( + Indicator + .newInstance( + m.getId(), + m.getUnit() + .stream() + .map(u -> Measure.newInstance(u.getKey(), u.getValue())) + .collect(Collectors.toList())))); + out.setIndicators(indicators); + } + if (Constants.DUMPTYPE.EOSC.getType().equals(dumpType)) { if (Optional.ofNullable(input.getEoscifguidelines()).isPresent()) { List gei = input.getEoscifguidelines(); @@ -476,10 +493,15 @@ public class ResultMapper implements Serializable { mes .get() .forEach( - m -> indicators.add(Indicator.newInstance(m.getId(), - m.getUnit().stream() - .map(u -> Measure.newInstance(u.getKey(),u.getValue())) - .collect(Collectors.toList())))); + m -> indicators + .add( + Indicator + .newInstance( + m.getId(), + m.getUnit() + .stream() + .map(u -> Measure.newInstance(u.getKey(), u.getValue())) + .collect(Collectors.toList())))); instance.setIndicators(indicators); } @@ -553,8 +575,6 @@ public class ResultMapper implements Serializable { } - - private static List getUniqueProvenance(List provenance) throws NoAvailableEntityTypeException { Provenance iProv = new Provenance(); diff --git a/pom.xml b/pom.xml index 3446ab3..7f650b4 100644 --- a/pom.xml +++ b/pom.xml @@ -102,7 +102,7 @@ 5.6.1 3.5 11.0.2 - [2.12.2-SCHEMA-NO-DUMP] + [2.12.1] \ No newline at end of file