I'm using JasperReports API through PHP/Java Bridge. This means that the PHP side is on another machine than the Java side and the two side doesn't share the same filesystem. To load a report, I must read the .jasper file in PHP and convert it to a Java InputStream and load it with net.sf.jasperreports.engine.util.JRLoader::loadObject static method.
So everything works fine until my report have subreports referencing a file that the Java side doesn't have access. So my solution was to visit all subreports (using net.sf.jasperreports.engine.util.JRElementsVisitor class), evaluate subreport expression, load the report using the same method as the main report, but it in parameters of the main report.
And then, here is my problem, I don't know how to change the JRBaseSubreport expression to point to the newly added parameter.
So my question is, how to change JRBaseSubreport expression ?