From 7d4e8976e9096e67fc968649a249f524afa12fa8 Mon Sep 17 00:00:00 2001 From: "michele.artini" Date: Wed, 18 Oct 2023 14:22:24 +0200 Subject: [PATCH] new fiedl availableSince --- .../importer/CommunityImporterService.java | 2 ++ .../openaire/community/model/DbProject.java | 18 +++++++++++++++++- .../community/utils/CommunityMappingUtils.java | 7 +++++++ .../model/community/CommunityProject.java | 17 ++++++++++++++++- 4 files changed, 42 insertions(+), 2 deletions(-) diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/importer/CommunityImporterService.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/importer/CommunityImporterService.java index c36d0070..224beee9 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/importer/CommunityImporterService.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/importer/CommunityImporterService.java @@ -1,5 +1,6 @@ package eu.dnetlib.openaire.community.importer; +import java.time.LocalDate; import java.util.ArrayList; import java.util.Arrays; import java.util.Base64; @@ -288,6 +289,7 @@ public class CommunityImporterService { project.setGrantId(firstValue(CPROJECT_NUMBER, p)); project.setName(firstValue(CPROJECT_FULLNAME, p)); project.setAcronym(firstValue(CPROJECT_ACRONYM, p)); + project.setAvailableSince(LocalDate.of(2017, 2, 25)); // Birillo Birth Date return project; } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/model/DbProject.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/model/DbProject.java index 206457be..7ac348bf 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/model/DbProject.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/model/DbProject.java @@ -1,6 +1,7 @@ package eu.dnetlib.openaire.community.model; import java.io.Serializable; +import java.time.LocalDate; import javax.persistence.Column; import javax.persistence.Entity; @@ -8,6 +9,8 @@ import javax.persistence.Id; import javax.persistence.IdClass; import javax.persistence.Table; +import org.springframework.data.annotation.CreatedDate; + @Entity @Table(name = "community_projects") @IdClass(DbProjectPK.class) @@ -35,16 +38,21 @@ public class DbProject implements Serializable { @Column(name = "project_funder") private String projectFunder; + @CreatedDate + @Column(name = "available_since") + private LocalDate availableSince; + public DbProject() {} 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.projectId = projectId; this.projectCode = projectCode; this.projectName = projectName; this.projectAcronym = projectAcronym; this.projectFunder = projectFunder; + this.availableSince = availableSince; } public String getCommunity() { @@ -94,4 +102,12 @@ public class DbProject implements Serializable { public void setProjectFunder(final String projectFunder) { this.projectFunder = projectFunder; } + + public LocalDate getAvailableSince() { + return availableSince; + } + + public void setAvailableSince(final LocalDate availableSince) { + this.availableSince = availableSince; + } } diff --git a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/utils/CommunityMappingUtils.java b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/utils/CommunityMappingUtils.java index 3a0a80dc..ed2de6a4 100644 --- a/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/utils/CommunityMappingUtils.java +++ b/apps/dnet-exporter-api/src/main/java/eu/dnetlib/openaire/community/utils/CommunityMappingUtils.java @@ -1,6 +1,7 @@ package eu.dnetlib.openaire.community.utils; import java.text.ParseException; +import java.time.LocalDate; import java.time.LocalDateTime; import java.time.ZoneId; import java.util.Arrays; @@ -160,6 +161,7 @@ public class CommunityMappingUtils { cp.setAcronym(dbEntry.getProjectAcronym()); cp.setFunder(dbEntry.getProjectFunder()); cp.setGrantId(dbEntry.getProjectCode()); + cp.setAvailableSince(dbEntry.getAvailableSince()); return cp; } @@ -171,6 +173,11 @@ public class CommunityMappingUtils { p.setProjectAcronym(project.getAcronym()); p.setProjectCode(project.getGrantId()); p.setProjectFunder(project.getFunder()); + if (project.getAvailableSince() != null) { + p.setAvailableSince(project.getAvailableSince()); + } else { + p.setAvailableSince(LocalDate.now()); + } return p; } diff --git a/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityProject.java b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityProject.java index 05cb3d25..1bf31b0f 100644 --- a/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityProject.java +++ b/libs/dnet-exporter-model/src/main/java/eu/dnetlib/openaire/exporter/model/community/CommunityProject.java @@ -1,5 +1,7 @@ package eu.dnetlib.openaire.exporter.model.community; +import java.time.LocalDate; + import com.fasterxml.jackson.annotation.JsonAutoDetect; import io.swagger.v3.oas.annotations.media.Schema; @@ -25,6 +27,9 @@ public class CommunityProject { @Schema(description = "project grant id", required = true) private String grantId; + @Schema(description = "available since", required = false) + private LocalDate availableSince; + public String getOpenaireId() { return openaireId; } @@ -73,6 +78,14 @@ public class CommunityProject { this.grantId = grantId; } + public LocalDate getAvailableSince() { + return availableSince; + } + + public void setAvailableSince(final LocalDate availableSince) { + this.availableSince = availableSince; + } + @Override public String toString() { final StringBuilder builder = new StringBuilder(); @@ -87,7 +100,9 @@ public class CommunityProject { .append(",\n\tfunder = ") .append(funder) .append(",\n\tgrantId = ") - .append(grantId) + .append(funder) + .append(",\n\tavailableSince = ") + .append(availableSince) .append("\n]"); return builder.toString(); }