My entire carrier is linked to Java. I have been working in Java for 15 years and I still love it. I currently develop NextReports application My Personal Blog My NextReports Blog NextReports Site Mihai has posted 35 posts at DZone. You can read more from them at their website. View Full User Profile

NextReports 5.2 was released

05.31.2012
| 986 views |
  • submit to reddit
Location: 
Bucharest

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

 Links


0
Published at DZone with permission of its author, Mihai Dinca - Panaitescu.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)