Project

General

Profile

« Previous | Next » 

Revision eeff4578

Added by Katja Luther almost 4 years ago

ref #8785: fix saving of newly created descriptions for descriptive dataset

View differences:

eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrixPart.java
196 196
    @Persist
197 197
    @Override
198 198
    public void save(IProgressMonitor monitor) {
199
        // save edited descriptions
200
        List<DescriptionBaseDto> descriptions = matrix.getRowsToMerge().values().stream()
201
        .map(row->row.getDescription())
202
        .collect(Collectors.toList());
199

  
200

  
203 201
        matrix.addSpecimensToDescriptiveDataSet();
204 202
        //newly added descriptions should not be saved again.
205 203
//        descriptions.removeAll(matrix.getRowsToSave().values());
206
        matrix.getRowsToMerge().clear();
204
        // save edited descriptions
205
        List<DescriptionBaseDto> descriptionsToMerge = matrix.getRowsToMerge().values().stream()
206
                .map(row->row.getDescription())
207
                .collect(Collectors.toList());
208

  
207 209
        if (matrix.getDescriptionsToDelete() != null && !matrix.getDescriptionsToDelete().isEmpty()){
208 210
            DeleteResult result = new DeleteResult();
209 211
            for (RemoveDescriptionsFromDescriptiveDataSetConfigurator config: matrix.getDescriptionsToDelete().keySet()){
......
212 214
            matrix.getDescriptionsToDelete().clear();
213 215

  
214 216
        }
215
        List<MergeResult<DescriptionBase>> results = CdmStore.getService(IDescriptionService.class).mergeDescriptions(descriptions, matrix.getDescriptiveDataSet().getUuid(), true);
217

  
218
        List<MergeResult<DescriptionBase>> results = CdmStore.getService(IDescriptionService.class).mergeDescriptions(descriptionsToMerge, matrix.getDescriptiveDataSet().getUuid(), true);
219
        matrix.getRowsToMerge().clear();
216 220
        conversation.commit();
217 221
        HashMap<UUID, DescriptionBase> descriptionResults = new HashMap<>();
218 222
        for (MergeResult result: results){

Also available in: Unified diff