protected JFreeChart createXyLineChart() throws JRException
{
JRLinePlot linePlot = (JRLinePlot) getPlot();
ChartFactory.setChartTheme(StandardChartTheme.createLegacyTheme());
JFreeChart jfreeChart =
ChartFactory.createXYLineChart(
(String)evaluateExpression(getChart().getTitleExpression()),
(String)evaluateExpression(linePlot.getCategoryAxisLabelExpression()),
(String)evaluateExpression(linePlot.getValueAxisLabelExpression() ),
(XYDataset)getDataset(),
linePlot.getOrientation(),
isShowLegend(),
true,
false);
configureChart(jfreeChart);
// Handle the axis formating for the category axis
configureAxis(jfreeChart.getXYPlot().getDomainAxis(), linePlot.getCategoryAxisLabelFont(),
linePlot.getCategoryAxisLabelColor(), linePlot.getCategoryAxisTickLabelFont(),
linePlot.getCategoryAxisTickLabelColor(), linePlot.getCategoryAxisTickLabelMask(), linePlot.getCategoryAxisVerticalTickLabels(),
linePlot.getCategoryAxisLineColor(), false,
(Comparable)evaluateExpression(linePlot.getDomainAxisMinValueExpression()),
(Comparable)evaluateExpression(linePlot.getDomainAxisMaxValueExpression()));
// Handle the axis formating for the value axis
configureAxis(jfreeChart.getXYPlot().getRangeAxis(), linePlot.getValueAxisLabelFont(),
linePlot.getValueAxisLabelColor(), linePlot.getValueAxisTickLabelFont(),
linePlot.getValueAxisTickLabelColor(), linePlot.getValueAxisTickLabelMask(), linePlot.getValueAxisVerticalTickLabels(),
linePlot.getValueAxisLineColor(), true,
(Comparable)evaluateExpression(linePlot.getRangeAxisMinValueExpression()),
(Comparable)evaluateExpression(linePlot.getRangeAxisMaxValueExpression()));
XYLineAndShapeRenderer lineRenderer = (XYLineAndShapeRenderer) jfreeChart.getXYPlot().getRenderer();
boolean isShowShapes = linePlot.getShowShapes() == null ? true : linePlot.getShowShapes().booleanValue();
boolean isShowLines = linePlot.getShowLines() == null ? true : linePlot.getShowLines().booleanValue();
lineRenderer.setBaseShapesVisible(isShowShapes);
lineRenderer.setBaseLinesVisible(isShowLines);