From 63d894b0efff644ec954be8d41962063362725f8 Mon Sep 17 00:00:00 2001 From: tpylak <tpylak> Date: Mon, 15 Nov 2010 12:38:41 +0000 Subject: [PATCH] LMS-1838 heatmap interfaces SVN: 18687 --- .../detailviewers/HeatmapUtil.java | 41 +++++++++++++++++-- 1 file changed, 37 insertions(+), 4 deletions(-) diff --git a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/HeatmapUtil.java b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/HeatmapUtil.java index 6af934ce28f..0e32a388f6c 100644 --- a/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/HeatmapUtil.java +++ b/screening/source/java/ch/systemsx/cisd/openbis/plugin/screening/client/web/client/application/detailviewers/HeatmapUtil.java @@ -16,6 +16,8 @@ package ch.systemsx.cisd.openbis.plugin.screening.client.web.client.application.detailviewers; +import java.util.ArrayList; +import java.util.Arrays; import java.util.List; import java.util.Set; @@ -30,7 +32,17 @@ public class HeatmapUtil static class Color { - String hexColor; + private final String hexColor; + + public Color(String hexColor) + { + this.hexColor = hexColor; + } + + public String getHexColor() + { + return hexColor; + } } static class HeatmapScaleRange @@ -40,9 +52,6 @@ public class HeatmapUtil Color color; } - // 0x67001F; 0xB2182B; 0xD6604D; 0xF4A582; 0xFDDBC7; 0xF7F7F7; 0xD1E5F0; 0x92C5DE; 0x4393C3; - // 0x2166AC; 0x053061; - // --- static interface IHeatmapRenderer<T> @@ -74,12 +83,36 @@ public class HeatmapUtil } + @SuppressWarnings("unused") static class StringHeatmapRenderer implements IHeatmapRenderer<String> { + private static final List<String> DEFAULT_COLORS = Arrays.asList("#67001F", "#B2182B", + "#D6604D", "#F4A582", "#FDDBC7", "#F7F7F7", "#D1E5F0", "#92C5DE", "#4393C3", + "#2166AC", "#053061"); + + private final Set<String> values; + + private final List<Color> scaleColors; public StringHeatmapRenderer(Set<String> values) { + this(values, asColors(DEFAULT_COLORS)); + } + private static List<Color> asColors(List<String> defaultColors) + { + List<Color> colors = new ArrayList<Color>(); + for (String color : DEFAULT_COLORS) + { + colors.add(new Color(color)); + } + return colors; + } + + public StringHeatmapRenderer(Set<String> values, List<Color> scaleColors) + { + this.values = values; + this.scaleColors = scaleColors; } public Color getColor(String value) -- GitLab