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;
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;
}

View File

@ -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;
}
}

View File

@ -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;
}

View File

@ -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();
}