2023-07-21 14:26:50 +02:00
|
|
|
|
2023-04-26 19:23:46 +02:00
|
|
|
package eu.dnetlib.dhp.actionmanager.bipmodel.score.deserializers;
|
|
|
|
|
2023-07-21 14:26:50 +02:00
|
|
|
import static eu.dnetlib.dhp.actionmanager.Constants.*;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Arrays;
|
|
|
|
import java.util.Collections;
|
|
|
|
import java.util.List;
|
|
|
|
|
2023-04-26 19:23:46 +02:00
|
|
|
import com.opencsv.bean.CsvBindByPosition;
|
2023-07-21 14:26:50 +02:00
|
|
|
|
2023-04-26 19:23:46 +02:00
|
|
|
import eu.dnetlib.dhp.schema.common.ModelConstants;
|
|
|
|
import eu.dnetlib.dhp.schema.oaf.KeyValue;
|
2023-07-21 14:26:50 +02:00
|
|
|
import eu.dnetlib.dhp.schema.oaf.Measure;
|
2023-04-26 19:23:46 +02:00
|
|
|
import eu.dnetlib.dhp.schema.oaf.utils.OafMapperUtils;
|
|
|
|
import lombok.AllArgsConstructor;
|
|
|
|
import lombok.Getter;
|
|
|
|
import lombok.NoArgsConstructor;
|
|
|
|
import lombok.Setter;
|
|
|
|
|
|
|
|
@NoArgsConstructor
|
|
|
|
@AllArgsConstructor
|
|
|
|
@Getter
|
|
|
|
@Setter
|
|
|
|
public class BipProjectModel {
|
2023-07-21 14:26:50 +02:00
|
|
|
String projectId;
|
|
|
|
|
|
|
|
String numOfInfluentialResults;
|
2023-04-26 19:23:46 +02:00
|
|
|
|
2023-07-21 14:26:50 +02:00
|
|
|
String numOfPopularResults;
|
2023-04-26 19:23:46 +02:00
|
|
|
|
2023-07-21 14:26:50 +02:00
|
|
|
String totalImpulse;
|
2023-04-26 19:23:46 +02:00
|
|
|
|
2023-07-21 14:26:50 +02:00
|
|
|
String totalCitationCount;
|
2023-12-14 11:43:58 +01:00
|
|
|
|
|
|
|
public String getProjectId() {
|
|
|
|
return projectId;
|
|
|
|
}
|
2023-04-26 19:23:46 +02:00
|
|
|
|
2023-07-21 14:26:50 +02:00
|
|
|
// each project bip measure has exactly one value, hence one key-value pair
|
|
|
|
private Measure createMeasure(String measureId, String measureValue) {
|
2023-04-26 19:23:46 +02:00
|
|
|
|
2023-07-21 14:26:50 +02:00
|
|
|
KeyValue kv = new KeyValue();
|
|
|
|
kv.setKey("score");
|
|
|
|
kv.setValue(measureValue);
|
|
|
|
kv
|
|
|
|
.setDataInfo(
|
|
|
|
OafMapperUtils
|
|
|
|
.dataInfo(
|
|
|
|
false,
|
|
|
|
UPDATE_DATA_INFO_TYPE,
|
|
|
|
true,
|
|
|
|
false,
|
|
|
|
OafMapperUtils
|
|
|
|
.qualifier(
|
|
|
|
UPDATE_MEASURE_BIP_CLASS_ID,
|
|
|
|
UPDATE_CLASS_NAME,
|
|
|
|
ModelConstants.DNET_PROVENANCE_ACTIONS,
|
|
|
|
ModelConstants.DNET_PROVENANCE_ACTIONS),
|
|
|
|
""));
|
2023-04-26 19:23:46 +02:00
|
|
|
|
2023-07-21 14:26:50 +02:00
|
|
|
Measure measure = new Measure();
|
|
|
|
measure.setId(measureId);
|
|
|
|
measure.setUnit(Collections.singletonList(kv));
|
|
|
|
return measure;
|
|
|
|
}
|
2023-04-26 19:23:46 +02:00
|
|
|
|
2023-07-21 14:26:50 +02:00
|
|
|
public List<Measure> toMeasures() {
|
|
|
|
return Arrays
|
|
|
|
.asList(
|
|
|
|
createMeasure("numOfInfluentialResults", numOfInfluentialResults),
|
|
|
|
createMeasure("numOfPopularResults", numOfPopularResults),
|
|
|
|
createMeasure("totalImpulse", totalImpulse),
|
|
|
|
createMeasure("totalCitationCount", totalCitationCount));
|
|
|
|
}
|
2023-04-26 19:23:46 +02:00
|
|
|
|
|
|
|
}
|