ref #7674 Add aggregated description directly to matrix after creation
authorPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 3 Sep 2018 11:33:31 +0000 (13:33 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Mon, 3 Sep 2018 11:33:31 +0000 (13:33 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrixBottomToolbar.java

index fe0599703a5efbf2a08979579fc5b4d836e5add5..4a24e2f7f2d1ae30733aa8f341dffd271b4afdaf 100644 (file)
@@ -36,6 +36,7 @@ import eu.etaxonomy.cdm.model.description.CategoricalData;
 import eu.etaxonomy.cdm.model.description.Feature;
 import eu.etaxonomy.cdm.model.description.QuantitativeData;
 import eu.etaxonomy.cdm.model.description.SpecimenDescription;
+import eu.etaxonomy.cdm.model.description.TaxonDescription;
 import eu.etaxonomy.cdm.model.taxon.Taxon;
 import eu.etaxonomy.cdm.model.taxon.TaxonNode;
 import eu.etaxonomy.cdm.persistence.dto.SpecimenNodeWrapper;
@@ -163,8 +164,10 @@ public class CharacterMatrixBottomToolbar extends Composite{
                 List<UUID> descriptionUuids = new ArrayList<>();
                 matrix.getDescriptiveDataSet().getDescriptions().forEach(desc->descriptionUuids.add(desc.getUuid()));
                 UpdateResult result = CdmStore.getService(IDescriptionService.class).aggregateDescription(taxonUuid, descriptionUuids, matrix.getDescriptiveDataSet().getLabel(), matrix.getDescriptiveDataSet().getUuid());
+                TaxonDescription taxonDescription = (TaxonDescription) result.getCdmEntity();
+                TaxonRowWrapperDTO taxonRowWrapper = CdmStore.getService(IDescriptiveDataSetService.class).createTaxonRowWrapper(taxonDescription, matrix.getDescriptiveDataSet());
+                matrix.getDescriptions().add(taxonRowWrapper);
                 matrix.addUpdateResult(result);
-                matrix.setDirty();
 
                 aggregateCategorcialHistogram(matrix.getFeatureToHistogramMap());
                 aggregateQuantitativeSummary(matrix.getFeatureToQuantDataStatisticsMap());