(Megoldva) JFreereport + pentaho designer

Fórumok

Van egy jó kis reportgeneráló csomag java-hoz: a jfreereport.
Tudok is készíteni reportokat, ha megírom az XML file-t hozzá.
Van továbbá egy Report Designer a pentaho-tól, ezzel könnyen lehet jelentéseket készíteni, csak az a baj, hogy az ezzel generált xml egy extended formátum, amit sehogy se jövök rá, hogyan kezeljem. Ha csak beolvasom, a program az mondja, hogy ismeretlen tag pl. a
Pedig a jfreereport dokumentációjában van is utalás erre, a demok tartalmaznak ilyen típusú xml file-okat, de ha (nertbeans-el) lefordítom az egyik demót, akkor megint csak nem működik. A problémára nem találtam
megoldást a neten. Egészen biztos, hogy vmi nagyon egyszerű dolgot nem teszek meg, csak nem tudom, mit.
Please Help!

Hozzászólások

szerintem azt felejted el, h el kene mar felejteni a javat meg az xml-t vegre es valami epelmejubb eszkozokhoz kene folyamodni >;p

ExtReportHandler

The extended report handler is used by the Parser to process the SAX events
for the “extended” report definition format (see section ??).
This handler examines the opening tags and delegates control to other handlers:

Tag:______________Handler:
report-config______ReportConfigHandler
report-definition___ReportDescriptionHandler

Megoldva.
Ami hiányzott, az a pentaho-reporting-engine-classic-0.8.9.5
A classpath -hoz hozzá kell adni ezt a jar file-t és a csomagban levő lib könyvtárban szereplő jar file-okat.
A report-designerrel elkészített xml-file-t a saját csomagba kell tenni, és akkor a kód:

package javarep3;

import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Vector;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.swing.table.DefaultTableModel;
import org.jfree.report.JFreeReport;
import org.jfree.report.JFreeReportBoot;
import org.jfree.report.modules.gui.base.PreviewFrame;
import org.jfree.report.modules.parser.base.ReportGenerator;
import org.jfree.resourceloader.Resource;
import org.jfree.resourceloader.ResourceException;
import org.jfree.resourceloader.ResourceManager;
import org.jfree.util.ObjectUtilities;

/**
*
* @author miko
*/
public class Main {
public static DefaultTableModel dtm = new DefaultTableModel();

private static JFreeReport parseReport() {
try {
URL in = ObjectUtilities.getResourceRelative("ezjo.xml", Main.class);
ResourceManager manager = new ResourceManager();
manager.registerDefaults();
Resource res = manager.createDirectly(in, JFreeReport.class);
return (JFreeReport) res.getResource();
} catch (ResourceException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
return null;
} catch (MalformedURLException ex) {
Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
return null;
}
}

public static void main (final String[] args)
{
JFreeReportBoot.getInstance().start();
dtm.addColumn("C1_type");
dtm.addColumn("C2_type");
Vector row = new Vector();
row.addElement("hello1");
row.addElement("hello2");
dtm.addRow(row);
final JFreeReport report = parseReport();
report.setData(dtm);
final PreviewFrame frame = new PreviewFrame(report);
frame.pack();
frame.setVisible(true);
}
}

--
Viszlát, és kösz a halakat!