added mapping for projects

This commit is contained in:
Claudio Atzori 2019-10-24 17:43:42 +02:00
parent 5f339a2c24
commit 0d88f9a6a4
3 changed files with 93 additions and 30 deletions

View File

@ -61,207 +61,233 @@ public class Project extends OafEntity implements Serializable {
return websiteurl; return websiteurl;
} }
public void setWebsiteurl(Field<String> websiteurl) { public Project setWebsiteurl(Field<String> websiteurl) {
this.websiteurl = websiteurl; this.websiteurl = websiteurl;
return this;
} }
public Field<String> getCode() { public Field<String> getCode() {
return code; return code;
} }
public void setCode(Field<String> code) { public Project setCode(Field<String> code) {
this.code = code; this.code = code;
return this;
} }
public Field<String> getAcronym() { public Field<String> getAcronym() {
return acronym; return acronym;
} }
public void setAcronym(Field<String> acronym) { public Project setAcronym(Field<String> acronym) {
this.acronym = acronym; this.acronym = acronym;
return this;
} }
public Field<String> getTitle() { public Field<String> getTitle() {
return title; return title;
} }
public void setTitle(Field<String> title) { public Project setTitle(Field<String> title) {
this.title = title; this.title = title;
return this;
} }
public Field<String> getStartdate() { public Field<String> getStartdate() {
return startdate; return startdate;
} }
public void setStartdate(Field<String> startdate) { public Project setStartdate(Field<String> startdate) {
this.startdate = startdate; this.startdate = startdate;
return this;
} }
public Field<String> getEnddate() { public Field<String> getEnddate() {
return enddate; return enddate;
} }
public void setEnddate(Field<String> enddate) { public Project setEnddate(Field<String> enddate) {
this.enddate = enddate; this.enddate = enddate;
return this;
} }
public Field<String> getCallidentifier() { public Field<String> getCallidentifier() {
return callidentifier; return callidentifier;
} }
public void setCallidentifier(Field<String> callidentifier) { public Project setCallidentifier(Field<String> callidentifier) {
this.callidentifier = callidentifier; this.callidentifier = callidentifier;
return this;
} }
public Field<String> getKeywords() { public Field<String> getKeywords() {
return keywords; return keywords;
} }
public void setKeywords(Field<String> keywords) { public Project setKeywords(Field<String> keywords) {
this.keywords = keywords; this.keywords = keywords;
return this;
} }
public Field<String> getDuration() { public Field<String> getDuration() {
return duration; return duration;
} }
public void setDuration(Field<String> duration) { public Project setDuration(Field<String> duration) {
this.duration = duration; this.duration = duration;
return this;
} }
public Field<String> getEcsc39() { public Field<String> getEcsc39() {
return ecsc39; return ecsc39;
} }
public void setEcsc39(Field<String> ecsc39) { public Project setEcsc39(Field<String> ecsc39) {
this.ecsc39 = ecsc39; this.ecsc39 = ecsc39;
return this;
} }
public Field<String> getOamandatepublications() { public Field<String> getOamandatepublications() {
return oamandatepublications; return oamandatepublications;
} }
public void setOamandatepublications(Field<String> oamandatepublications) { public Project setOamandatepublications(Field<String> oamandatepublications) {
this.oamandatepublications = oamandatepublications; this.oamandatepublications = oamandatepublications;
return this;
} }
public Field<String> getEcarticle29_3() { public Field<String> getEcarticle29_3() {
return ecarticle29_3; return ecarticle29_3;
} }
public void setEcarticle29_3(Field<String> ecarticle29_3) { public Project setEcarticle29_3(Field<String> ecarticle29_3) {
this.ecarticle29_3 = ecarticle29_3; this.ecarticle29_3 = ecarticle29_3;
return this;
} }
public List<StructuredProperty> getSubjects() { public List<StructuredProperty> getSubjects() {
return subjects; return subjects;
} }
public void setSubjects(List<StructuredProperty> subjects) { public Project setSubjects(List<StructuredProperty> subjects) {
this.subjects = subjects; this.subjects = subjects;
return this;
} }
public List<Field<String>> getFundingtree() { public List<Field<String>> getFundingtree() {
return fundingtree; return fundingtree;
} }
public void setFundingtree(List<Field<String>> fundingtree) { public Project setFundingtree(List<Field<String>> fundingtree) {
this.fundingtree = fundingtree; this.fundingtree = fundingtree;
return this;
} }
public Qualifier getContracttype() { public Qualifier getContracttype() {
return contracttype; return contracttype;
} }
public void setContracttype(Qualifier contracttype) { public Project setContracttype(Qualifier contracttype) {
this.contracttype = contracttype; this.contracttype = contracttype;
return this;
} }
public Field<String> getOptional1() { public Field<String> getOptional1() {
return optional1; return optional1;
} }
public void setOptional1(Field<String> optional1) { public Project setOptional1(Field<String> optional1) {
this.optional1 = optional1; this.optional1 = optional1;
return this;
} }
public Field<String> getOptional2() { public Field<String> getOptional2() {
return optional2; return optional2;
} }
public void setOptional2(Field<String> optional2) { public Project setOptional2(Field<String> optional2) {
this.optional2 = optional2; this.optional2 = optional2;
return this;
} }
public Field<String> getJsonextrainfo() { public Field<String> getJsonextrainfo() {
return jsonextrainfo; return jsonextrainfo;
} }
public void setJsonextrainfo(Field<String> jsonextrainfo) { public Project setJsonextrainfo(Field<String> jsonextrainfo) {
this.jsonextrainfo = jsonextrainfo; this.jsonextrainfo = jsonextrainfo;
return this;
} }
public Field<String> getContactfullname() { public Field<String> getContactfullname() {
return contactfullname; return contactfullname;
} }
public void setContactfullname(Field<String> contactfullname) { public Project setContactfullname(Field<String> contactfullname) {
this.contactfullname = contactfullname; this.contactfullname = contactfullname;
return this;
} }
public Field<String> getContactfax() { public Field<String> getContactfax() {
return contactfax; return contactfax;
} }
public void setContactfax(Field<String> contactfax) { public Project setContactfax(Field<String> contactfax) {
this.contactfax = contactfax; this.contactfax = contactfax;
return this;
} }
public Field<String> getContactphone() { public Field<String> getContactphone() {
return contactphone; return contactphone;
} }
public void setContactphone(Field<String> contactphone) { public Project setContactphone(Field<String> contactphone) {
this.contactphone = contactphone; this.contactphone = contactphone;
return this;
} }
public Field<String> getContactemail() { public Field<String> getContactemail() {
return contactemail; return contactemail;
} }
public void setContactemail(Field<String> contactemail) { public Project setContactemail(Field<String> contactemail) {
this.contactemail = contactemail; this.contactemail = contactemail;
return this;
} }
public Field<String> getSummary() { public Field<String> getSummary() {
return summary; return summary;
} }
public void setSummary(Field<String> summary) { public Project setSummary(Field<String> summary) {
this.summary = summary; this.summary = summary;
return this;
} }
public Field<String> getCurrency() { public Field<String> getCurrency() {
return currency; return currency;
} }
public void setCurrency(Field<String> currency) { public Project setCurrency(Field<String> currency) {
this.currency = currency; this.currency = currency;
return this;
} }
public Float getTotalcost() { public Float getTotalcost() {
return totalcost; return totalcost;
} }
public void setTotalcost(Float totalcost) { public Project setTotalcost(Float totalcost) {
this.totalcost = totalcost; this.totalcost = totalcost;
return this;
} }
public Float getFundedamount() { public Float getFundedamount() {
return fundedamount; return fundedamount;
} }
public void setFundedamount(Float fundedamount) { public Project setFundedamount(Float fundedamount) {
this.fundedamount = fundedamount; this.fundedamount = fundedamount;
return this;
} }
} }

View File

@ -2,13 +2,13 @@ package eu.dnetlib.dhp.graph;
import eu.dnetlib.data.proto.KindProtos; import eu.dnetlib.data.proto.KindProtos;
import eu.dnetlib.data.proto.OafProtos; import eu.dnetlib.data.proto.OafProtos;
import eu.dnetlib.data.proto.ProjectProtos;
import eu.dnetlib.dhp.schema.oaf.*; import eu.dnetlib.dhp.schema.oaf.*;
import java.io.Serializable; import java.io.Serializable;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static eu.dnetlib.dhp.graph.ProtoUtils.mapDataInfo; import static eu.dnetlib.dhp.graph.ProtoUtils.*;
import static eu.dnetlib.dhp.graph.ProtoUtils.mapKV;
public class ProtoConverter implements Serializable { public class ProtoConverter implements Serializable {
@ -88,11 +88,48 @@ public class ProtoConverter implements Serializable {
} }
private static Project convertProject(OafProtos.Oaf oaf) { private static Project convertProject(OafProtos.Oaf oaf) {
return new Project(); final ProjectProtos.Project.Metadata m = oaf.getEntity().getProject().getMetadata();
final Project project = new Project();
project.setDataInfo(mapDataInfo(oaf.getDataInfo()));
project.setLastupdatetimestamp(oaf.getLastupdatetimestamp());
return project
.setAcronym(mapStringField(m.getAcronym()))
.setCallidentifier(mapStringField(m.getCallidentifier()))
.setCode(mapStringField(m.getCode()))
.setContactemail(mapStringField(m.getContactemail()))
.setContactfax(mapStringField(m.getContactfax()))
.setContactfullname(mapStringField(m.getContactfullname()))
.setContactphone(mapStringField(m.getContactphone()))
.setContracttype(mapQualifier(m.getContracttype()))
.setCurrency(mapStringField(m.getCurrency()))
.setDuration(mapStringField(m.getDuration()))
.setEcarticle29_3(mapStringField(m.getEcarticle293()))
.setEcsc39(mapStringField(m.getEcsc39()))
.setOamandatepublications(mapStringField(m.getOamandatepublications()))
.setStartdate(mapStringField(m.getStartdate()))
.setEnddate(mapStringField(m.getEnddate()))
.setFundedamount(m.getFundedamount())
.setTotalcost(m.getTotalcost())
.setKeywords(mapStringField(m.getKeywords()))
.setSubjects(m.getSubjectsCount() > 0 ?
m.getSubjectsList().stream()
.map(sp -> mapStructuredProperty(sp))
.collect(Collectors.toList()) : null)
.setTitle(mapStringField(m.getTitle()))
.setWebsiteurl(mapStringField(m.getWebsiteurl()))
.setFundingtree(m.getFundingtreeCount() > 0 ?
m.getFundingtreeList().stream()
.map(f -> mapStringField(f))
.collect(Collectors.toList()) : null)
.setJsonextrainfo(mapStringField(m.getJsonextrainfo()))
.setSummary(mapStringField(m.getSummary()))
.setOptional1(mapStringField(m.getOptional1()))
.setOptional2(mapStringField(m.getOptional2()));
} }
private static Result convertResult(OafProtos.Oaf oaf) { private static Result convertResult(OafProtos.Oaf oaf) {
switch (oaf.getEntity().getResult().getMetadata().getResulttype().getClassid()) { switch (oaf.getEntity().getResult().getMetadata().getResulttype().getClassid()) {
case "dataset": case "dataset":
return createDataset(oaf); return createDataset(oaf);
case "publication": case "publication":

View File

@ -250,7 +250,7 @@
<dependency> <dependency>
<groupId>eu.dnetlib</groupId> <groupId>eu.dnetlib</groupId>
<artifactId>dnet-openaire-data-protos</artifactId> <artifactId>dnet-openaire-data-protos</artifactId>
<version>3.9.4</version> <version>3.9.5</version>
</dependency> </dependency>
</dependencies> </dependencies>