{
super.configureChart(chart);
final Plot plot = chart.getPlot();
final PiePlot pp = (PiePlot) plot;
final PieDataset pieDS = pp.getDataset();
pp.setDirection(rotationClockwise ? Rotation.CLOCKWISE : Rotation.ANTICLOCKWISE);
if ((explodeSegment != null) && (explodePct != null))
{
configureExplode(pp);
}
if (StringUtils.isEmpty(getTooltipFormula()) == false)
{
pp.setToolTipGenerator(new FormulaPieTooltipGenerator(getRuntime(), getTooltipFormula()));
}
if (StringUtils.isEmpty(getUrlFormula()) == false)
{
pp.setURLGenerator(new FormulaPieURLGenerator(getRuntime(), getUrlFormula()));
}
pp.setIgnoreNullValues(ignoreNulls);
pp.setIgnoreZeroValues(ignoreZeros);
if (Boolean.FALSE.equals(getItemsLabelVisible()))
{
pp.setLabelGenerator(null);
}
else
{
final StandardPieSectionLabelGenerator labelGen = new StandardPieSectionLabelGenerator(pieLabelFormat);
pp.setLabelGenerator(labelGen);
final StandardPieSectionLabelGenerator legendGen = new StandardPieSectionLabelGenerator(pieLegendLabelFormat);
pp.setLegendLabelGenerator(legendGen);
}
if (StringUtils.isEmpty(getLabelFont()) == false)
{
pp.setLabelFont(Font.decode(getLabelFont()));
}
if (pieDS != null)
{
final String[] colors = getSeriesColor();
for (int i = 0; i < colors.length; i++)
{
if (i < pieDS.getItemCount())
{
pp.setSectionPaint(pieDS.getKey(i), parseColorFromString(colors[i]));
}
else
{
break;
}