Add data to PrimeFaces LineChartModel

Viewed 80

I was running this code for lineChart in PF5 but refuses to run in PF8

public class CostChartSummary {

public LineChartModel lineChart;
public ChartDataSet dataList;

public CostChartSummary(){}


@PostConstruct
public void init(){
    
    lineChart = new LineChartModel();
    
    LineChartSeries estimates = new LineChartSeries();
    
    estimates.setFill(true);
    estimates.setLabel("Estimated Cost");
    estimates.set("1",15000);
    estimates.set("2",18000);
    estimates.set("3",32000);
    estimates.set("4",45000);
    estimates.set("5",53000);
    estimates.set("6",56000);
    
    LineChartSeries actual = new LineChartSeries();
    
    actual.setFill(true);
    actual.setLabel("Actual Cost");
    actual.set("1",9000);
    actual.set("2",8000);
    actual.set("3",22000);
    actual.set("4",35000);
    actual.set("5",47000);
    actual.set("6",51000);
    
    lineChart.addSeries(estimates);
    lineChart.addSeries(actual);
    lineChart.setShowPointLabels(true);
    lineChart.setTitle("Project Cost Summary");
    lineChart.setStacked(true);
    
    
    //dataList = new ChartDataSet() {};
    
    class CData extends ChartDataSet{
        String name;
        CData(String name){
            this.name = name;
        }
    
    }
    String john = "john";
    CData cdata = new CData(john);
    lineChart.getData().addChartDataSet(cdata);
    
    
    
 //        Axis xAxis = new CategoryAxis("Months");
 //        lineChart.getAxes().put(AxisType.X, xAxis);
 //        
 //        Axis yAxis = new CategoryAxis("Shillings");
 //        lineChart.getAxes().put(AxisType.Y, yAxis);
 //        lineChart.setLegendPosition("e");
 //        yAxis.setMin(0);
 //        yAxis.setMax(60000);

}

public LineChartModel getLineChart() {
    return lineChart;
}

public void setLineChart(LineChartModel lineChart) {
    this.lineChart = lineChart;
}
}

Seems theres a problem with add series method as shown with the red underline below. enter image description here

I tried to add data through the ChartDataSet as seen by the small inner class CData by extending the ChartDataSet, but it throws a null pointer. The only significant change is the PF5 to PF8 is the lineChartModel imports name...but PF5 and PF8 showcase methods are exactly same.

How do you add data to line Chart in PF8?

1 Answers

Use:

import org.primefaces.model.chart.LineChartModel;

instead of:

import org.primefaces.model.charts.line.LineChartModel;
Related