Fixed and Improved Dataset indexing
This commit is contained in:
parent
1a06bb98c6
commit
33539788f9
|
@ -36,7 +36,9 @@ public class Collaborator implements ElasticEntity<Collaborator> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Collaborator fromElasticEntity(Map<String, Object> fields) {
|
||||
return null;
|
||||
public Collaborator fromElasticEntity(Map fields) {
|
||||
this.id = (String) fields.get("id");
|
||||
this.name = (String) fields.get("name");
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -5,10 +5,7 @@ import org.slf4j.Logger;
|
|||
import org.slf4j.LoggerFactory;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.UUID;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
@ -202,16 +199,22 @@ public class Dataset implements ElasticEntity<Dataset> {
|
|||
public Dataset fromElasticEntity(Map<String, Object> fields) {
|
||||
if (fields != null) {
|
||||
this.id = (String) fields.get("id");
|
||||
this.tags = ((List<Tag>) fields.get("tags"));
|
||||
if (fields.get("tags") != null) {
|
||||
this.tags = ((List<HashMap>) fields.get("tags")).stream().map(hashMap -> new Tag().fromElasticEntity(hashMap)).collect(Collectors.toList());
|
||||
}
|
||||
this.label = (String) fields.get("label");
|
||||
this.template = UUID.fromString((String) fields.get("template"));
|
||||
this.status = Short.valueOf((String) fields.get("status"));
|
||||
this.dmp = UUID.fromString((String) fields.get("dmp"));
|
||||
this.group = UUID.fromString((String) fields.get("goup"));
|
||||
this.group = UUID.fromString((String) fields.get("group"));
|
||||
this.grant = UUID.fromString((String) fields.get("grant"));
|
||||
this.collaborators = ((List<Collaborator>) fields.get("collaborators"));
|
||||
if (fields.get("collaborators") != null) {
|
||||
this.collaborators = ((List<HashMap>) fields.get("collaborators")).stream().map(hashMap -> new Collaborator().fromElasticEntity(hashMap)).collect(Collectors.toList());
|
||||
}
|
||||
this.lastVersion = Boolean.parseBoolean((String) fields.get("lastVersion"));
|
||||
this.organizations = (List<Organization>) fields.get("organiztions");
|
||||
if (fields.get("organizations") != null) {
|
||||
this.organizations = ((List<HashMap>) fields.get("organizations")).stream().map(hashMap -> new Organization().fromElasticEntity(hashMap)).collect(Collectors.toList());
|
||||
}
|
||||
}
|
||||
return this;
|
||||
}
|
||||
|
|
|
@ -35,7 +35,9 @@ public class Organization implements ElasticEntity<Organization> {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Organization fromElasticEntity(Map<String, Object> fields) {
|
||||
return null;
|
||||
public Organization fromElasticEntity(Map fields) {
|
||||
this.id = (String) fields.get("id");
|
||||
this.name = (String) fields.get("name");
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -39,7 +39,9 @@ public class Tag implements ElasticEntity {
|
|||
}
|
||||
|
||||
@Override
|
||||
public Object fromElasticEntity(Map fields) {
|
||||
return null;
|
||||
public Tag fromElasticEntity(Map fields) {
|
||||
this.id = (String) fields.get("id");
|
||||
this.name = (String) fields.get("name");
|
||||
return this;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -33,6 +33,7 @@ import eu.eudat.models.data.datasetImport.DatasetImportPagedDatasetProfile;
|
|||
import eu.eudat.models.data.datasetprofile.DatasetProfileListingModel;
|
||||
import eu.eudat.models.data.datasetwizard.DatasetWizardModel;
|
||||
import eu.eudat.models.data.dmp.AssociatedProfile;
|
||||
import eu.eudat.models.data.dmp.DataManagementPlan;
|
||||
import eu.eudat.models.data.helpers.common.DataTableData;
|
||||
import eu.eudat.models.data.listingmodels.DatasetListingModel;
|
||||
import eu.eudat.models.data.security.Principal;
|
||||
|
@ -489,6 +490,7 @@ public class DatasetManager {
|
|||
|
||||
Dataset dataset1 = apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().createOrUpdate(dataset);
|
||||
datasetWizardModel.setId(dataset1.getId());
|
||||
datasetWizardModel.setDmp(new DataManagementPlan().fromDataModel(dataset1.getDmp()));
|
||||
updateTags(apiContext.getOperationsContext().getDatasetRepository(), datasetWizardModel);
|
||||
if (sendNotification) {
|
||||
if (dataset1.getStatus() != Dataset.Status.FINALISED.getValue()) {
|
||||
|
|
|
@ -15,6 +15,7 @@ import eu.eudat.models.data.dmp.DataManagementPlan;
|
|||
import eu.eudat.models.data.security.Principal;
|
||||
import eu.eudat.queryable.QueryableList;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.util.LinkedList;
|
||||
import java.util.List;
|
||||
import java.util.UUID;
|
||||
|
@ -47,9 +48,12 @@ public class DatasetWizardManager {
|
|||
return;
|
||||
}
|
||||
|
||||
public void delete(ApiContext apiContext, UUID uuid) {
|
||||
public void delete(ApiContext apiContext, UUID uuid) throws IOException {
|
||||
Dataset oldDataset = apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().find(uuid);
|
||||
oldDataset.setStatus(DMP.DMPStatus.DELETED.getValue());
|
||||
eu.eudat.elastic.entities.Dataset oldDatasetElasitc = apiContext.getOperationsContext().getDatasetRepository().findDocument(uuid.toString());
|
||||
oldDataset.setStatus(Dataset.Status.DELETED.getValue());
|
||||
oldDatasetElasitc.setStatus(oldDataset.getStatus());
|
||||
apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao().createOrUpdate(oldDataset);
|
||||
apiContext.getOperationsContext().getDatasetRepository().createOrUpdate(oldDatasetElasitc);
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue