From 68f7ac78468d31dfb8be89668ffecd6d38e1ddda Mon Sep 17 00:00:00 2001 From: Gcolon021 <34667267+Gcolon021@users.noreply.github.com> Date: Thu, 29 Feb 2024 15:31:01 -0500 Subject: [PATCH] Refine the condition for empty return in DataProcessingService (#184) Adjusted the condition under which an empty HashMap is returned in the DataProcessingService. Now, an empty HashMap will only be returned when both the maximum and minimum values in the data are 0, and the number of bins is also 0. This change takes into account situations where the data contains values but the min and max are both 0. --- .../resource/visualization/service/DataProcessingService.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/pic-sure-resources/pic-sure-visualization-resource/src/main/java/edu/harvard/hms/dbmi/avillach/resource/visualization/service/DataProcessingService.java b/pic-sure-resources/pic-sure-visualization-resource/src/main/java/edu/harvard/hms/dbmi/avillach/resource/visualization/service/DataProcessingService.java index 1988aab4..845909e4 100644 --- a/pic-sure-resources/pic-sure-visualization-resource/src/main/java/edu/harvard/hms/dbmi/avillach/resource/visualization/service/DataProcessingService.java +++ b/pic-sure-resources/pic-sure-visualization-resource/src/main/java/edu/harvard/hms/dbmi/avillach/resource/visualization/service/DataProcessingService.java @@ -158,8 +158,8 @@ private static Map bucketData(Map originalMap) int numBins = calcNumBins(data); double min = data.keySet().stream().min(Double::compareTo).orElse(0.0); double max = data.keySet().stream().max(Double::compareTo).orElse(0.0); - - if ((min == 0.0 && max == 0.0) || numBins == 0) return new HashMap<>(); + // The min and max can both be 0, but we could still have a numBins of 1 if there are values in the data. + if (min == 0.0 && max == 0.0 && numBins == 0) return new HashMap<>(); int binSize = (int) Math.ceil((max - min) / numBins);