I have started to dig a little deeper into the subject getting a "Table of Contents" into Jasper reports and have managed to get through some initial hurdles.
Firstly - it only works using parts, which means that all the exiting templates need modification. Basically you need to replace the subreports in the main reports by parts referencing the subreport. That said, I noticed that each part automatically shows up on a new page. And if the printWhenExpression resolves to FALSE the subreport is not even evaluated. Thus … the parameter_report (quite a clever trick) not showing any data needs to be integrated on some other subreport where something is to be shown. The other thing with parts is, that you not only need to specify the datasource through the REPORT_DATA_SOURCE parameter, it also requires this datasource not to be at the end. As the main report is been forwared until the end during the initial filling any subreport requiring the same ArchiMate model datasource will not print as there is no data anymore. I solved this by adding a clone() method to the ArchiMateModelDataSource.java file.
With respect to using parts … see
http://jasperreports.sourceforge.net/sample.reference/book/index.html for some more background information.
Though my work is not yet completed at all, I wanted to share some of my initial findings. And yes … very likely I will be able to get the Table of Contents realized!