Category: | Bug report |
Priority: | High |
Status: | Feedback Requested |
Project: | Severity: | Critical |
Resolution: | Open |
|
Component: | Reproducibility: | Always |
Assigned to: |
Hello Team,
We are Blocked on third party upgrade for JFreeChart jar due to Jasper Library Dependency.
Here is Detail :
We are using Jasper Reporting Library Version : jasperreports-6.16.0.jar
It is working with a quite older version of Jfree jar : jfreechart-1.0.19.jar
We want to upgrade jfree jar to jfreechart-1.5.3.jar
But New Version is not compatible with Jasper Library.
We checked it with jasper 6.10.0 and Seems issue still persist with Jasper 6.16.0
Can we have a fix here or any work around to upgrade Jfreechart jar ?
Below is error log after JFree Upgrade :
2021-03-12 07:31:46,629 WARN [Thread-75] wt.method.server wcadmin - Uncaught exception on thread: "Thread-75" [id=408]
java.lang.NoSuchMethodError: org.jfree.chart.title.LegendTitle.setPosition(Lorg/jfree/ui/RectangleEdge;)V
at net.sf.jasperreports.engine.fill.DefaultChartTheme.configureChart(DefaultChartTheme.java:458)
at net.sf.jasperreports.engine.fill.DefaultChartTheme.createBarChart(DefaultChartTheme.java:804)
at net.sf.jasperreports.engine.fill.DefaultChartTheme.createChart(DefaultChartTheme.java:327)
at net.sf.jasperreports.engine.fill.JRFillChart.evaluateChart(JRFillChart.java:854)
at net.sf.jasperreports.engine.fill.JRFillChart.evaluateRenderer(JRFillChart.java:807)
at net.sf.jasperreports.engine.fill.JRFillChart.resolveElement(JRFillChart.java:1415)
at net.sf.jasperreports.engine.fill.JRFillElement.performDelayedEvaluation(JRFillElement.java:1140)
at net.sf.jasperreports.engine.fill.JRFillElement.resolveElement(JRFillElement.java:1242)
at net.sf.jasperreports.engine.fill.ElementEvaluationAction.execute(ElementEvaluationAction.java:69)
at net.sf.jasperreports.engine.fill.DelayedFillActions.runActions(DelayedFillActions.java:271)
at net.sf.jasperreports.engine.fill.BaseReportFiller.resolveBoundElements(BaseReportFiller.java:807)
at net.sf.jasperreports.engine.fill.JRBaseFiller.resolveReportBoundElements(JRBaseFiller.java:1208)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:1225)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:299)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:117)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:621)
at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:433)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:162)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:651)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:1020)
Thanks
Bhansali
7 Comments:
Same situation here. We are using javafx and this old version of freecharts is causing a lot of problems.
Is there a position from the jasper developer team?
Last time we checked, it appeared that newer JFreeChart has remove some of the chart types we were supporting.
So if we upgrade to newer JFreeChart, we would be losing some functionality. Not sure if that's OK with everybody.
Thank you,
Teodor
They removed their 3D charts and are recommending using their Orson Charts for this functionality from what I can tell. It will not be acceptable to stay on this older release both from a security standpoint as well and we have other teams that need to move to the 1.5.x stream for feature support.
As a note, Orson Charts is licensed under GPL, which is not compatible with the LGPL license that JasperReports uses. Therefore replacing the JFreeChart 3D charts with Orson Charts is not an option.
It is important to get to the latest version for both functionality and security support. If the legacy version is needed, perhaps offer an optional configuration to continue to use the legacy branch.