Enriches models with Funder entity.

This commit is contained in:
gkolokythas 2019-08-26 16:43:30 +03:00
parent 0d74177d6b
commit efde5fe5a3
6 changed files with 62 additions and 33 deletions

View File

@ -157,6 +157,7 @@ public class Funder implements DataEntity<Funder, UUID> {
this.created = entity.getCreated(); this.created = entity.getCreated();
this.definition = entity.getDefinition(); this.definition = entity.getDefinition();
this.modified = new Date(); this.modified = new Date();
this.status = entity.getStatus();
} }
@Override @Override

View File

@ -279,7 +279,7 @@ public class Grant implements DataEntity<Grant, UUID> {
this.enddate = entity.getEnddate(); this.enddate = entity.getEnddate();
this.modified = new Date(); this.modified = new Date();
this.uri = entity.getUri(); this.uri = entity.getUri();
//this.funder = entity.funder; this.funder = entity.getFunder();
if (entity.getContent() != null) this.content = entity.getContent(); if (entity.getContent() != null) this.content = entity.getContent();
} }

View File

@ -5,6 +5,7 @@ import eu.eudat.logic.utilities.builders.XmlBuilder;
import eu.eudat.models.DataModel; import eu.eudat.models.DataModel;
import eu.eudat.models.data.dynamicfields.DynamicFieldWithValue; import eu.eudat.models.data.dynamicfields.DynamicFieldWithValue;
import eu.eudat.models.data.entities.xmlmodels.dmpprofiledefinition.DataManagementPlanProfile; 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.helpermodels.Tuple;
import eu.eudat.models.data.listingmodels.DatasetListingModel; import eu.eudat.models.data.listingmodels.DatasetListingModel;
import eu.eudat.models.data.listingmodels.UserInfoListingModel; import eu.eudat.models.data.listingmodels.UserInfoListingModel;
@ -40,6 +41,7 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
private List<UserInfoListingModel> users; private List<UserInfoListingModel> users;
private String doi; private String doi;
private Project project; private Project project;
private Funder funder;
public UUID getId() { public UUID getId() {
return id; return id;
@ -202,6 +204,13 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
this.project = project; this.project = project;
} }
public Funder getFunder() {
return funder;
}
public void setFunder(Funder funder) {
this.funder = funder;
}
@Override @Override
public DataManagementPlan fromDataModel(DMP entity) { public DataManagementPlan fromDataModel(DMP entity) {
this.id = entity.getId(); this.id = entity.getId();
@ -242,11 +251,15 @@ public class DataManagementPlan implements DataModel<DMP, DataManagementPlan> {
this.associatedUsers = entity.getUsers().stream().map(item -> new UserListingModel().fromDataModel(item.getUser())).collect(Collectors.toList()); 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.users = entity.getUsers().stream().map(item -> new UserInfoListingModel().fromDataModel(item)).collect(Collectors.toList());
this.doi = entity.getDoi(); this.doi = entity.getDoi();
if (entity.getProject() != null) {
this.project = new Project();
if (entity.getProject() != null)
this.project = new Project().fromDataModel(entity.getProject()); 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; return this;
} }

View File

@ -5,6 +5,7 @@ import eu.eudat.logic.utilities.builders.XmlBuilder;
import eu.eudat.models.DataModel; import eu.eudat.models.DataModel;
import eu.eudat.models.data.dynamicfields.DynamicFieldWithValue; import eu.eudat.models.data.dynamicfields.DynamicFieldWithValue;
import eu.eudat.models.data.entities.xmlmodels.dmpprofiledefinition.DataManagementPlanProfile; 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.helpermodels.Tuple;
import eu.eudat.models.data.listingmodels.DatasetListingModel; import eu.eudat.models.data.listingmodels.DatasetListingModel;
import eu.eudat.models.data.listingmodels.UserInfoListingModel; import eu.eudat.models.data.listingmodels.UserInfoListingModel;
@ -40,6 +41,7 @@ public class DataManagementPlanEditorModel implements DataModel<DMP, DataManagem
private List<UserInfoListingModel> users; private List<UserInfoListingModel> users;
private List<UUID> datasetsToBeFinalized; private List<UUID> datasetsToBeFinalized;
private ProjectDMPEditorModel project; private ProjectDMPEditorModel project;
private FunderDMPEditorModel funder;
public UUID getId() { public UUID getId() {
return id; return id;
@ -202,6 +204,13 @@ public class DataManagementPlanEditorModel implements DataModel<DMP, DataManagem
this.project = project; this.project = project;
} }
public FunderDMPEditorModel getFunder() {
return funder;
}
public void setFunder(FunderDMPEditorModel funder) {
this.funder = funder;
}
@Override @Override
public DataManagementPlanEditorModel fromDataModel(DMP entity) { public DataManagementPlanEditorModel fromDataModel(DMP entity) {
this.id = entity.getId(); this.id = entity.getId();
@ -243,6 +252,9 @@ public class DataManagementPlanEditorModel implements DataModel<DMP, DataManagem
this.project.getExistProject().fromDataModel(entity.getProject()); this.project.getExistProject().fromDataModel(entity.getProject());
this.associatedUsers = entity.getUsers().stream().map(item -> new UserListingModel().fromDataModel(item.getUser())).collect(Collectors.toList()); 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.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; return this;
} }
@ -281,6 +293,23 @@ public class DataManagementPlanEditorModel implements DataModel<DMP, DataManagem
} }
} }
if (this.funder != null) {
if (this.funder.getExistFunder() != null && this.funder.getLabel() == null)
dataManagementPlanEntity.getGrant().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());
dataManagementPlanEntity.getGrant().setFunder(funder);
}
}
if (this.project != null) { if (this.project != null) {
if (this.project.getExistProject() != null && this.project.getLabel() == null && this.project.getDescription() == null) if (this.project.getExistProject() != null && this.project.getLabel() == null && this.project.getDescription() == null)
dataManagementPlanEntity.setProject(this.project.getExistProject().toDataModel()); dataManagementPlanEntity.setProject(this.project.getExistProject().toDataModel());

View File

@ -11,7 +11,7 @@ public class Funder implements DataModel<eu.eudat.data.entities.Funder, Funder>
private String label; private String label;
private String reference; private String reference;
private String definition; private String definition;
private eu.eudat.data.entities.Funder.Status status; private Short status;
private Date created; private Date created;
private Date modified; private Date modified;
private Integer type; private Integer type;
@ -45,10 +45,10 @@ public class Funder implements DataModel<eu.eudat.data.entities.Funder, Funder>
} }
public Short getStatus() { public Short getStatus() {
return status.getValue(); return status;
} }
public void setStatus(Short status) { public void setStatus(Short status) {
this.status = eu.eudat.data.entities.Funder.Status.fromInteger(status); this.status = status;
} }
public Date getCreated() { public Date getCreated() {
@ -79,7 +79,7 @@ public class Funder implements DataModel<eu.eudat.data.entities.Funder, Funder>
this.reference = entity.getReference(); this.reference = entity.getReference();
this.type = entity.getType(); this.type = entity.getType();
this.definition = entity.getDefinition(); this.definition = entity.getDefinition();
this.setStatus(entity.getStatus()); this.status = entity.getStatus();
this.created = entity.getCreated(); this.created = entity.getCreated();
this.modified = entity.getModified(); this.modified = entity.getModified();
return this; return this;

View File

@ -5,7 +5,6 @@ import eu.eudat.data.entities.UserInfo;
import eu.eudat.models.DataModel; import eu.eudat.models.DataModel;
import eu.eudat.models.data.dmp.DataManagementPlan; import eu.eudat.models.data.dmp.DataManagementPlan;
import eu.eudat.models.data.files.ContentFile; import eu.eudat.models.data.files.ContentFile;
import eu.eudat.models.data.funder.FunderDMPEditorModel;
import java.util.Arrays; import java.util.Arrays;
import java.util.Date; import java.util.Date;
@ -31,8 +30,7 @@ public class Grant implements DataModel<eu.eudat.data.entities.Grant, Grant> {
private Date modified; private Date modified;
private String description; private String description;
private List<ContentFile> files; private List<ContentFile> files;
private FunderDMPEditorModel funder; private UUID funderId;
public UUID getId() { public UUID getId() {
return id; return id;
@ -146,11 +144,11 @@ public class Grant implements DataModel<eu.eudat.data.entities.Grant, Grant> {
this.files = files; this.files = files;
} }
public FunderDMPEditorModel getFunder() { public UUID getFunderId() {
return funder; return funderId;
} }
public void setFunder(FunderDMPEditorModel funder) { public void setFunderId(UUID funderId) {
this.funder = funder; this.funderId = funderId;
} }
@Override @Override
@ -169,9 +167,8 @@ public class Grant implements DataModel<eu.eudat.data.entities.Grant, Grant> {
this.modified = entity.getModified(); this.modified = entity.getModified();
this.description = entity.getDescription(); 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.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) if (entity.getFunder() != null)
this.funder.getExistFunder().fromDataModel(entity.getFunder()); this.funderId = entity.getFunder().getId();
return this; return this;
} }
@ -192,22 +189,11 @@ public class Grant implements DataModel<eu.eudat.data.entities.Grant, Grant> {
entity.setStatus(this.status != null ? this.getStatus() : eu.eudat.data.entities.Grant.Status.ACTIVE.getValue()); entity.setStatus(this.status != null ? this.getStatus() : eu.eudat.data.entities.Grant.Status.ACTIVE.getValue());
entity.setModified(new Date()); entity.setModified(new Date());
entity.setDescription(this.description); entity.setDescription(this.description);
if (this.funder != null) { entity.setFunder(new Funder());
if (this.funder.getExistFunder() != null && this.funder.getLabel() == null) if (this.funderId != null) {
entity.setFunder(this.funder.getExistFunder().toDataModel()); entity.getFunder().setId(this.funderId);
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);
}
} }
return entity; return entity;
} }