Refactos DMP update when set to "Finalized", now sets it's Datasets status of not "Finalized" to "Canceled".
This commit is contained in:
parent
590d85b355
commit
55407fd053
|
@ -109,8 +109,7 @@ public class DataManagementPlanManager {
|
|||
return new DataManagementPlanListingModel().fromDataModelDatasets(item);
|
||||
})
|
||||
.whenComplete((resultList, throwable) -> dataTable.setData(resultList));
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
itemsFuture = pagedItems
|
||||
.selectAsync(item -> new DataManagementPlanListingModel().fromDataModel(item))
|
||||
.whenComplete((resultList, throwable) -> dataTable.setData(resultList));
|
||||
|
@ -140,8 +139,7 @@ public class DataManagementPlanManager {
|
|||
return new DataManagementPlanListingModel().fromDataModelDatasets(item);
|
||||
})
|
||||
.whenComplete((resultList, throwable) -> dataTable.setData(resultList));
|
||||
}
|
||||
else{
|
||||
} else {
|
||||
itemsFuture = pagedItems
|
||||
.selectAsync(item -> new DataManagementPlanListingModel().fromDataModel(item))
|
||||
.whenComplete((resultList, throwable) -> dataTable.setData(resultList));
|
||||
|
@ -301,23 +299,6 @@ public class DataManagementPlanManager {
|
|||
DataManagementPlanOverviewModel datamanagementPlan = new DataManagementPlanOverviewModel();
|
||||
datamanagementPlan.fromDataModelDatasets(dataManagementPlanEntity);
|
||||
|
||||
/*Map dmpProperties = dataManagementPlanEntity.getDmpProperties() != null ? new org.json.JSONObject(dataManagementPlanEntity.getDmpProperties()).toMap() : null;
|
||||
datamanagementPlan.setDynamicFields(dynamicProjectConfiguration.getFields().stream().map(item -> {
|
||||
DynamicFieldWithValue fieldWithValue = new DynamicFieldWithValue();
|
||||
fieldWithValue.setId(item.getId());
|
||||
fieldWithValue.setDependencies(item.getDependencies());
|
||||
fieldWithValue.setName(item.getName());
|
||||
fieldWithValue.setQueryProperty(item.getQueryProperty());
|
||||
fieldWithValue.setRequired(item.getRequired());
|
||||
return fieldWithValue;
|
||||
}).collect(Collectors.toList()));*/
|
||||
|
||||
/*if (dmpProperties != null && datamanagementPlan.getDynamicFields() != null)
|
||||
datamanagementPlan.getDynamicFields().forEach(item -> {
|
||||
Map<String, String> properties = (Map<String, String>) dmpProperties.get(item.getId());
|
||||
if (properties != null)
|
||||
item.setValue(new Tuple<>(properties.get("id"), properties.get("label")));
|
||||
});*/
|
||||
return datamanagementPlan;
|
||||
}
|
||||
|
||||
|
@ -346,8 +327,7 @@ public class DataManagementPlanManager {
|
|||
item.setValue(new Tuple<>(properties.get("id"), properties.get("label")));
|
||||
});
|
||||
return datamanagementPlan;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
throw new Exception("Selected DMP is not public");
|
||||
}
|
||||
}
|
||||
|
@ -359,8 +339,7 @@ public class DataManagementPlanManager {
|
|||
datamanagementPlan.fromDataModelDatasets(dataManagementPlanEntity);
|
||||
datamanagementPlan.setDatasets(datamanagementPlan.getDatasets().stream().filter(dataset -> dataset.getStatus() == Dataset.Status.FINALISED.getValue()).collect(Collectors.toList()));
|
||||
return datamanagementPlan;
|
||||
}
|
||||
else {
|
||||
} else {
|
||||
throw new Exception("Selected DMP is not public");
|
||||
}
|
||||
}
|
||||
|
@ -450,9 +429,18 @@ public class DataManagementPlanManager {
|
|||
|
||||
if (dataManagementPlan.getStatus() == DMP.DMPStatus.FINALISED.getValue()) {
|
||||
apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao()
|
||||
.asQueryable().where((builder, root) -> root.get("id").in(dataManagementPlan.getDatasets()
|
||||
.stream().map(x -> UUID.fromString(x.getId())).collect(Collectors.toList())))
|
||||
.asQueryable().where((builder, root) -> root.get("id").in(dataManagementPlan.getDatasetsToBeFinalized()))
|
||||
.update(root -> root.<Integer>get("status"), Dataset.Status.FINALISED.getValue());
|
||||
|
||||
List<UUID> datasetsToBeCanceled = new LinkedList<>();
|
||||
for (Dataset dataset : dmp.getDataset()) {
|
||||
if (!dataset.getStatus().equals(Dataset.Status.FINALISED.getValue()) && !dataManagementPlan.getDatasetsToBeFinalized().contains(dataset.getId())) {
|
||||
datasetsToBeCanceled.add(dataset.getId());
|
||||
}
|
||||
}
|
||||
apiContext.getOperationsContext().getDatabaseRepository().getDatasetDao()
|
||||
.asQueryable().where((builder, root) -> root.get("id").in(datasetsToBeCanceled))
|
||||
.update(root -> root.<Integer>get("status"), Dataset.Status.CANCELED.getValue());
|
||||
}
|
||||
|
||||
if (dataManagementPlan.getAssociatedUsers().size() == 0)
|
||||
|
@ -754,8 +742,7 @@ public class DataManagementPlanManager {
|
|||
File file = new File(fileName);
|
||||
try {
|
||||
mapper.writeValue(file, rdaExportModel);
|
||||
}
|
||||
catch (IOException e) {
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
|
||||
|
@ -816,8 +803,7 @@ public class DataManagementPlanManager {
|
|||
Unmarshaller jaxbUnmarshaller = jaxbContext.createUnmarshaller();
|
||||
DmpImportModel dmpImportModel = (DmpImportModel) jaxbUnmarshaller.unmarshal(in);
|
||||
dataManagementPlans.add(dmpImportModel);
|
||||
}
|
||||
catch (IOException | JAXBException ex){
|
||||
} catch (IOException | JAXBException ex) {
|
||||
ex.printStackTrace();
|
||||
}
|
||||
// TODO Iterate through the list of dataManagmentPlans.
|
||||
|
|
|
@ -37,6 +37,7 @@ public class DataManagementPlanEditorModel implements DataModel<DMP, DataManagem
|
|||
private List<DynamicFieldWithValue> dynamicFields;
|
||||
private Map<String, Object> properties;
|
||||
private List<UserInfoListingModel> users;
|
||||
private List<UUID> datasetsToBeFinalized;
|
||||
|
||||
public UUID getId() {
|
||||
return id;
|
||||
|
@ -185,6 +186,13 @@ public class DataManagementPlanEditorModel implements DataModel<DMP, DataManagem
|
|||
this.users = users;
|
||||
}
|
||||
|
||||
public List<UUID> getDatasetsToBeFinalized() {
|
||||
return datasetsToBeFinalized;
|
||||
}
|
||||
public void setDatasetsToBeFinalized(List<UUID> datasetsToBeFinalized) {
|
||||
this.datasetsToBeFinalized = datasetsToBeFinalized;
|
||||
}
|
||||
|
||||
@Override
|
||||
public DataManagementPlanEditorModel fromDataModel(DMP entity) {
|
||||
this.id = entity.getId();
|
||||
|
|
Loading…
Reference in New Issue