ref #9772: avoid NPE in aggregation handler
authorKatja Luther <k.luther@bgbm.org>
Fri, 24 Sep 2021 09:12:19 +0000 (11:12 +0200)
committerKatja Luther <k.luther@bgbm.org>
Fri, 24 Sep 2021 09:12:19 +0000 (11:12 +0200)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/descriptiveDataSet/matrix/handler/AggregationHandler.java

index b5613a4ab4940c085c6d72e7b6bba1f548c85392..6474d4070e0c8c9ede2db07d89e36193d8dd8ba6 100755 (executable)
@@ -73,10 +73,13 @@ public class AggregationHandler {
                 nodeDtos.add((TaxonNodeDto)o);
             }
         }
-        TaxonNodeFilter filter = TaxonNodeFilter.NewRankInstance(matrix.getDescriptiveDataSet().getMinRank().getUuid(),
-                matrix.getDescriptiveDataSet().getMaxRank().getUuid());
-        for (TermDto namedArea : matrix.getDescriptiveDataSet().getGeoFilter()) {
-            filter = filter.orArea(namedArea.getUuid());
+        UUID minRankUuid = matrix.getDescriptiveDataSet().getMinRank() != null? matrix.getDescriptiveDataSet().getMinRank().getUuid(): null;
+        UUID maxRankUuid = matrix.getDescriptiveDataSet().getMaxRank() != null? matrix.getDescriptiveDataSet().getMaxRank().getUuid(): null;
+        TaxonNodeFilter filter = TaxonNodeFilter.NewRankInstance(minRankUuid, maxRankUuid);
+        if (matrix.getDescriptiveDataSet().getGeoFilter() != null){
+            for (TermDto namedArea : matrix.getDescriptiveDataSet().getGeoFilter()) {
+                filter = filter.orArea(namedArea.getUuid());
+            }
         }