diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/entities/Funder.java b/dmp-backend/data/src/main/java/eu/eudat/data/entities/Funder.java index d2be5ce28..d66162494 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/entities/Funder.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/entities/Funder.java @@ -157,6 +157,7 @@ public class Funder implements DataEntity { this.created = entity.getCreated(); this.definition = entity.getDefinition(); this.modified = new Date(); + this.status = entity.getStatus(); } @Override diff --git a/dmp-backend/data/src/main/java/eu/eudat/data/entities/Grant.java b/dmp-backend/data/src/main/java/eu/eudat/data/entities/Grant.java index f065b3575..a7dbfc926 100644 --- a/dmp-backend/data/src/main/java/eu/eudat/data/entities/Grant.java +++ b/dmp-backend/data/src/main/java/eu/eudat/data/entities/Grant.java @@ -279,7 +279,7 @@ public class Grant implements DataEntity { this.enddate = entity.getEnddate(); this.modified = new Date(); this.uri = entity.getUri(); - //this.funder = entity.funder; + this.funder = entity.getFunder(); if (entity.getContent() != null) this.content = entity.getContent(); } diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/DataManagementPlan.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/DataManagementPlan.java index 1f02303e9..67d4eadc1 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/DataManagementPlan.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/DataManagementPlan.java @@ -5,6 +5,7 @@ import eu.eudat.logic.utilities.builders.XmlBuilder; import eu.eudat.models.DataModel; import eu.eudat.models.data.dynamicfields.DynamicFieldWithValue; import eu.eudat.models.data.entities.xmlmodels.dmpprofiledefinition.DataManagementPlanProfile; +import eu.eudat.models.data.funder.Funder; import eu.eudat.models.data.helpermodels.Tuple; import eu.eudat.models.data.listingmodels.DatasetListingModel; import eu.eudat.models.data.listingmodels.UserInfoListingModel; @@ -40,6 +41,7 @@ public class DataManagementPlan implements DataModel { private List users; private String doi; private Project project; + private Funder funder; public UUID getId() { return id; @@ -202,6 +204,13 @@ public class DataManagementPlan implements DataModel { this.project = project; } + public Funder getFunder() { + return funder; + } + public void setFunder(Funder funder) { + this.funder = funder; + } + @Override public DataManagementPlan fromDataModel(DMP entity) { this.id = entity.getId(); @@ -242,11 +251,15 @@ public class DataManagementPlan implements DataModel { this.associatedUsers = entity.getUsers().stream().map(item -> new UserListingModel().fromDataModel(item.getUser())).collect(Collectors.toList()); this.users = entity.getUsers().stream().map(item -> new UserInfoListingModel().fromDataModel(item)).collect(Collectors.toList()); this.doi = entity.getDoi(); - if (entity.getProject() != null) { + + this.project = new Project(); + if (entity.getProject() != null) this.project = new Project().fromDataModel(entity.getProject()); - } else { - this.project = null; - } + + this.funder = new Funder(); + if (entity.getGrant().getFunder() != null) + this.funder.fromDataModel(entity.getGrant().getFunder()); + return this; } diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/DataManagementPlanEditorModel.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/DataManagementPlanEditorModel.java index 826dacea3..30ac3a10a 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/DataManagementPlanEditorModel.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/dmp/DataManagementPlanEditorModel.java @@ -5,6 +5,7 @@ import eu.eudat.logic.utilities.builders.XmlBuilder; import eu.eudat.models.DataModel; import eu.eudat.models.data.dynamicfields.DynamicFieldWithValue; import eu.eudat.models.data.entities.xmlmodels.dmpprofiledefinition.DataManagementPlanProfile; +import eu.eudat.models.data.funder.FunderDMPEditorModel; import eu.eudat.models.data.helpermodels.Tuple; import eu.eudat.models.data.listingmodels.DatasetListingModel; import eu.eudat.models.data.listingmodels.UserInfoListingModel; @@ -40,6 +41,7 @@ public class DataManagementPlanEditorModel implements DataModel users; private List datasetsToBeFinalized; private ProjectDMPEditorModel project; + private FunderDMPEditorModel funder; public UUID getId() { return id; @@ -202,6 +204,13 @@ public class DataManagementPlanEditorModel implements DataModel new UserListingModel().fromDataModel(item.getUser())).collect(Collectors.toList()); this.users = entity.getUsers().stream().map(item -> new UserInfoListingModel().fromDataModel(item)).collect(Collectors.toList()); + this.funder = new FunderDMPEditorModel(); + this.funder.getExistFunder().fromDataModel(entity.getGrant().getFunder()); + return this; } @@ -281,6 +293,23 @@ public class DataManagementPlanEditorModel implements DataModel private String label; private String reference; private String definition; - private eu.eudat.data.entities.Funder.Status status; + private Short status; private Date created; private Date modified; private Integer type; @@ -45,10 +45,10 @@ public class Funder implements DataModel } public Short getStatus() { - return status.getValue(); + return status; } public void setStatus(Short status) { - this.status = eu.eudat.data.entities.Funder.Status.fromInteger(status); + this.status = status; } public Date getCreated() { @@ -79,7 +79,7 @@ public class Funder implements DataModel this.reference = entity.getReference(); this.type = entity.getType(); this.definition = entity.getDefinition(); - this.setStatus(entity.getStatus()); + this.status = entity.getStatus(); this.created = entity.getCreated(); this.modified = entity.getModified(); return this; diff --git a/dmp-backend/web/src/main/java/eu/eudat/models/data/grant/Grant.java b/dmp-backend/web/src/main/java/eu/eudat/models/data/grant/Grant.java index 1b936d449..d02d48658 100644 --- a/dmp-backend/web/src/main/java/eu/eudat/models/data/grant/Grant.java +++ b/dmp-backend/web/src/main/java/eu/eudat/models/data/grant/Grant.java @@ -5,7 +5,6 @@ import eu.eudat.data.entities.UserInfo; import eu.eudat.models.DataModel; import eu.eudat.models.data.dmp.DataManagementPlan; import eu.eudat.models.data.files.ContentFile; -import eu.eudat.models.data.funder.FunderDMPEditorModel; import java.util.Arrays; import java.util.Date; @@ -31,8 +30,7 @@ public class Grant implements DataModel { private Date modified; private String description; private List files; - private FunderDMPEditorModel funder; - + private UUID funderId; public UUID getId() { return id; @@ -146,11 +144,11 @@ public class Grant implements DataModel { this.files = files; } - public FunderDMPEditorModel getFunder() { - return funder; + public UUID getFunderId() { + return funderId; } - public void setFunder(FunderDMPEditorModel funder) { - this.funder = funder; + public void setFunderId(UUID funderId) { + this.funderId = funderId; } @Override @@ -169,9 +167,8 @@ public class Grant implements DataModel { this.modified = entity.getModified(); this.description = entity.getDescription(); this.files = entity.getContent() != null ? Arrays.asList(new ContentFile(entity.getContent().getLabel(), UUID.fromString(entity.getContent().getUri().split(":")[1]), "final", entity.getContent().getExtension())) : Arrays.asList(new ContentFile("default.png", null, null, null)); - this.funder = new FunderDMPEditorModel(); if (entity.getFunder() != null) - this.funder.getExistFunder().fromDataModel(entity.getFunder()); + this.funderId = entity.getFunder().getId(); return this; } @@ -192,22 +189,11 @@ public class Grant implements DataModel { entity.setStatus(this.status != null ? this.getStatus() : eu.eudat.data.entities.Grant.Status.ACTIVE.getValue()); entity.setModified(new Date()); entity.setDescription(this.description); - if (this.funder != null) { - if (this.funder.getExistFunder() != null && this.funder.getLabel() == null) - entity.setFunder(this.funder.getExistFunder().toDataModel()); - else { - Funder funder = new Funder(); - funder.setLabel(this.funder.getLabel()); - funder.setType(Funder.FunderType.INTERNAL.getValue()); - funder.setReference("dmp:" + this.funder.getLabel()); - funder.setDefinition(""); - funder.setCreated(new Date()); - funder.setStatus(Funder.Status.ACTIVE.getValue()); - funder.setModified(new Date()); - - entity.setFunder(funder); - } + entity.setFunder(new Funder()); + if (this.funderId != null) { + entity.getFunder().setId(this.funderId); } + return entity; }