|
|
@ -14,6 +14,7 @@ import eu.eudat.data.query.items.table.dataset.DatasetTableRequest;
|
|
|
|
import eu.eudat.data.query.items.table.datasetprofile.DatasetProfileTableRequestItem;
|
|
|
|
import eu.eudat.data.query.items.table.datasetprofile.DatasetProfileTableRequestItem;
|
|
|
|
import eu.eudat.elastic.criteria.DatasetCriteria;
|
|
|
|
import eu.eudat.elastic.criteria.DatasetCriteria;
|
|
|
|
import eu.eudat.elastic.entities.Collaborator;
|
|
|
|
import eu.eudat.elastic.entities.Collaborator;
|
|
|
|
|
|
|
|
import eu.eudat.elastic.entities.Organization;
|
|
|
|
import eu.eudat.elastic.repository.DatasetRepository;
|
|
|
|
import eu.eudat.elastic.repository.DatasetRepository;
|
|
|
|
import eu.eudat.exceptions.security.UnauthorisedException;
|
|
|
|
import eu.eudat.exceptions.security.UnauthorisedException;
|
|
|
|
import eu.eudat.logic.builders.BuilderFactory;
|
|
|
|
import eu.eudat.logic.builders.BuilderFactory;
|
|
|
@ -37,6 +38,7 @@ import eu.eudat.models.data.listingmodels.DatasetListingModel;
|
|
|
|
import eu.eudat.models.data.security.Principal;
|
|
|
|
import eu.eudat.models.data.security.Principal;
|
|
|
|
import eu.eudat.models.data.user.composite.PagedDatasetProfile;
|
|
|
|
import eu.eudat.models.data.user.composite.PagedDatasetProfile;
|
|
|
|
import eu.eudat.queryable.QueryableList;
|
|
|
|
import eu.eudat.queryable.QueryableList;
|
|
|
|
|
|
|
|
import eu.eudat.types.Authorities;
|
|
|
|
import org.apache.commons.io.IOUtils;
|
|
|
|
import org.apache.commons.io.IOUtils;
|
|
|
|
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
|
|
|
import org.apache.poi.xwpf.usermodel.XWPFDocument;
|
|
|
|
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
|
|
|
import org.apache.poi.xwpf.usermodel.XWPFParagraph;
|
|
|
@ -111,9 +113,13 @@ public class DatasetManager {
|
|
|
|
if (datasetTableRequest.getCriteria().getStatus() != null) {
|
|
|
|
if (datasetTableRequest.getCriteria().getStatus() != null) {
|
|
|
|
datasetCriteria.setStatus(datasetTableRequest.getCriteria().getStatus().shortValue());
|
|
|
|
datasetCriteria.setStatus(datasetTableRequest.getCriteria().getStatus().shortValue());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
datasetCriteria.setDmps(datasetTableRequest.getCriteria().getGroupIds());
|
|
|
|
datasetCriteria.setDmps(datasetTableRequest.getCriteria().getDmpIds());
|
|
|
|
|
|
|
|
datasetCriteria.setGroupIds(datasetTableRequest.getCriteria().getGroupIds());
|
|
|
|
datasetCriteria.setGrants(datasetTableRequest.getCriteria().getGrants());
|
|
|
|
datasetCriteria.setGrants(datasetTableRequest.getCriteria().getGrants());
|
|
|
|
datasetCriteria.setCollaborators(datasetTableRequest.getCriteria().getCollaborators());
|
|
|
|
datasetCriteria.setCollaborators(datasetTableRequest.getCriteria().getCollaborators());
|
|
|
|
|
|
|
|
datasetCriteria.setAllowAllVersions(datasetTableRequest.getCriteria().getAllVersions());
|
|
|
|
|
|
|
|
datasetCriteria.setOrganiztions(datasetTableRequest.getCriteria().getOrganisations());
|
|
|
|
|
|
|
|
datasetCriteria.setTags(datasetTableRequest.getCriteria().getTags());
|
|
|
|
List<eu.eudat.elastic.entities.Dataset> datasets;
|
|
|
|
List<eu.eudat.elastic.entities.Dataset> datasets;
|
|
|
|
try {
|
|
|
|
try {
|
|
|
|
datasets = datasetRepository.exists() ?
|
|
|
|
datasets = datasetRepository.exists() ?
|
|
|
@ -263,10 +269,13 @@ public class DatasetManager {
|
|
|
|
boolean latestVersion = profile.getVersion().toString().equals(datasetEntity.getProfile().getVersion().toString());
|
|
|
|
boolean latestVersion = profile.getVersion().toString().equals(datasetEntity.getProfile().getVersion().toString());
|
|
|
|
dataset.setIsProfileLatestVersion(latestVersion);
|
|
|
|
dataset.setIsProfileLatestVersion(latestVersion);
|
|
|
|
|
|
|
|
|
|
|
|
//dataset.setTags(datasetElastic.getTags());
|
|
|
|
if (datasetElastic != null && datasetElastic.getTags() != null && !datasetElastic.getTags().isEmpty()) {
|
|
|
|
if (datasetElastic != null && datasetElastic.getLabel() != null && !datasetElastic.getLabel().isEmpty()) {
|
|
|
|
dataset.setTags(datasetElastic.getTags());
|
|
|
|
dataset.setLabel(datasetElastic.getLabel());
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*if (datasetElastic != null && datasetElastic.getLabel() != null && !datasetElastic.getLabel().isEmpty()) {
|
|
|
|
|
|
|
|
dataset.setLabel(datasetElastic.getLabel());
|
|
|
|
|
|
|
|
}*/
|
|
|
|
return dataset;
|
|
|
|
return dataset;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -548,23 +557,38 @@ public class DatasetManager {
|
|
|
|
dataset.setProperties(jobject.toString());
|
|
|
|
dataset.setProperties(jobject.toString());
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
private void updateTags(DatasetRepository datasetRepository, DatasetWizardModel datasetWizardModel) throws IOException {
|
|
|
|
public void updateTags(DatasetRepository datasetRepository, DatasetWizardModel datasetWizardModel) throws IOException {
|
|
|
|
// if (datasetWizardModel.getTags() != null && !datasetWizardModel.getTags().isEmpty()) {
|
|
|
|
// if (datasetWizardModel.getTags() != null && !datasetWizardModel.getTags().isEmpty()) {
|
|
|
|
eu.eudat.elastic.entities.Dataset dataset = new eu.eudat.elastic.entities.Dataset();
|
|
|
|
eu.eudat.elastic.entities.Dataset dataset = new eu.eudat.elastic.entities.Dataset();
|
|
|
|
dataset.setId(datasetWizardModel.getId().toString());
|
|
|
|
dataset.setId(datasetWizardModel.getId().toString());
|
|
|
|
// dataset.setTags(datasetWizardModel.getTags());
|
|
|
|
dataset.setTags(datasetWizardModel.getTags());
|
|
|
|
dataset.setLabel(datasetWizardModel.getLabel());
|
|
|
|
dataset.setLabel(datasetWizardModel.getLabel());
|
|
|
|
dataset.setTemplate(datasetWizardModel.getProfile());
|
|
|
|
dataset.setTemplate(datasetWizardModel.getProfile());
|
|
|
|
dataset.setStatus(datasetWizardModel.getStatus());
|
|
|
|
dataset.setStatus(datasetWizardModel.getStatus());
|
|
|
|
dataset.setDmp(datasetWizardModel.getDmp().getGroupId());
|
|
|
|
dataset.setDmp(datasetWizardModel.getDmp().getId());
|
|
|
|
|
|
|
|
dataset.setGroup(datasetWizardModel.getDmp().getGroupId());
|
|
|
|
dataset.setGrant(datasetWizardModel.getDmp().getGrant().getId());
|
|
|
|
dataset.setGrant(datasetWizardModel.getDmp().getGrant().getId());
|
|
|
|
dataset.setCollaborators(datasetWizardModel.getDmp().getUsers().stream().map(user -> {
|
|
|
|
dataset.setCollaborators(datasetWizardModel.getDmp().getUsers().stream().map(user -> {
|
|
|
|
Collaborator collaborator = new Collaborator();
|
|
|
|
Collaborator collaborator = new Collaborator();
|
|
|
|
collaborator.setId(user.getId());
|
|
|
|
collaborator.setId(user.getId().toString());
|
|
|
|
collaborator.setName(user.getName());
|
|
|
|
collaborator.setName(user.getName());
|
|
|
|
return collaborator;
|
|
|
|
return collaborator;
|
|
|
|
}).collect(Collectors.toList()));
|
|
|
|
}).collect(Collectors.toList()));
|
|
|
|
datasetRepository.createOrUpdate(dataset);
|
|
|
|
DataManagementPlanCriteria dmpCriteria = new DataManagementPlanCriteria();
|
|
|
|
|
|
|
|
dmpCriteria.setAllVersions(true);
|
|
|
|
|
|
|
|
dmpCriteria.setGroupIds(Collections.singletonList(datasetWizardModel.getDmp().getGroupId()));
|
|
|
|
|
|
|
|
apiContext.getOperationsContext().getDatabaseRepository().getDmpDao().getWithCriteria(dmpCriteria).toList().stream()
|
|
|
|
|
|
|
|
.max(Comparator.comparing(DMP::getVersion)).ifPresent(dmp -> dataset.setLastVersion(dmp.getId().equals(datasetWizardModel.getDmp().getId())));
|
|
|
|
|
|
|
|
if (dataset.getLastVersion() == null) {
|
|
|
|
|
|
|
|
dataset.setLastVersion(true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
dataset.setOrganizations(datasetWizardModel.getDmp().getOrganisations().stream().map(org -> {
|
|
|
|
|
|
|
|
Organization organization = new Organization();
|
|
|
|
|
|
|
|
organization.setId(org.getId());
|
|
|
|
|
|
|
|
organization.setName(org.getName());
|
|
|
|
|
|
|
|
return organization;
|
|
|
|
|
|
|
|
}).collect(Collectors.toList()));
|
|
|
|
|
|
|
|
datasetRepository.createOrUpdate(dataset);
|
|
|
|
// }
|
|
|
|
// }
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
@ -773,10 +797,12 @@ public class DatasetManager {
|
|
|
|
// Now at latest version.
|
|
|
|
// Now at latest version.
|
|
|
|
dataset.setIsProfileLatestVersion(true);
|
|
|
|
dataset.setIsProfileLatestVersion(true);
|
|
|
|
|
|
|
|
|
|
|
|
//dataset.setTags(datasetElastic.getTags());
|
|
|
|
if (datasetElastic != null && datasetElastic.getTags() != null && !datasetElastic.getTags().isEmpty()) {
|
|
|
|
if (datasetElastic != null && datasetElastic.getLabel() != null && !datasetElastic.getLabel().isEmpty()) {
|
|
|
|
dataset.setTags(datasetElastic.getTags());
|
|
|
|
dataset.setLabel(datasetElastic.getLabel());
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
/*if (datasetElastic != null && datasetElastic.getLabel() != null && !datasetElastic.getLabel().isEmpty()) {
|
|
|
|
|
|
|
|
dataset.setLabel(datasetElastic.getLabel());
|
|
|
|
|
|
|
|
}*/
|
|
|
|
return dataset;
|
|
|
|
return dataset;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|