JasperReports - Subreport-DataSource

In einem Projekt hatte ich jetzt den Fall, dass ich die vollständige Datasource des Parent Reports an ein Subreport übergeben musste.

JasperReports hat einen definierten Parameter REPORTDATASOURCE der die aktuelle DataSource für den Report hält. Leider funktioniert es nicht, wenn man versucht den Parameter direkt als dataSourceExpression zu übergeben. Für den Subreport benötigt man eine neue DataSource. Hierfür ist die Methode cloneDataSource() gedacht. Diese erzeugt einen Clone der Parent DataSource und kann dann dem Subreport übergeben werden.

<subreport isUsingCache="false">  
<reportElement x="0" y="0" width="595"

Read More

XML-Verarbeitung mit XStream

Wir nutzen bei sLAB schon seit langem XStream als Möglichkeit XML zu serialisieren und deserialisieren. Die Bibliothek ist seit Dezember 2008 unverändert und ich bin im Moment wieder dabei, damit zu arbeiten.

Setup

Für das Tutorial benötigen wir erst einmal ein paar Klassen zum serialisieren. Wir beginnen einfach mit zwei Klassen Angestellter und Adresse.

package de.billmann.xstream;  
public class Angestellter {  
  private Long personalNummer;
  private String vorname;
  private String nachname;
  private Adresse adresse;
  private long internerWert;
  public Angestellter() {
    this.internerWert = System.currentTimeMillis();
  }
  public Long getPersonalNummer() {
    return personalNummer;
  }
  public void setPersonalNummer(Long personalNummer) {
    this.personalNummer = personalNummer;
  }
  public String getVorname() {
    return vorname;

Read More