package eu.eudat.models.data.quickwizard; import eu.eudat.data.dao.entities.UserInfoDao; import eu.eudat.data.entities.Project; import eu.eudat.models.data.dmp.AssociatedProfile; import eu.eudat.models.data.security.Principal; import eu.eudat.models.data.userinfo.UserInfo; import java.util.Date; import java.util.LinkedList; import java.util.List; import java.util.UUID; public class DmpQuickWizardModel { private UUID id; private String label; private int status; private AssociatedProfile profile; private String description; private eu.eudat.models.data.project.Project project; public UUID getId() { return id; } public void setId(UUID id) { this.id = id; } public String getLabel() { return label; } public void setLabel(String label) { this.label = label; } public int getStatus() { return status; } public void setStatus(int status) { this.status = status; } public AssociatedProfile getProfile() { return profile; } public void setProfile(AssociatedProfile profile) { this.profile = profile; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } public eu.eudat.models.data.project.Project getProject() { return project; } public void setProject(eu.eudat.models.data.project.Project project) { this.project = project; } public eu.eudat.models.data.dmp.DataManagementPlan toDataDmp(UserInfoDao userInfoRepository ,Project project, Principal principal) { eu.eudat.models.data.dmp.DataManagementPlan dataManagementPlanEntity = new eu.eudat.models.data.dmp.DataManagementPlan(); dataManagementPlanEntity.setId(this.id); dataManagementPlanEntity.setVersion(0); dataManagementPlanEntity.setLabel(this.label); if (project != null) { eu.eudat.models.data.project.Project importProject = new eu.eudat.models.data.project.Project(); dataManagementPlanEntity.setProject(importProject.fromDataModel(project)); } if(this.profile!=null) { List assProfile = new LinkedList<>(); assProfile.add(this.profile); dataManagementPlanEntity.setProfiles(assProfile); } dataManagementPlanEntity.setStatus((short) this.status); dataManagementPlanEntity.setDescription(this.description); dataManagementPlanEntity.setProperties(null); dataManagementPlanEntity.setCreated(new Date()); List user = new LinkedList(); eu.eudat.models.data.userinfo.UserInfo usetInfo = new eu.eudat.models.data.userinfo.UserInfo(); usetInfo.fromDataModel(userInfoRepository.find(principal.getId())); user.add(usetInfo); dataManagementPlanEntity.setAssociatedUsers(user); return dataManagementPlanEntity; } public eu.eudat.data.entities.DatasetProfile getDatasetProfile(){ eu.eudat.data.entities.DatasetProfile datasetProfile = new eu.eudat.data.entities.DatasetProfile(); datasetProfile.setDefinition(this.profile.getLabel()); datasetProfile.setLabel(this.profile.getLabel()); datasetProfile.setId(this.profile.getId()); return datasetProfile; } }