Skip to content
This repository was archived by the owner on May 5, 2021. It is now read-only.

Commit d58f923

Browse files
committed
SORMAS-Foundation#3163: check if a caption is defined and apply it to the series name
1 parent 3114e19 commit d58f923

1 file changed

Lines changed: 13 additions & 2 deletions

File tree

sormas-ui/src/main/java/de/symeda/sormas/ui/dashboard/campaigns/CampaignDashboardDiagramComponent.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,14 @@
3232
import de.symeda.sormas.api.i18n.I18nProperties;
3333
import de.symeda.sormas.api.i18n.Strings;
3434
import de.symeda.sormas.ui.highcharts.HighChart;
35+
import org.slf4j.Logger;
36+
import org.slf4j.LoggerFactory;
3537

3638
@SuppressWarnings("serial")
3739
public class CampaignDashboardDiagramComponent extends VerticalLayout {
3840

41+
private static final Logger LOG = LoggerFactory.getLogger(CampaignDashboardDiagramComponent.class);
42+
3943
private final CampaignDiagramDefinitionDto diagramDefinition;
4044

4145
private final Map<String, Map<Object, CampaignDiagramDataDto>> diagramDataBySeriesAndXAxis = new HashMap<>();
@@ -231,8 +235,7 @@ private void appendSeries(CampaignJurisdictionLevel campaignJurisdictionLevelGro
231235

232236
Map<Object, CampaignDiagramDataDto> seriesData = diagramDataBySeriesAndXAxis.get(seriesKey);
233237
Collection<CampaignDiagramDataDto> values = seriesData.values();
234-
Iterator<CampaignDiagramDataDto> iterator = values.iterator();
235-
String fieldName = (iterator.hasNext() ? iterator.next().getFieldCaption() : seriesKey);
238+
String fieldName = assembleFieldname(values, series, seriesKey);
236239
if (showPercentages) {
237240
if (campaignJurisdictionLevelGroupBy == CampaignJurisdictionLevel.COMMUNITY) {
238241
fieldName = I18nProperties.getString(Strings.populationDataByCommunity);
@@ -250,6 +253,14 @@ private void appendSeries(CampaignJurisdictionLevel campaignJurisdictionLevelGro
250253
hcjs.append("]");
251254
}
252255

256+
private String assembleFieldname(final Collection<CampaignDiagramDataDto> values, final CampaignDiagramSeries series, final String defaultValue) {
257+
if (series.getCaption() != null && !series.getCaption().isEmpty()) {
258+
return series.getCaption();
259+
}
260+
Iterator<CampaignDiagramDataDto> iterator = values.iterator();
261+
return iterator.hasNext() ? iterator.next().getFieldCaption() : defaultValue;
262+
}
263+
253264
private void appendData(
254265
boolean isCommunityGrouping,
255266
StringBuilder hcjs,

0 commit comments

Comments
 (0)