configureChart(jfreeChart, getPlot());
PiePlot piePlot = (PiePlot)jfreeChart.getPlot();
//plot.setStartAngle(290);
//plot.setDirection(Rotation.CLOCKWISE);
//plot.setNoDataMessage("No data to display");
JRPiePlot jrPiePlot = (JRPiePlot)getPlot();
boolean isCircular = jrPiePlot.getCircular() == null ? true : jrPiePlot.getCircular().booleanValue();
piePlot.setCircular(isCircular);
boolean isShowLabels = jrPiePlot.getShowLabels() == null ? true : jrPiePlot.getShowLabels().booleanValue();
if(isShowLabels)
{
PieSectionLabelGenerator labelGenerator = (PieSectionLabelGenerator)getLabelGenerator();
JRItemLabel itemLabel = jrPiePlot.getItemLabel();
if (labelGenerator != null)
{
piePlot.setLabelGenerator(labelGenerator);
}
else if (jrPiePlot.getLabelFormat() != null)
{
piePlot.setLabelGenerator(
new StandardPieSectionLabelGenerator(jrPiePlot.getLabelFormat())
);
}
// else if (itemLabel != null && itemLabel.getMask() != null)
// {
// piePlot.setLabelGenerator(
// new StandardPieSectionLabelGenerator(itemLabel.getMask())
// );
//
// }
Integer baseFontSize = (Integer)getDefaultValue(defaultChartPropertiesMap, ChartThemesConstants.BASEFONT_SIZE);
JRFont font = itemLabel != null && itemLabel.getFont() != null ? itemLabel.getFont() : null;
piePlot.setLabelFont(getFont(new JRBaseFont(getChart(), null), font, baseFontSize));
if(itemLabel != null && itemLabel.getColor() != null)
{
piePlot.setLabelPaint(itemLabel.getColor());
}
else
{
piePlot.setLabelPaint(getChart().getForecolor());
}
if(itemLabel != null && itemLabel.getBackgroundColor() != null)
{
piePlot.setLabelBackgroundPaint(itemLabel.getBackgroundColor());
}
else
{
piePlot.setLabelBackgroundPaint(getChart().getBackcolor());
}
}
else
{
piePlot.setLabelGenerator(null);
}
if (jrPiePlot.getLegendLabelFormat() != null)
{
piePlot.setLegendLabelGenerator(
new StandardPieSectionLabelGenerator(jrPiePlot.getLegendLabelFormat())
);
}
return jfreeChart;
}