new fiedl availableSince

This commit is contained in:
Michele Artini 2023-10-18 14:22:24 +02:00
parent 2de5d6e7fb
commit 7d4e8976e9
4 changed files with 42 additions and 2 deletions

View File

@ -1,5 +1,6 @@
package eu.dnetlib.openaire.community.importer; package eu.dnetlib.openaire.community.importer;
import java.time.LocalDate;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays; import java.util.Arrays;
import java.util.Base64; import java.util.Base64;
@ -288,6 +289,7 @@ public class CommunityImporterService {
project.setGrantId(firstValue(CPROJECT_NUMBER, p)); project.setGrantId(firstValue(CPROJECT_NUMBER, p));
project.setName(firstValue(CPROJECT_FULLNAME, p)); project.setName(firstValue(CPROJECT_FULLNAME, p));
project.setAcronym(firstValue(CPROJECT_ACRONYM, p)); project.setAcronym(firstValue(CPROJECT_ACRONYM, p));
project.setAvailableSince(LocalDate.of(2017, 2, 25)); // Birillo Birth Date
return project; return project;
} }

View File

@ -1,6 +1,7 @@
package eu.dnetlib.openaire.community.model; package eu.dnetlib.openaire.community.model;
import java.io.Serializable; import java.io.Serializable;
import java.time.LocalDate;
import javax.persistence.Column; import javax.persistence.Column;
import javax.persistence.Entity; import javax.persistence.Entity;
@ -8,6 +9,8 @@ import javax.persistence.Id;
import javax.persistence.IdClass; import javax.persistence.IdClass;
import javax.persistence.Table; import javax.persistence.Table;
import org.springframework.data.annotation.CreatedDate;
@Entity @Entity
@Table(name = "community_projects") @Table(name = "community_projects")
@IdClass(DbProjectPK.class) @IdClass(DbProjectPK.class)
@ -35,16 +38,21 @@ public class DbProject implements Serializable {
@Column(name = "project_funder") @Column(name = "project_funder")
private String projectFunder; private String projectFunder;
@CreatedDate
@Column(name = "available_since")
private LocalDate availableSince;
public DbProject() {} public DbProject() {}
public DbProject(final String community, final String projectId, final String projectCode, final String projectName, final String projectAcronym, public DbProject(final String community, final String projectId, final String projectCode, final String projectName, final String projectAcronym,
final String projectFunder) { final String projectFunder, final LocalDate availableSince) {
this.community = community; this.community = community;
this.projectId = projectId; this.projectId = projectId;
this.projectCode = projectCode; this.projectCode = projectCode;
this.projectName = projectName; this.projectName = projectName;
this.projectAcronym = projectAcronym; this.projectAcronym = projectAcronym;
this.projectFunder = projectFunder; this.projectFunder = projectFunder;
this.availableSince = availableSince;
} }
public String getCommunity() { public String getCommunity() {
@ -94,4 +102,12 @@ public class DbProject implements Serializable {
public void setProjectFunder(final String projectFunder) { public void setProjectFunder(final String projectFunder) {
this.projectFunder = projectFunder; this.projectFunder = projectFunder;
} }
public LocalDate getAvailableSince() {
return availableSince;
}
public void setAvailableSince(final LocalDate availableSince) {
this.availableSince = availableSince;
}
} }

View File

@ -1,6 +1,7 @@
package eu.dnetlib.openaire.community.utils; package eu.dnetlib.openaire.community.utils;
import java.text.ParseException; import java.text.ParseException;
import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.ZoneId; import java.time.ZoneId;
import java.util.Arrays; import java.util.Arrays;
@ -160,6 +161,7 @@ public class CommunityMappingUtils {
cp.setAcronym(dbEntry.getProjectAcronym()); cp.setAcronym(dbEntry.getProjectAcronym());
cp.setFunder(dbEntry.getProjectFunder()); cp.setFunder(dbEntry.getProjectFunder());
cp.setGrantId(dbEntry.getProjectCode()); cp.setGrantId(dbEntry.getProjectCode());
cp.setAvailableSince(dbEntry.getAvailableSince());
return cp; return cp;
} }
@ -171,6 +173,11 @@ public class CommunityMappingUtils {
p.setProjectAcronym(project.getAcronym()); p.setProjectAcronym(project.getAcronym());
p.setProjectCode(project.getGrantId()); p.setProjectCode(project.getGrantId());
p.setProjectFunder(project.getFunder()); p.setProjectFunder(project.getFunder());
if (project.getAvailableSince() != null) {
p.setAvailableSince(project.getAvailableSince());
} else {
p.setAvailableSince(LocalDate.now());
}
return p; return p;
} }

View File

@ -1,5 +1,7 @@
package eu.dnetlib.openaire.exporter.model.community; package eu.dnetlib.openaire.exporter.model.community;
import java.time.LocalDate;
import com.fasterxml.jackson.annotation.JsonAutoDetect; import com.fasterxml.jackson.annotation.JsonAutoDetect;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
@ -25,6 +27,9 @@ public class CommunityProject {
@Schema(description = "project grant id", required = true) @Schema(description = "project grant id", required = true)
private String grantId; private String grantId;
@Schema(description = "available since", required = false)
private LocalDate availableSince;
public String getOpenaireId() { public String getOpenaireId() {
return openaireId; return openaireId;
} }
@ -73,6 +78,14 @@ public class CommunityProject {
this.grantId = grantId; this.grantId = grantId;
} }
public LocalDate getAvailableSince() {
return availableSince;
}
public void setAvailableSince(final LocalDate availableSince) {
this.availableSince = availableSince;
}
@Override @Override
public String toString() { public String toString() {
final StringBuilder builder = new StringBuilder(); final StringBuilder builder = new StringBuilder();
@ -87,7 +100,9 @@ public class CommunityProject {
.append(",\n\tfunder = ") .append(",\n\tfunder = ")
.append(funder) .append(funder)
.append(",\n\tgrantId = ") .append(",\n\tgrantId = ")
.append(grantId) .append(funder)
.append(",\n\tavailableSince = ")
.append(availableSince)
.append("\n]"); .append("\n]");
return builder.toString(); return builder.toString();
} }