Over a million developers have joined DZone.

NextReports 5.2 was released

DZone's Guide to

NextReports 5.2 was released

· ·
Free Resource

NextReports 5.2 reporting suite was launched today.

To be more flexible in NextReports evolution, an entirely new convert process was integrated. Using a chain of xml converters, a Next report can be modified to a new structure. Practically if a report with version X is loaded by an Y version of engine, where Y > X, the load method will do the following:

  • get report version (X in this case)

  • apply a converter chain process if needed

  • load the resulted xml

To explain the second step,  for example if we have a Converter_X1 (to version X1) and a Converter_X2 (to version X2) with X < X1 < X2 < Y then conversions X->X1 and X1->X2 are needed,they are applied using a chain of responsibility order and the new version of report is set to Y.

The only differences to NextReports Engine are the signatures of the load methods from ReportUtil class which now throw a LoadReportException:

public static Report loadReport(String xml) 
              throws LoadReportException { ... }

public static Report loadReport(InputStream is) 
              throws LoadReportException { ... }  

Using this converter, a new concept of „Row Element” could be added allowing to specify row properties. „New page” property was moved from cell selection to row selection. Formatting conditions can now be applied to rows, not just to simple cells.

Row Formatting Conditions

 NextReports server was updated to Wicket 1.5.

One new extension in this version is applied to „Dynamic values”.  Selecting dynamic values for a parameter (at scheduling time) meant (till 5.2) that the values are computed at runtime using the default source. From version 5.2 if no default source is present, the real source of the parameter will be used. The advantage is that a real source can accept other parameters, while default source cannot.

Dynamic Values

At run time users can save the values for parameters as templates and re-used later. Designer offers default values for parameters (values that are auto-completed at runtime in UI). With „Values Templates”, server can offer more ways of auto-completition especially in case when a lot of parameters are involved.

Values Templates

To see the server in action, look at the updated demo



Opinions expressed by DZone contributors are their own.

{{ parent.title || parent.header.title}}

{{ parent.tldr }}

{{ parent.urlSource.name }}