label.setText(Messages.CharacterMatrixPart_LOADING_MATRIX);
stackLayout.topControl = label;
ContextInjectionFactory.inject(matrix, context);
-
}
public void init(UUID descriptiveDataSetUuid, boolean treeView) {
public void save(IProgressMonitor monitor) {
- HashMap<UUID, DescriptionBase> descriptionResults = matrix.addSpecimensToDescriptiveDataSet();
+ HashMap<UUID, DescriptionBase<?>> descriptionResults = matrix.addSpecimensToDescriptiveDataSet();
//newly added descriptions should not be saved again.
// descriptions.removeAll(matrix.getRowsToSave().values());
// save edited descriptions
List<MergeResult<DescriptionBase>> resultsFromSave = CdmStore.getService(IDescriptionService.class).merge(new ArrayList<>(matrix.getDescriptionsToSave()), true);
for (MergeResult<DescriptionBase> result: resultsFromSave){
Set<DescriptionBase> newEntities = result.getNewEntities();
- for(DescriptionBase newEntity: newEntities){
+ for(DescriptionBase<?> newEntity: newEntities){
descriptionResults.put(newEntity.getUuid(), newEntity);
}
- if (result.getMergedEntity() instanceof DescriptionBase){
- descriptionResults.put(result.getMergedEntity().getUuid(), result.getMergedEntity());
- }
-
+ descriptionResults.put(result.getMergedEntity().getUuid(), result.getMergedEntity());
}
matrix.getDescriptionsToSave().clear();
UpdateResult results = CdmStore.getService(IDescriptionService.class).mergeDescriptions(descriptionsToMerge, matrix.getDescriptiveDataSet().getUuid());
for (CdmBase result: results.getUpdatedObjects()){
if (result instanceof DescriptionBase){
- descriptionResults.put(result.getUuid(), (DescriptionBase)result);
+ descriptionResults.put(result.getUuid(), (DescriptionBase<?>)result);
}
}
- List<Object> updateRows = matrix.getDescriptions().stream().filter(row->descriptionResults.keySet().contains(((RowWrapperDTO)row).getDescription().getDescriptionUuid())).collect(Collectors.toList());
+ List<Object> updateRows = matrix.getDescriptions().stream().filter(row->descriptionResults.keySet().contains(((RowWrapperDTO<?>)row).getDescription().getDescriptionUuid())).collect(Collectors.toList());
for (Object updateRow: updateRows){
if (updateRow instanceof SpecimenRowWrapperDTO){
SpecimenRowWrapperDTO dto = (SpecimenRowWrapperDTO)updateRow;
setDirty();
matrix.getNatTable().refresh();
if (element instanceof DescriptionBase){
- if (!matrix.getRowsToMerge().containsKey(((DescriptionBase)element).getUuid())){
- matrix.addDescriptionToSave((DescriptionBase)element);
+ if (!matrix.getRowsToMerge().containsKey(((DescriptionBase<?>)element).getUuid())){
+ matrix.addDescriptionToSave((DescriptionBase<?>)element);
}
}
}