package eu.eudat.models.listingmodels; import eu.eudat.entities.DMP; import eu.eudat.models.DataModel; import eu.eudat.models.dmp.Organisation; import eu.eudat.utilities.helpers.LabelBuilder; import java.util.UUID; import java.util.stream.Collectors; public class DataManagementPlanListingModel implements DataModel { private String id; private String label; private String project; private String profile; private String creationTime; private String organisations; private String version; private UUID groupId; private Integer numOfDatasets; public String getId() { return id; } public void setId(String id) { this.id = id; } public String getLabel() { return label; } public void setLabel(String label) { this.label = label; } public String getProject() { return project; } public void setProject(String project) { this.project = project; } public String getProfile() { return profile; } public void setProfile(String profile) { this.profile = profile; } public String getCreationTime() { return creationTime; } public void setCreationTime(String creationTime) { this.creationTime = creationTime; } public String getOrganisations() { return organisations; } public void setOrganisations(String organisations) { this.organisations = organisations; } public String getVersion() { return version; } public void setVersion(String version) { this.version = version; } public UUID getGroupId() { return groupId; } public void setGroupId(UUID groupId) { this.groupId = groupId; } public Integer getNumOfDatasets() { return numOfDatasets; } public void setNumOfDatasets(Integer numOfDatasets) { this.numOfDatasets = numOfDatasets; } @Override public DataManagementPlanListingModel fromDataModel(DMP entity) { this.id = entity.getId().toString(); this.label = entity.getLabel(); this.project = entity.getProject().getLabel(); if(entity.getProfile()!=null)this.profile = entity.getProfile().getLabel(); this.organisations =LabelBuilder.getLabel(entity.getOrganisations().stream().map(item-> new Organisation().fromDataModel(item)).collect(Collectors.toList())); this.creationTime = entity.getCreated().toString(); this.version = ""+entity.getVersion(); this.groupId = entity.getGroupId(); this.numOfDatasets = entity.getDataset().size(); return this; } @Override public DMP toDataModel() { return null; } @Override public String getHint() { return "dataManagementPlanListingModel"; } }