ref #7549 Refactoring
authorPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 13 Jul 2018 08:20:39 +0000 (10:20 +0200)
committerPatrick Plitzner <p.plitzner@bgbm.org>
Fri, 13 Jul 2018 08:20:39 +0000 (10:20 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/CharacterMatrixBottomToolbar.java

index 3069e41c653d0b3630924b8aca76468036a7d512..a930030710ea5173ecc68057d03fb6456a0f5525 100644 (file)
@@ -130,7 +130,6 @@ public class CharacterMatrixBottomToolbar extends Composite{
         Button btnAggregate = new Button(this, SWT.PUSH);
         btnAggregate.setText("Aggregate");
         btnAggregate.addSelectionListener(new SelectionAdapter() {
-            @SuppressWarnings("unchecked")
             @Override
             public void widgetSelected(SelectionEvent e) {
                 Set<TaxonNode> taxonSubtreeFilter = matrix.getDescriptiveDataSet().getTaxonSubtreeFilter();
@@ -161,23 +160,29 @@ public class CharacterMatrixBottomToolbar extends Composite{
                 //aggregate histogram for categorical tooltip
                 Map<Feature, CategoricalDataHistogram> featureToHistogramMap = matrix.getFeatureToHistogramMap();
                 featureToHistogramMap.clear();
-                // matrix.getFeatures().forEach(feature->{
-                matrix.getDescriptions()
-                        .forEach(o -> ((RowWrapperDTO) o).getSpecimenDescription().getElements().stream()
-                                .filter(descriptionElement -> descriptionElement instanceof CategoricalData)
-                                .forEach(categoricalData -> {
-                                    Feature feature = ((CategoricalData) categoricalData).getFeature();
-                                    CategoricalDataHistogram dataHistogram = featureToHistogramMap.get(feature);
-                                    if(dataHistogram==null){
-                                        dataHistogram = new CategoricalDataHistogram(feature);
-                                    }
-                                    featureToHistogramMap.put(feature, dataHistogram);
-                                    ((CategoricalData) categoricalData).getStateData()
-                                            .forEach(stateData -> featureToHistogramMap.get(feature).addState(stateData.getState()));
-                                }));
+                aggregateCategorcialHistogram(featureToHistogramMap);
             }
+
         });
     }
+
+    @SuppressWarnings("unchecked")
+    private void aggregateCategorcialHistogram(Map<Feature, CategoricalDataHistogram> featureToHistogramMap) {
+        matrix.getDescriptions()
+                .forEach(o -> ((RowWrapperDTO) o).getSpecimenDescription().getElements().stream()
+                        .filter(descriptionElement -> descriptionElement instanceof CategoricalData)
+                        .forEach(categoricalData -> {
+                            Feature feature = ((CategoricalData) categoricalData).getFeature();
+                            CategoricalDataHistogram dataHistogram = featureToHistogramMap.get(feature);
+                            if(dataHistogram==null){
+                                dataHistogram = new CategoricalDataHistogram(feature);
+                            }
+                            featureToHistogramMap.put(feature, dataHistogram);
+                            ((CategoricalData) categoricalData).getStateData()
+                                    .forEach(stateData -> featureToHistogramMap.get(feature).addState(stateData.getState()));
+                        }));
+    }
+
     private SpecimenDescription getDescriptionForDescriptiveDataSet(SpecimenOrObservationBase specimen){
         Set<Feature> wsFeatures = matrix.getDescriptiveDataSet().getDescriptiveSystem().getDistinctFeatures();
         List<DescriptionElementBase> matchingDescriptionElements = new ArrayList<>();