diff --git a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/presentation/NumberPairResultsPresenter.java b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/presentation/NumberPairResultsPresenter.java index 541d7411dd1..a26d1ac2673 100644 --- a/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/presentation/NumberPairResultsPresenter.java +++ b/java/com.sap.sailing.gwt.ui/src/main/java/com/sap/sailing/gwt/ui/datamining/presentation/NumberPairResultsPresenter.java @@ -14,11 +14,14 @@ import org.moxieapps.gwt.highcharts.client.Credits; import org.moxieapps.gwt.highcharts.client.Exporting; import org.moxieapps.gwt.highcharts.client.Point; import org.moxieapps.gwt.highcharts.client.Series; +import org.moxieapps.gwt.highcharts.client.ToolTip; +import org.moxieapps.gwt.highcharts.client.ToolTipData; +import org.moxieapps.gwt.highcharts.client.ToolTipFormatter; +import org.moxieapps.gwt.highcharts.client.Series.Type; import org.moxieapps.gwt.highcharts.client.plotOptions.Marker; import org.moxieapps.gwt.highcharts.client.plotOptions.Marker.Symbol; import org.moxieapps.gwt.highcharts.client.plotOptions.SeriesPlotOptions; -import com.google.gwt.maps.client.overlays.Circle; import com.google.gwt.user.client.ui.SimpleLayoutPanel; import com.google.gwt.user.client.ui.Widget; import com.sap.sailing.gwt.ui.client.StringMessages; @@ -37,8 +40,6 @@ public class NumberPairResultsPresenter extends AbstractResultsPresenter seriesMappedByGroupKey; - private final GroupKey simpleResultSeriesKey; - public NumberPairResultsPresenter(Component parent, ComponentContext context, StringMessages stringMessages) { super(parent, context, stringMessages); @@ -50,7 +51,6 @@ public class NumberPairResultsPresenter extends AbstractResultsPresenter(stringMessages.results()); chart = createChart(); chartPanel.setWidget(chart); } @@ -69,6 +69,15 @@ public class NumberPairResultsPresenter extends AbstractResultsPresenter"+toolTipData.getPointName()+"
X: "+toolTipData.getPoint().getX()+"
Y: "+toolTipData.getYAsString(); + } + })); + return chart; } @@ -76,48 +85,41 @@ public class NumberPairResultsPresenter extends AbstractResultsPresenter subKeys = GroupKey.Util.getSubKeys(groupKey); - return subKeys.size() == 1 ? subKeys.get(0) : new CompoundGroupKey(subKeys); - } else { - return groupKey; - } - } - - private void createAndAddSeriesToChart() { - for (GroupKey groupKey : getCurrentResult().getResults().keySet()) { - GroupKey seriesKey = groupKeyToSeriesKey(groupKey); - if (!seriesMappedByGroupKey.containsKey(seriesKey)) { - seriesMappedByGroupKey.put(seriesKey, chart.createSeries().setPlotOptions(new SeriesPlotOptions().setShowInLegend(false).setMarker(new Marker().setSymbol(Symbol.CIRCLE))).setName(seriesKey.asString())); - } - } - List sortedSeriesKeys = new ArrayList<>(seriesMappedByGroupKey.keySet()); - Collections.sort(sortedSeriesKeys); - for (GroupKey seriesKey : sortedSeriesKeys) { - chart.addSeries(seriesMappedByGroupKey.get(seriesKey), false, false); - } - } - @Override - protected void internalShowResults(QueryResultDTO r) { - result = r; + protected void internalShowResults(QueryResultDTO res) { + result = res; createAndAddSeriesToChart(); + for (Entry resultEntry : result.getResults().entrySet()) { @SuppressWarnings("unchecked") AveragePairWithStats value = (AveragePairWithStats) resultEntry.getValue(); Point point = new Point(value.getAverage().getA(), value.getAverage().getB()); point.setName(resultEntry.getKey().asString()); seriesMappedByGroupKey.get(groupKeyToSeriesKey(resultEntry.getKey())) - .addPoint(point, false, false, false); - + .addPoint(point, false, false, false); } chart.getXAxis().setAxisTitleText(result.getResultSignifier()); - -// chart.addSeries(chart.createSeries().setName("Test").setType(Type.SCATTER).setPoints(series.toArray(new Point[series.size()]))); - chart.redraw(); + } + + private void createAndAddSeriesToChart() { + for (GroupKey groupKey : result.getResults().keySet()) { + GroupKey seriesKey = groupKeyToSeriesKey(groupKey); + if (!seriesMappedByGroupKey.containsKey(seriesKey)) { + seriesMappedByGroupKey.put(seriesKey, chart.createSeries().setPlotOptions(new SeriesPlotOptions().setMarker(new Marker().setSymbol(Symbol.CIRCLE))).setName(seriesKey.asString())); + chart.addSeries(seriesMappedByGroupKey.get(seriesKey), false, false); + } + } + + } + + private GroupKey groupKeyToSeriesKey(GroupKey groupKey) { + if (groupKey.hasSubKeys()) { + List subKeys = GroupKey.Util.getSubKeys(groupKey); + return subKeys.size() == 1 ? subKeys.get(0) : new CompoundGroupKey(subKeys); + } else { + return new GenericGroupKey<>(stringMessages.results()); + } } @@ -153,7 +155,6 @@ public class NumberPairResultsPresenter extends AbstractResultsPresenter