Fixes source information and refactors "Reference" property of External References to meet the standards of the Application. (Issue #187)
This commit is contained in:
parent
0049504304
commit
8567bcea91
|
@ -26,7 +26,7 @@ public class DataRepositoryDaoImpl extends DatabaseAccess<DataRepository> implem
|
|||
if (criteria.getLike() != null)
|
||||
query.where((builder, root) -> builder.or(
|
||||
builder.like(builder.upper(root.get("reference")), "%" + criteria.getLike().toUpperCase() + "%"),
|
||||
builder.equal(builder.upper(root.get("label")), "%" + criteria.getLike().toUpperCase() + "%")));
|
||||
builder.equal(builder.upper(root.get("label")), criteria.getLike().toUpperCase())));
|
||||
if (criteria.getCreationUserId() != null)
|
||||
query.where((builder, root) -> builder.equal(root.get("creationUser").get("id"), criteria.getCreationUserId()));
|
||||
return query;
|
||||
|
|
|
@ -25,7 +25,9 @@ public class ExternalDatasetDaoImpl extends DatabaseAccess<ExternalDataset> impl
|
|||
public QueryableList<ExternalDataset> getWithCriteria(ExternalDatasetCriteria criteria) {
|
||||
QueryableList<ExternalDataset> query = this.getDatabaseService().getQueryable(ExternalDataset.class);
|
||||
if (criteria.getLike() != null && !criteria.getLike().isEmpty())
|
||||
query.where((builder, root) -> builder.like(builder.upper(root.get("label")), "%" + criteria.getLike().toUpperCase() + "%"));
|
||||
query.where((builder, root) -> builder.or(
|
||||
builder.like(builder.upper(root.get("reference")), "%" + criteria.getLike().toUpperCase() + "%"),
|
||||
builder.equal(builder.upper(root.get("label")), criteria.getLike().toUpperCase())));
|
||||
return query;
|
||||
}
|
||||
|
||||
|
|
|
@ -27,7 +27,7 @@ public class RegistryDaoImpl extends DatabaseAccess<Registry> implements Registr
|
|||
if (criteria.getLike() != null)
|
||||
query.where((builder, root) -> builder.or(
|
||||
builder.like(builder.upper(root.get("reference")), "%" + criteria.getLike().toUpperCase() + "%"),
|
||||
builder.equal(builder.upper(root.get("label")), "%" + criteria.getLike().toUpperCase() + "%")));
|
||||
builder.equal(builder.upper(root.get("label")), criteria.getLike().toUpperCase())));
|
||||
if (criteria.getCreationUserId() != null)
|
||||
query.where((builder, root) -> builder.equal(root.get("creationUser").get("id"), criteria.getCreationUserId()));
|
||||
return query;
|
||||
|
|
|
@ -26,7 +26,7 @@ public class ServiceDaoImpl extends DatabaseAccess<Service> implements ServiceDa
|
|||
if (criteria.getLike() != null)
|
||||
query.where((builder, root) -> builder.or(
|
||||
builder.like(builder.upper(root.get("reference")), "%" + criteria.getLike().toUpperCase() + "%"),
|
||||
builder.equal(builder.upper(root.get("label")), "%" + criteria.getLike().toUpperCase() + "%")));
|
||||
builder.equal(builder.upper(root.get("label")), criteria.getLike().toUpperCase())));
|
||||
if (criteria.getCreationUserId() != null)
|
||||
query.where((builder, root) -> builder.equal(root.get("creationUser").get("id"), criteria.getCreationUserId()));
|
||||
return query;
|
||||
|
|
|
@ -499,9 +499,9 @@ public class DatasetManager {
|
|||
if (dataset.getServices() != null && !dataset.getServices().isEmpty()) {
|
||||
for (DatasetService service : dataset.getServices()) {
|
||||
ServiceCriteria criteria = new ServiceCriteria();
|
||||
criteria.setLike(service.getService().getLabel());
|
||||
criteria.setLike(service.getService().getReference());
|
||||
List<eu.eudat.data.entities.Service> entries = databaseRepository.getServiceDao().getWithCriteria(criteria).toList();
|
||||
if (entries != null && entries.isEmpty()) {
|
||||
if (entries != null && !entries.isEmpty()) {
|
||||
service.setDataset(dataset);
|
||||
service.getService().setCreated(new Date());
|
||||
service.setService(service.getService());
|
||||
|
|
|
@ -29,6 +29,9 @@ public class RegistryManager {
|
|||
}
|
||||
|
||||
public Registry create(RegistryModel registryModel, Principal principal) throws Exception {
|
||||
if (registryModel.getLabel() == null || registryModel.getAbbreviation() == null || registryModel.getUri() == null) {
|
||||
throw new Exception("Missing mandatory entity.");
|
||||
}
|
||||
Registry registry = registryModel.toDataModel();
|
||||
registry.getCreationUser().setId(principal.getId());
|
||||
return apiContext.getOperationsContext().getDatabaseRepository().getRegistryDao().createOrUpdate(registry);
|
||||
|
|
|
@ -18,9 +18,6 @@ import java.util.List;
|
|||
import java.util.Map;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
* Created by ikalyvas on 9/3/2018.
|
||||
*/
|
||||
@Component
|
||||
public class ServiceManager {
|
||||
|
||||
|
|
|
@ -15,11 +15,13 @@ public class DataRepositoryModel implements DataModel<DataRepository, DataReposi
|
|||
private UUID id;
|
||||
@JsonProperty("name")
|
||||
private String label;
|
||||
private String pid;
|
||||
private String abbreviation;
|
||||
private String uri;
|
||||
private Date created;
|
||||
private Date modified;
|
||||
private String tag;
|
||||
private String tag; // Api fetching the data
|
||||
private String source; // Actual harvested source
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
|
@ -35,6 +37,13 @@ public class DataRepositoryModel implements DataModel<DataRepository, DataReposi
|
|||
this.label = label;
|
||||
}
|
||||
|
||||
public String getPid() {
|
||||
return pid;
|
||||
}
|
||||
public void setPid(String pid) {
|
||||
this.pid = pid;
|
||||
}
|
||||
|
||||
public String getAbbreviation() {
|
||||
return abbreviation;
|
||||
}
|
||||
|
@ -70,13 +79,25 @@ public class DataRepositoryModel implements DataModel<DataRepository, DataReposi
|
|||
this.tag = tag;
|
||||
}
|
||||
|
||||
public String getSource() {
|
||||
return source;
|
||||
}
|
||||
public void setSource(String source) {
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataRepositoryModel fromDataModel(DataRepository entity) {
|
||||
this.setAbbreviation(entity.getAbbreviation());
|
||||
this.setLabel(entity.getLabel());
|
||||
this.setUri(entity.getUri());
|
||||
this.setId(entity.getId());
|
||||
this.tag = "Internal";
|
||||
String source1 = entity.getReference().substring(0, entity.getReference().indexOf(":"));
|
||||
if (source1.equals("dmp")) {
|
||||
this.source = "Internal";
|
||||
} else {
|
||||
this.source = source1;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -88,7 +109,11 @@ public class DataRepositoryModel implements DataModel<DataRepository, DataReposi
|
|||
dataRepository.setCreated(this.created != null ? this.created : new Date());
|
||||
dataRepository.setModified(new Date());
|
||||
dataRepository.setLabel(this.label);
|
||||
dataRepository.setReference("dmpdata/" + dataRepository.getId());
|
||||
if (this.source.equals("Internal") || this.source.equals(this.id.toString().substring(0, this.source.length()))) {
|
||||
dataRepository.setReference(this.id.toString());
|
||||
} else {
|
||||
dataRepository.setReference(this.source + ":" + this.id);
|
||||
}
|
||||
dataRepository.setUri(this.uri);
|
||||
dataRepository.setStatus((short) 0);
|
||||
dataRepository.setCreationUser(new UserInfo());
|
||||
|
|
|
@ -11,11 +11,12 @@ public class DataRepository implements DataModel<eu.eudat.data.entities.DataRepo
|
|||
private String uri;
|
||||
private String info;
|
||||
private String reference;
|
||||
private String tag;
|
||||
private String source;
|
||||
|
||||
public String getPid() {
|
||||
return pid;
|
||||
}
|
||||
|
||||
public void setPid(String pid) {
|
||||
this.pid = pid;
|
||||
}
|
||||
|
@ -23,7 +24,6 @@ public class DataRepository implements DataModel<eu.eudat.data.entities.DataRepo
|
|||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
@ -31,7 +31,6 @@ public class DataRepository implements DataModel<eu.eudat.data.entities.DataRepo
|
|||
public String getUri() {
|
||||
return uri;
|
||||
}
|
||||
|
||||
public void setUri(String uri) {
|
||||
this.uri = uri;
|
||||
}
|
||||
|
@ -39,7 +38,6 @@ public class DataRepository implements DataModel<eu.eudat.data.entities.DataRepo
|
|||
public String getInfo() {
|
||||
return info;
|
||||
}
|
||||
|
||||
public void setInfo(String info) {
|
||||
this.info = info;
|
||||
}
|
||||
|
@ -47,16 +45,35 @@ public class DataRepository implements DataModel<eu.eudat.data.entities.DataRepo
|
|||
public String getReference() {
|
||||
return reference;
|
||||
}
|
||||
|
||||
public void setReference(String reference) {
|
||||
this.reference = reference;
|
||||
}
|
||||
|
||||
public String getTag() {
|
||||
return tag;
|
||||
}
|
||||
public void setTag(String tag) {
|
||||
this.tag = tag;
|
||||
}
|
||||
|
||||
public String getSource() {
|
||||
return source;
|
||||
}
|
||||
public void setSource(String source) {
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
public DataRepository fromDataModel(eu.eudat.data.entities.DataRepository entity) {
|
||||
this.pid = entity.getReference();
|
||||
this.label = entity.getLabel();
|
||||
this.uri = entity.getUri();
|
||||
this.reference = entity.getReference();
|
||||
String source1 = entity.getReference().substring(0, entity.getReference().indexOf(":"));
|
||||
if (source1.equals("dmp")) {
|
||||
this.source = "Internal";
|
||||
} else {
|
||||
this.source = source1;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -68,7 +85,12 @@ public class DataRepository implements DataModel<eu.eudat.data.entities.DataRepo
|
|||
entity.setCreated(new Date());
|
||||
entity.setModified(new Date());
|
||||
entity.setStatus((short) 0);
|
||||
entity.setReference("dmpdata/" + this.label);
|
||||
if (this.source == null) this.source = "dmp";
|
||||
if (this.source.equals(this.reference.substring(0, this.source.length()))) {
|
||||
entity.setReference(this.reference);
|
||||
} else {
|
||||
entity.setReference(this.source + ":" + this.reference);
|
||||
}
|
||||
return entity;
|
||||
}
|
||||
|
||||
|
|
|
@ -13,6 +13,7 @@ public class Registry implements DataModel<eu.eudat.data.entities.Registry, Regi
|
|||
private String reference;
|
||||
private String uri;
|
||||
private String definition;
|
||||
private String source;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
|
@ -60,6 +61,13 @@ public class Registry implements DataModel<eu.eudat.data.entities.Registry, Regi
|
|||
this.definition = definition;
|
||||
}
|
||||
|
||||
public String getSource() {
|
||||
return source;
|
||||
}
|
||||
public void setSource(String source) {
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
public Registry fromDataModel(eu.eudat.data.entities.Registry entity) {
|
||||
this.id = entity.getId();
|
||||
this.label = entity.getLabel();
|
||||
|
@ -67,6 +75,12 @@ public class Registry implements DataModel<eu.eudat.data.entities.Registry, Regi
|
|||
this.reference = entity.getReference();
|
||||
this.uri = entity.getUri();
|
||||
this.definition = entity.getDefinition();
|
||||
String source1 = entity.getReference().substring(0, entity.getReference().indexOf(":"));
|
||||
if (source1.equals("dmp")) {
|
||||
this.source = "Internal";
|
||||
} else {
|
||||
this.source = source1;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -75,7 +89,12 @@ public class Registry implements DataModel<eu.eudat.data.entities.Registry, Regi
|
|||
entity.setId(this.id != null ? this.id : UUID.randomUUID());
|
||||
entity.setLabel(this.label);
|
||||
entity.setAbbreviation(this.abbreviation);
|
||||
entity.setReference("dmpdata/" + this.label);
|
||||
if (this.source == null) this.source = "dmp";
|
||||
if (this.source.equals(this.reference.substring(0, this.source.length()))) {
|
||||
entity.setReference(this.reference);
|
||||
} else {
|
||||
entity.setReference(this.source + ":" + this.reference);
|
||||
}
|
||||
entity.setUri(this.uri);
|
||||
entity.setModified(new Date());
|
||||
entity.setStatus((short)0);
|
||||
|
|
|
@ -14,6 +14,7 @@ public class Service implements DataModel<eu.eudat.data.entities.Service, Servic
|
|||
private String reference;
|
||||
private String uri;
|
||||
private String definition;
|
||||
private String source;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
|
@ -57,6 +58,13 @@ public class Service implements DataModel<eu.eudat.data.entities.Service, Servic
|
|||
this.definition = definition;
|
||||
}
|
||||
|
||||
public String getSource() {
|
||||
return source;
|
||||
}
|
||||
public void setSource(String source) {
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
public Service fromDataModel(eu.eudat.data.entities.Service entity) {
|
||||
this.id = entity.getId();
|
||||
this.label = entity.getLabel();
|
||||
|
@ -64,6 +72,12 @@ public class Service implements DataModel<eu.eudat.data.entities.Service, Servic
|
|||
this.reference = entity.getReference();
|
||||
this.uri = entity.getUri();
|
||||
this.definition = entity.getDefinition();
|
||||
String source1 = entity.getReference().substring(0, entity.getReference().indexOf(":"));
|
||||
if (source1.equals("dmp")) {
|
||||
this.source = "Internal";
|
||||
} else {
|
||||
this.source = source1;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -72,7 +86,13 @@ public class Service implements DataModel<eu.eudat.data.entities.Service, Servic
|
|||
entity.setId(this.id != null ? this.id : UUID.randomUUID());
|
||||
entity.setLabel(this.label);
|
||||
entity.setAbbreviation(this.abbreviation);
|
||||
entity.setReference("dmpdata/" + this.label);
|
||||
if (this.source == null) this.source = "dmp";
|
||||
if (this.reference == null) this.reference = entity.getId().toString();
|
||||
if (this.source.equals(this.reference.substring(0, this.source.length()))) {
|
||||
entity.setReference(this.reference);
|
||||
} else {
|
||||
entity.setReference(this.source + ":" + this.reference);
|
||||
}
|
||||
entity.setUri(this.uri);
|
||||
entity.setModified(new Date());
|
||||
entity.setStatus((short)0);
|
||||
|
|
|
@ -202,14 +202,14 @@ public class DatasetWizardModel implements DataModel<Dataset, DatasetWizardModel
|
|||
profile.setId(this.profile);
|
||||
entity.setProfile(profile);
|
||||
if (this.registries != null && !this.registries.isEmpty()) {
|
||||
entity.setRegistries(new HashSet<eu.eudat.data.entities.Registry>());
|
||||
entity.setRegistries(new HashSet<>());
|
||||
for (Registry registry : this.registries) {
|
||||
entity.getRegistries().add(registry.toDataModel());
|
||||
}
|
||||
}
|
||||
|
||||
if (this.dataRepositories != null && !this.dataRepositories.isEmpty()) {
|
||||
entity.setDatasetDataRepositories(new HashSet<DatasetDataRepository>());
|
||||
entity.setDatasetDataRepositories(new HashSet<>());
|
||||
for (DataRepository dataRepositoryModel : this.dataRepositories) {
|
||||
eu.eudat.data.entities.DataRepository dataRepository = dataRepositoryModel.toDataModel();
|
||||
DatasetDataRepository datasetDataRepository = new DatasetDataRepository();
|
||||
|
@ -224,7 +224,7 @@ public class DatasetWizardModel implements DataModel<Dataset, DatasetWizardModel
|
|||
}
|
||||
|
||||
if (this.services != null && !this.services.isEmpty()) {
|
||||
entity.setServices(new HashSet<DatasetService>());
|
||||
entity.setServices(new HashSet<>());
|
||||
for (Service serviceModel : this.services) {
|
||||
eu.eudat.data.entities.Service service = serviceModel.toDataModel();
|
||||
DatasetService datasetService = new DatasetService();
|
||||
|
@ -234,7 +234,7 @@ public class DatasetWizardModel implements DataModel<Dataset, DatasetWizardModel
|
|||
}
|
||||
|
||||
if (this.externalDatasets != null && !this.externalDatasets.isEmpty()) {
|
||||
entity.setDatasetExternalDatasets(new HashSet<DatasetExternalDataset>());
|
||||
entity.setDatasetExternalDatasets(new HashSet<>());
|
||||
for (ExternalDatasetListingModel externalDataset : this.externalDatasets) {
|
||||
ExternalDataset externalDatasetEntity = externalDataset.toDataModel();
|
||||
DatasetExternalDataset datasetExternalDataset = new DatasetExternalDataset();
|
||||
|
|
|
@ -53,7 +53,7 @@ public class Organisation implements DataModel<eu.eudat.data.entities.Organisati
|
|||
this.name = entity.getLabel();
|
||||
this.label = entity.getUri();
|
||||
if (entity.getReference().contains(":cristin")) {
|
||||
this.tag = "Cristin";
|
||||
this.tag = "cristin";
|
||||
} else {
|
||||
this.tag = entity.getReference().substring(0, entity.getReference().indexOf(":"));
|
||||
}
|
||||
|
|
|
@ -60,7 +60,7 @@ public class Researcher implements DataModel<eu.eudat.data.entities.Researcher,
|
|||
this.status = entity.getStatus();
|
||||
|
||||
if (entity.getReference().contains(":cristin")) {
|
||||
this.tag = "Cristin";
|
||||
this.tag = "cristin";
|
||||
} else {
|
||||
String source = entity.getReference().substring(0, entity.getReference().indexOf(":"));
|
||||
if (source.equals("dmp"))
|
||||
|
|
|
@ -7,20 +7,17 @@ import eu.eudat.models.DataModel;
|
|||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Created by ikalyvas on 9/3/2018.
|
||||
*/
|
||||
public class ExternalDatasetModel implements DataModel<ExternalDataset, ExternalDatasetModel> {
|
||||
public UUID id;
|
||||
public String label;
|
||||
public String abbreviation;
|
||||
public Date created;
|
||||
public Date modified;
|
||||
private String source;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
}
|
||||
|
||||
public void setId(UUID id) {
|
||||
this.id = id;
|
||||
}
|
||||
|
@ -28,7 +25,6 @@ public class ExternalDatasetModel implements DataModel<ExternalDataset, External
|
|||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
||||
public void setLabel(String label) {
|
||||
this.label = label;
|
||||
}
|
||||
|
@ -36,7 +32,6 @@ public class ExternalDatasetModel implements DataModel<ExternalDataset, External
|
|||
public String getAbbreviation() {
|
||||
return abbreviation;
|
||||
}
|
||||
|
||||
public void setAbbreviation(String abbreviation) {
|
||||
this.abbreviation = abbreviation;
|
||||
}
|
||||
|
@ -44,7 +39,6 @@ public class ExternalDatasetModel implements DataModel<ExternalDataset, External
|
|||
public Date getCreated() {
|
||||
return created;
|
||||
}
|
||||
|
||||
public void setCreated(Date created) {
|
||||
this.created = created;
|
||||
}
|
||||
|
@ -52,11 +46,17 @@ public class ExternalDatasetModel implements DataModel<ExternalDataset, External
|
|||
public Date getModified() {
|
||||
return modified;
|
||||
}
|
||||
|
||||
public void setModified(Date modified) {
|
||||
this.modified = modified;
|
||||
}
|
||||
|
||||
public String getSource() {
|
||||
return source;
|
||||
}
|
||||
public void setSource(String source) {
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ExternalDatasetModel fromDataModel(ExternalDataset entity) {
|
||||
this.id = entity.getId();
|
||||
|
@ -64,6 +64,12 @@ public class ExternalDatasetModel implements DataModel<ExternalDataset, External
|
|||
this.abbreviation = entity.getAbbreviation();
|
||||
this.created = entity.getCreated();
|
||||
this.modified = new Date();
|
||||
String source1 = entity.getReference().substring(0, entity.getReference().indexOf(":"));
|
||||
if (source1.equals("dmp")) {
|
||||
this.source = "Internal";
|
||||
} else {
|
||||
this.source = source1;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -75,7 +81,7 @@ public class ExternalDatasetModel implements DataModel<ExternalDataset, External
|
|||
externalDataset.setModified(new Date());
|
||||
externalDataset.setId(this.id != null ? this.id : UUID.randomUUID());
|
||||
externalDataset.setLabel(this.label);
|
||||
externalDataset.setReference("dmpdata/" + externalDataset.getId());
|
||||
externalDataset.setReference("dmp:" + externalDataset.getId());
|
||||
externalDataset.setCreationUser(new UserInfo());
|
||||
return externalDataset;
|
||||
}
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
package eu.eudat.models.data.registries;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
import eu.eudat.data.entities.Registry;
|
||||
import eu.eudat.data.entities.UserInfo;
|
||||
import eu.eudat.models.DataModel;
|
||||
|
@ -8,17 +9,17 @@ import java.util.Date;
|
|||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Created by ikalyvas on 9/3/2018.
|
||||
*/
|
||||
public class RegistryModel implements DataModel<Registry, RegistryModel> {
|
||||
private UUID id;
|
||||
private String name;
|
||||
private String label;
|
||||
private String pid;
|
||||
private String abbreviation;
|
||||
private String uri;
|
||||
private Date created;
|
||||
private Date modified;
|
||||
private String tag;
|
||||
private String tag; // Api fetching the data
|
||||
private String source; // Actual harvested source
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
|
@ -27,6 +28,13 @@ public class RegistryModel implements DataModel<Registry, RegistryModel> {
|
|||
this.id = id;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getLabel() {
|
||||
return label;
|
||||
}
|
||||
|
@ -69,15 +77,35 @@ public class RegistryModel implements DataModel<Registry, RegistryModel> {
|
|||
this.tag = tag;
|
||||
}
|
||||
|
||||
public String getPid() {
|
||||
return pid;
|
||||
}
|
||||
public void setPid(String pid) {
|
||||
this.pid = pid;
|
||||
}
|
||||
|
||||
public String getSource() {
|
||||
return source;
|
||||
}
|
||||
public void setSource(String source) {
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
@Override
|
||||
public RegistryModel fromDataModel(Registry entity) {
|
||||
this.id = entity.getId();
|
||||
this.abbreviation = entity.getAbbreviation();
|
||||
this.created = entity.getCreated();
|
||||
this.label = entity.getLabel();
|
||||
this.name = entity.getLabel();
|
||||
this.modified = entity.getModified();
|
||||
this.uri = entity.getUri();
|
||||
this.tag = "Internal";
|
||||
String source1 = entity.getReference().substring(0, entity.getReference().indexOf(":"));
|
||||
if (source1.equals("dmp")) {
|
||||
this.source = "Internal";
|
||||
} else {
|
||||
this.source = source1;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -87,10 +115,15 @@ public class RegistryModel implements DataModel<Registry, RegistryModel> {
|
|||
registry.setAbbreviation(this.abbreviation);
|
||||
registry.setCreated(this.created != null ? this.created : new Date());
|
||||
registry.setId(this.id != null ? this.id : UUID.randomUUID());
|
||||
registry.setLabel(this.label);
|
||||
registry.setLabel(this.label != null ? this.label : this.name);
|
||||
registry.setUri(this.uri);
|
||||
registry.setModified(new Date());
|
||||
registry.setReference("dmpdata/" + registry.getId());
|
||||
if (this.source == null) this.source = "dmp";
|
||||
if (this.source.equals(registry.getId().toString().substring(0, this.source.length()))) {
|
||||
registry.setReference(registry.getId().toString());
|
||||
} else {
|
||||
registry.setReference(this.source + ":" + registry.getId());
|
||||
}
|
||||
registry.setStatus((short)0);
|
||||
registry.setCreationUser(new UserInfo());
|
||||
return registry;
|
||||
|
|
|
@ -7,17 +7,18 @@ import eu.eudat.models.DataModel;
|
|||
import java.util.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
/**
|
||||
* Created by ikalyvas on 9/3/2018.
|
||||
*/
|
||||
public class ServiceModel implements DataModel<Service, ServiceModel> {
|
||||
private UUID id;
|
||||
private String label;
|
||||
private String name;
|
||||
private String pid;
|
||||
private String abbreviation;
|
||||
private String uri;
|
||||
private Date created;
|
||||
private Date modified;
|
||||
private String reference;
|
||||
private String tag;
|
||||
private String source;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
|
@ -33,6 +34,20 @@ public class ServiceModel implements DataModel<Service, ServiceModel> {
|
|||
this.label = label;
|
||||
}
|
||||
|
||||
public String getName() {
|
||||
return name;
|
||||
}
|
||||
public void setName(String name) {
|
||||
this.name = name;
|
||||
}
|
||||
|
||||
public String getPid() {
|
||||
return pid;
|
||||
}
|
||||
public void setPid(String pid) {
|
||||
this.pid = pid;
|
||||
}
|
||||
|
||||
public String getAbbreviation() {
|
||||
return abbreviation;
|
||||
}
|
||||
|
@ -61,6 +76,13 @@ public class ServiceModel implements DataModel<Service, ServiceModel> {
|
|||
this.modified = modified;
|
||||
}
|
||||
|
||||
public String getReference() {
|
||||
return reference;
|
||||
}
|
||||
public void setReference(String reference) {
|
||||
this.reference = reference;
|
||||
}
|
||||
|
||||
public String getTag() {
|
||||
return tag;
|
||||
}
|
||||
|
@ -68,15 +90,28 @@ public class ServiceModel implements DataModel<Service, ServiceModel> {
|
|||
this.tag = tag;
|
||||
}
|
||||
|
||||
public String getSource() {
|
||||
return source;
|
||||
}
|
||||
public void setSource(String source) {
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
@Override
|
||||
public ServiceModel fromDataModel(Service entity) {
|
||||
this.abbreviation = entity.getAbbreviation();
|
||||
this.created = entity.getCreated();
|
||||
this.id = entity.getId();
|
||||
this.label = entity.getLabel();
|
||||
this.name = entity.getLabel();
|
||||
this.modified = entity.getModified();
|
||||
this.uri = entity.getUri();
|
||||
this.tag = "Internal";
|
||||
String source = entity.getReference().substring(0, entity.getReference().indexOf(":"));
|
||||
if (source.equals("dmp")) {
|
||||
this.source = "Internal";
|
||||
} else {
|
||||
this.source = source;
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -86,10 +121,16 @@ public class ServiceModel implements DataModel<Service, ServiceModel> {
|
|||
service.setId(this.id != null ? this.id : UUID.randomUUID());
|
||||
service.setAbbreviation(this.abbreviation);
|
||||
service.setCreated(this.created != null ? this.created : new Date());
|
||||
service.setLabel(this.label);
|
||||
service.setLabel(this.label != null ? this.label : this.name);
|
||||
service.setModified(new Date());
|
||||
service.setUri(this.uri);
|
||||
service.setReference("innerdata/" + service.getId());
|
||||
if (this.source == null) this.source = "dmp";
|
||||
if (this.reference == null) this.reference = service.getId().toString();
|
||||
if (this.source.equals(this.reference.substring(0, this.source.length()))) {
|
||||
service.setReference(this.reference);
|
||||
} else {
|
||||
service.setReference(this.source + ":" + this.reference);
|
||||
}
|
||||
service.setModified(new Date());
|
||||
service.setStatus((short) 0);
|
||||
service.setCreationUser(new UserInfo());
|
||||
|
|
|
@ -5,4 +5,5 @@ export interface DataRepositoryModel {
|
|||
uri: string;
|
||||
pid: string;
|
||||
info: string;
|
||||
source: string;
|
||||
}
|
||||
|
|
|
@ -7,4 +7,5 @@ export interface ExternalDatasetModel {
|
|||
reference: String;
|
||||
type: ExternalDatasetType;
|
||||
info: String;
|
||||
source: String;
|
||||
}
|
|
@ -3,7 +3,9 @@ export interface RegistryModel {
|
|||
abbreviation: String;
|
||||
definition: String;
|
||||
id: String;
|
||||
pid: String;
|
||||
label: String;
|
||||
reference: String;
|
||||
uri: String;
|
||||
source: String;
|
||||
}
|
||||
|
|
|
@ -219,14 +219,16 @@ export class ExternalRegistryEditorModel {
|
|||
public label: String;
|
||||
public reference: String;
|
||||
public uri: String;
|
||||
public source: String
|
||||
|
||||
constructor(abbreviation?: String, definition?: String, id?: String, label?: String, reference?: String, uri?: String) {
|
||||
constructor(abbreviation?: String, definition?: String, id?: String, label?: String, reference?: String, uri?: String, source?: String) {
|
||||
this.abbreviation = abbreviation;
|
||||
this.definition = definition;
|
||||
this.id = id;
|
||||
this.label = label;
|
||||
this.reference = reference;
|
||||
this.uri = uri;
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
fromModel(item: RegistryModel): ExternalRegistryEditorModel {
|
||||
|
@ -234,8 +236,9 @@ export class ExternalRegistryEditorModel {
|
|||
this.definition = item.definition;
|
||||
this.id = item.id;
|
||||
this.label = item.label;
|
||||
this.reference = item.reference;
|
||||
this.reference = item.pid ? item.pid : item.reference;
|
||||
this.uri = item.uri;
|
||||
this.source = item.source
|
||||
|
||||
return this;
|
||||
}
|
||||
|
@ -247,7 +250,8 @@ export class ExternalRegistryEditorModel {
|
|||
label: [this.label],
|
||||
reference: [this.reference],
|
||||
uri: [this.uri],
|
||||
definition: [this.definition]
|
||||
definition: [this.definition],
|
||||
source: [this.source]
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -261,14 +265,16 @@ export class ExternalDatasetEditorModel {
|
|||
public type: ExternalDatasetType;
|
||||
public info: String;
|
||||
public validationErrorModel: ValidationErrorModel = new ValidationErrorModel();
|
||||
public source: String;
|
||||
|
||||
constructor(id?: string, abbreviation?: string, label?: string, reference?: string, info?: string, type?: ExternalDatasetType) {
|
||||
constructor(id?: string, abbreviation?: string, label?: string, reference?: string, info?: string, type?: ExternalDatasetType, source?: String) {
|
||||
this.id = id;
|
||||
this.label = label;
|
||||
this.abbreviation = abbreviation;
|
||||
this.reference = reference;
|
||||
this.info = info;
|
||||
this.type = type;
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
fromModel(item: ExternalDatasetModel): ExternalDatasetEditorModel {
|
||||
|
@ -278,6 +284,7 @@ export class ExternalDatasetEditorModel {
|
|||
this.reference = item.reference;
|
||||
this.type = item.type;
|
||||
this.info = item.info;
|
||||
this.source = item.source;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -288,7 +295,8 @@ export class ExternalDatasetEditorModel {
|
|||
label: [this.label],
|
||||
reference: [this.reference],
|
||||
type: [this.type, Validators.required],
|
||||
info: [this.info]
|
||||
info: [this.info],
|
||||
source: [this.source]
|
||||
});
|
||||
}
|
||||
}
|
||||
|
@ -302,13 +310,15 @@ export class ExternalDataRepositoryEditorModel {
|
|||
public info: string;
|
||||
public created: Date;
|
||||
public modified: Date;
|
||||
public source: string;
|
||||
|
||||
constructor(id?: string, label?: string, abbreviation?: string, uri?: string, reference?: string) {
|
||||
constructor(id?: string, label?: string, abbreviation?: string, uri?: string, reference?: string, source?: string) {
|
||||
this.id = id;
|
||||
this.label = label;
|
||||
this.abbreviation = abbreviation;
|
||||
this.uri = uri;
|
||||
this.reference = reference;
|
||||
this.source = source;
|
||||
}
|
||||
|
||||
fromModel(item: DataRepositoryModel): ExternalDataRepositoryEditorModel {
|
||||
|
@ -318,6 +328,7 @@ export class ExternalDataRepositoryEditorModel {
|
|||
this.uri = item.uri;
|
||||
this.info = item.info;
|
||||
this.reference = item.pid;
|
||||
this.source = item.source;
|
||||
return this;
|
||||
}
|
||||
|
||||
|
@ -328,7 +339,8 @@ export class ExternalDataRepositoryEditorModel {
|
|||
abbreviation: [this.abbreviation],
|
||||
uri: [this.uri],
|
||||
info: [this.info],
|
||||
reference: [this.reference]
|
||||
reference: [this.reference],
|
||||
source: [this.source]
|
||||
});
|
||||
}
|
||||
}
|
||||
|
|
|
@ -70,7 +70,7 @@ export class DatasetExternalReferencesEditorComponent extends BaseComponent impl
|
|||
initialItems: (type) => this.searchDatasetExternalDataRepositories('', type),
|
||||
displayFn: (item) => item ? item.name : null,
|
||||
titleFn: (item) => item ? item.name : null,
|
||||
subtitleFn: (item) => item.tag ? this.language.instant('TYPES.EXTERNAL-DATASET-TYPE.SOURCE:') + item.tag : this.language.instant('TYPES.EXTERNAL-DATASET-TYPE.NO-SOURCE')
|
||||
subtitleFn: (item) => item.source ? this.language.instant('TYPES.EXTERNAL-DATASET-TYPE.SOURCE:') + item.source : this.language.instant('TYPES.EXTERNAL-DATASET-TYPE.NO-SOURCE')
|
||||
};
|
||||
|
||||
this.externalDatasetAutoCompleteConfiguration = {
|
||||
|
@ -86,9 +86,9 @@ export class DatasetExternalReferencesEditorComponent extends BaseComponent impl
|
|||
filterFn: this.searchDatasetExternalRegistries.bind(this),
|
||||
removeAfterSelection: true,
|
||||
initialItems: (type) => this.searchDatasetExternalRegistries('', type),
|
||||
displayFn: (item) => item ? item.label : null,
|
||||
titleFn: (item) => item ? item.label: null,
|
||||
subtitleFn: (item) => item.tag ? this.language.instant('TYPES.EXTERNAL-DATASET-TYPE.SOURCE:') + item.tag : this.language.instant('TYPES.EXTERNAL-DATASET-TYPE.NO-SOURCE')
|
||||
displayFn: (item) => item ? item.name : null,
|
||||
titleFn: (item) => item ? item.name : null,
|
||||
subtitleFn: (item) => item.source ? this.language.instant('TYPES.EXTERNAL-DATASET-TYPE.SOURCE:') + item.source : this.language.instant('TYPES.EXTERNAL-DATASET-TYPE.NO-SOURCE')
|
||||
};
|
||||
|
||||
this.servicesAutoCompleteConfiguration = {
|
||||
|
@ -115,12 +115,12 @@ export class DatasetExternalReferencesEditorComponent extends BaseComponent impl
|
|||
}
|
||||
|
||||
externalDatasetsOnItemChange(event) {
|
||||
const externalDatasetModel = new ExternalDatasetEditorModel(event.id, event.abbreviation, event.label, event.reference);
|
||||
const externalDatasetModel = new ExternalDatasetEditorModel(event.id, event.abbreviation, event.label, event.reference, event.source);
|
||||
(<FormArray>this.formGroup.get('externalDatasets')).push(externalDatasetModel.buildForm());
|
||||
}
|
||||
|
||||
registriesOnItemChange(event) {
|
||||
const registryModel = new ExternalRegistryEditorModel(event.abbreviation, event.definition, event.id, event.label, event.reference, event.uri);
|
||||
const registryModel = new ExternalRegistryEditorModel(event.abbreviation, event.definition, event.id, event.name, event.pid ? event.pid : event.reference, event.uri, event.source);
|
||||
(<FormArray>this.formGroup.get('registries')).push(registryModel.buildForm());
|
||||
}
|
||||
|
||||
|
@ -136,7 +136,7 @@ export class DatasetExternalReferencesEditorComponent extends BaseComponent impl
|
|||
|
||||
|
||||
dataRepositoriesOnItemChange(event) {
|
||||
const dataRepositoryModel = new ExternalDataRepositoryEditorModel(event.id, event.name, event.abbreviation, event.uri, event.pid);
|
||||
const dataRepositoryModel = new ExternalDataRepositoryEditorModel(event.id, event.name, event.abbreviation, event.uri, event.pid, event.source);
|
||||
(<FormArray>this.formGroup.get('dataRepositories')).push(dataRepositoryModel.buildForm());
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue