JasperReports 6.4 von Jaspersoft – Eine Vorausschau

Viele warten seit einigen Monaten auf das neue Release von Jaspersoft. Im Rahmen meines Webinars „Interaktive und pixelperfekte Reports – aktuelle Trends und Ansätze mit JasperReports“ habe ich bereits einen Ausblick auf kommende Features gegeben.

In der JasperReports Library, dem wesentlichen Kern aller Produkte wie JasperServer und Jaspersoft Studio sowohl in den kommerziellen Editionen als auch in den Pro-Versionen, sind das im Wesentlichen folgende Features:

  • Multiple Chart Customizer für die jFree-Chart Bibliotheken
  • Field Properties
  • Tab-Positionen in Text-Fields

Multiple Chart Customizer für die jFree-Chart Bibliotheken

Mit Hilfe der Customizer-Klassen können jFree-Charts angepasst werden. So können Schatten, Balkenabstände, Linienfarben, Linienmarkierungen etc. konfiguriert werden.

Bisher war es notwendig eine Customizer-Klasse zu erstellen, die alle notwendigen Anpassungen beinhaltet hat, was Java-Kenntnisse erforderlich gemacht hat.

Mit dem neuen Ansatz können mehrere Chart Customizer nacheinander angewendet werden und so einzeln von Report-Entwicklern ausgewählt und hinzugefügt werden, ohne dass individuelle Java-Programmierung erforderlich ist.

Dies ermöglicht einer Wiederverwendung von Chart-Customizern und eine Modularisierung der Chart-Konfiguration von jFree-Charts.

Field Properties

Fields (dt. Felder) sind das Ergebnis der Anfragen auf Datenquellen in JasperReports. Im bisherigen Ansatz war es üblich, die Spalte Description dazu zu verwenden, um für XML-Datenquellen den XPATH-Ausdruck hinzuschreiben.

Am Beispiel von XML wird es schnell deutlich, dass dieser Ansatz nicht ausreichend ist: neben XPATH kann auch das Datum-Format eine Rolle spielen. Daher ist XPATH in der Description in Zukunft deprecated und es kann vielmehr eine Liste von Eigenschaften für ein Feld definiert werden.

Tab-Positionen in Text-Fields

Eine weitere Neuerung ist die Verwendung von Tab-Positionen in Text-Fields.

Es kann eine Liste von Tab-Positionen eingestellt werden, die dann Berücksichtigung findet.

Stichwort: Paragraph Settings
<textField isStretchWithOverflow="true">
  <reportElement positionType="Float" mode="Opaque" x="0" y="105" width="255" height="40" backcolor="#88FF88" uuid="0158c9b8-7f86-4a5b-a5c1-a6d271356fd7"/>
    <textElement>
      <paragraph>
        <tabStop position="40" alignment="Right"/>
        <tabStop position="80" alignment="Right"/>
        <tabStop position="120" alignment="Right"/>
        <tabStop position="160" alignment="Right"/>
        <tabStop position="200" alignment="Right"/>
      </paragraph>
    </textElement>
    <textFieldExpression><![CDATA["Text field element using custom tab stops right aligned and 40 pixels apart. The overall text alignment is left:\n\tpig\tchicken\tsheep\thorse\tgoat\n\tlion\tgiraffe\thippopotamus\tleopard\telephant\thyena\n\tparis\tlondon\trome\tamsterdam\toslo"]]></textFieldExpression>
</textField>


Dies ist eine Zusammenfassung der wesentlichen Neuerungen auf Ebene der Library. Wir sind alle gespannt, welche Neuerungen es auf Seiten von Server und Studio geben wird.

Prodato verbindet.

Autor

Dr. Michael Daum
Geschäftsführung

michael.daum@prodato.de