2017-12-08 15:52:12 +01:00
|
|
|
package models.dataset;
|
|
|
|
|
2017-12-09 23:31:07 +01:00
|
|
|
import models.DataModel;
|
2017-12-11 10:48:18 +01:00
|
|
|
import utilities.builders.DomainModelConverter;
|
2017-12-09 23:31:07 +01:00
|
|
|
|
2017-12-08 15:52:12 +01:00
|
|
|
import java.util.Date;
|
|
|
|
import java.util.HashSet;
|
2017-12-11 10:48:18 +01:00
|
|
|
import java.util.LinkedList;
|
2017-12-08 15:52:12 +01:00
|
|
|
import java.util.List;
|
|
|
|
import java.util.UUID;
|
2017-12-11 10:48:18 +01:00
|
|
|
import java.util.stream.Collectors;
|
2017-12-08 15:52:12 +01:00
|
|
|
|
2017-12-09 23:31:07 +01:00
|
|
|
public class Dataset implements DataModel<entities.Dataset>{
|
2017-12-08 15:52:12 +01:00
|
|
|
private UUID id;
|
|
|
|
private String label;
|
|
|
|
private String reference;
|
|
|
|
private String uri;
|
2017-12-11 10:48:18 +01:00
|
|
|
private String description;
|
2017-12-08 15:52:12 +01:00
|
|
|
private short status;
|
|
|
|
private String properties;
|
2017-12-11 10:48:18 +01:00
|
|
|
private entities.DMP dmp;
|
|
|
|
private entities.DatasetProfile profile;
|
2017-12-08 15:52:12 +01:00
|
|
|
private List<Registry> registries;
|
|
|
|
private List<Service> services;
|
|
|
|
private List<DataRepository> dataRepositories;
|
|
|
|
|
|
|
|
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 List<Registry> getRegistries() {
|
|
|
|
return registries;
|
|
|
|
}
|
|
|
|
public void setRegistries(List<Registry> registries) {
|
|
|
|
this.registries = registries;
|
|
|
|
}
|
|
|
|
public List<Service> getServices() {
|
|
|
|
return services;
|
|
|
|
}
|
|
|
|
public void setServices(List<Service> services) {
|
|
|
|
this.services = services;
|
|
|
|
}
|
|
|
|
public List<DataRepository> getDataRepositories() {
|
|
|
|
return dataRepositories;
|
|
|
|
}
|
|
|
|
public void setDataRepositories(List<DataRepository> dataRepositories) {
|
|
|
|
this.dataRepositories = dataRepositories;
|
|
|
|
}
|
|
|
|
|
2017-12-11 10:48:18 +01:00
|
|
|
|
|
|
|
|
|
|
|
public String getDescription() {
|
|
|
|
return description;
|
|
|
|
}
|
|
|
|
public void setDescription(String description) {
|
|
|
|
this.description = description;
|
|
|
|
}
|
|
|
|
public entities.DMP getDmp() {
|
|
|
|
return dmp;
|
|
|
|
}
|
|
|
|
public void setDmp(entities.DMP dmp) {
|
|
|
|
this.dmp = dmp;
|
|
|
|
}
|
|
|
|
public entities.DatasetProfile getProfile() {
|
|
|
|
return profile;
|
|
|
|
}
|
|
|
|
public void setProfile(entities.DatasetProfile profile) {
|
|
|
|
this.profile = profile;
|
|
|
|
}
|
|
|
|
|
|
|
|
public void fromDataModel(entities.Dataset entity) throws IllegalAccessException, InstantiationException{
|
|
|
|
this.id = entity.getId();
|
|
|
|
this.label = entity.getLabel();
|
|
|
|
this.properties = entity.getProperties();
|
|
|
|
this.reference = entity.getReference();
|
|
|
|
this.dmp = entity.getDmp();
|
|
|
|
this.description = entity.getDescription();
|
|
|
|
this.profile = entity.getProfile();
|
|
|
|
this.registries = new DomainModelConverter<entities.Registry,Registry>().fromDataModel(entity.getRegistries().stream().collect(Collectors.toList()), Registry.class);
|
|
|
|
this.dataRepositories = new DomainModelConverter<entities.DataRepository,DataRepository>().fromDataModel(entity.getDataRepositories().stream().collect(Collectors.toList()), DataRepository.class);
|
|
|
|
this.services = new DomainModelConverter<entities.Service,Service>().fromDataModel(entity.getServices().stream().collect(Collectors.toList()), Service.class);
|
2017-12-08 15:52:12 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
public entities.Dataset toDataModel(){
|
|
|
|
entities.Dataset entity = new entities.Dataset();
|
|
|
|
entity.setId(this.id);
|
|
|
|
entity.setLabel(this.label);
|
|
|
|
entity.setReference(this.reference);
|
|
|
|
entity.setUri(this.uri);
|
|
|
|
entity.setProperties(this.properties);
|
|
|
|
entity.setStatus(this.status);
|
2017-12-11 10:48:18 +01:00
|
|
|
entity.setDmp(dmp);
|
|
|
|
entity.setDescription(this.description);
|
|
|
|
entity.setProfile(profile);
|
2017-12-08 15:52:12 +01:00
|
|
|
if(!this.registries.isEmpty()){
|
|
|
|
entity.setRegistries(new HashSet<entities.Registry>());
|
|
|
|
for(Registry registry:this.registries){
|
|
|
|
entity.getRegistries().add(registry.toDataModel());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if(!this.dataRepositories.isEmpty()){
|
|
|
|
entity.setDataRepositories(new HashSet<entities.DataRepository>());
|
|
|
|
for(DataRepository dataRepository:this.dataRepositories){
|
|
|
|
entity.getDataRepositories().add(dataRepository.toDataModel());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
if(!this.services.isEmpty()){
|
|
|
|
entity.setServices(new HashSet<entities.Service>());
|
|
|
|
for(Service service:this.services){
|
|
|
|
entity.getServices().add(service.toDataModel());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return entity;
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|