argos/dmp-backend/web/src/main/java/eu/eudat/models/data/dataset/Dataset.java

156 lines
4.7 KiB
Java

package eu.eudat.models.data.dataset;
import eu.eudat.data.DescriptionEntity;
import eu.eudat.models.DataModel;
import java.util.Date;
import java.util.UUID;
public class Dataset implements DataModel<DescriptionEntity, Dataset> {
private UUID id;
private String label;
private String reference;
private String uri;
private String description;
private short status;
private String properties;
private Date created;
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 String getReference() {
return reference;
}
public void setReference(String reference) {
this.reference = reference;
}
public String getUri() {
return uri;
}
public void setUri(String uri) {
this.uri = uri;
}
public short getStatus() {
return status;
}
public void setStatus(short status) {
this.status = status;
}
public String getProperties() {
return properties;
}
public void setProperties(String properties) {
this.properties = properties;
}
public Date getCreated() {
return created;
}
public void setCreated(Date created) {
this.created = created;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
// public DataManagementPlan getDmp() {
// return dmp;
// }
//
// public void setDmp(DataManagementPlan dmp) {
// this.dmp = dmp;
// }
public Dataset fromDataModel(DescriptionEntity entity) {
//TODO
// this.id = entity.getId();
// this.label = entity.getLabel();
// this.properties = entity.getProperties();
// this.reference = entity.getReference();
// this.description = entity.getDescription();
// this.profile = new DatasetProfileListingModel();
// this.profile.fromDataModel(entity.getProfile());
// this.registries = entity.getRegistries().stream().map(item -> new Registry().fromDataModel(item)).collect(Collectors.toList());
// this.dataRepositories = entity.getDatasetDataRepositories().stream().map(item -> new DataRepository().fromDataModel(item.getDataRepository())).collect(Collectors.toList());
// this.services = entity.getServices().stream().map(item -> new Service().fromDataModel(item.getService())).collect(Collectors.toList());
// this.created = entity.getCreated();
return this;
}
public DescriptionEntity toDataModel() throws Exception {
DescriptionEntity entity = new DescriptionEntity();
//TODO
// entity.setId(this.id);
// entity.setLabel(this.label);
// entity.setReference(this.reference);
// entity.setUri(this.uri);
// entity.setProperties(this.properties);
// entity.setStatus(this.status);
// entity.setDmp(dmp.toDataModel());
// entity.setDescription(this.description);
// entity.setCreated(this.created != null ? this.created : new Date());
// entity.setModified(new Date());
// entity.setProfile(profile.toDataModel()); ///TODO
// if (!this.registries.isEmpty()) {
// entity.setRegistries(new HashSet<eu.eudat.data.old.Registry>());
// for (Registry registry : this.registries) {
// entity.getRegistries().add(registry.toDataModel());
// }
// }
//
// if (!this.dataRepositories.isEmpty()) {
// entity.setDatasetDataRepositories(new HashSet<>());
// for (DataRepository dataRepositoryModel : this.dataRepositories) {
// DatasetDataRepository datasetDataRepository = new DatasetDataRepository();
// eu.eudat.data.old.DataRepository dataRepository = dataRepositoryModel.toDataModel();
// datasetDataRepository.setDataRepository(dataRepository);
// entity.getDatasetDataRepositories().add(datasetDataRepository);
// }
// }
//
// if (!this.services.isEmpty()) {
// entity.setServices(new HashSet<DatasetService>());
// for (Service serviceModel : this.services) {
// eu.eudat.data.old.Service service = serviceModel.toDataModel();
// DatasetService datasetService = new DatasetService();
// datasetService.setService(service);
// entity.getServices().add(datasetService);
// }
// }
return entity;
}
@Override
public String getHint() {
return null;
}
}