Coucou les gens
Je sais ça fait longtemps, et je post évidemment parce que j'ai un pb...
Bref, j'ai un pb avec BIRT, qui est un plug-in d'Eclipse qui permet de faire du reporting.
Avec Birt, j'ai créer un report tout bête pour faire des tests. Java se connecte à une base de données postgres sans poser aucun pb.
Par contre, je souhaite utiliser l'API de Birt pour faire des reports à partir d'une applic java. Comme j'en suis pas encore là, mon but est simplement d'ouvrir un rapport *.rptdesign (extension du report généré par birt) et de l'afficher en pdf. J'ai suivi à la lettre ça :
http://www.eclipse.org/birt/phoenix/deploy/reportEngineAPI.php#reportengine
Pour autant quand je l'ouvre, j'ai un méga Exception qui apparaît (pour changer) et j'arrive pas à la virer.

J'ai fait un google power pour avoir comme réponse : que dale, personne n'arrive à s'en débarrasser !!!
C'est un pb au niveau du report ? Un pb au niveau du chemin de mon report ?
Un *.jap que j'ai oublié de mettre dans la classpath ? (bien qu'après vérif je crois pas)
Bref j'en ai aucun idée, et je sature un peu.
Je demande un peu d'aide là !!!
Je joins un bout du code et erreur
public class Test_API_Birt {
static void excecuteReport() throws EngineException{
try {
/*************************/
/** CONNECTION A LA BASE */
/*************************/
Class.forName("org.postgresql.Driver");
System.out.println("Debut de connection...n");
db= DriverManager.getConnection(dbUrl, user, passwd);
config = new EngineConfig( );
config.setEngineHome(enginePath);
config.setLogConfig(logConfig, Level.FINE);
Platform.startup( config );
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
engine = factory.createReportEngine( config );
engine.changeLogLevel(Level.WARNING );
}
catch (ClassNotFoundException e) {
System.err.println("Je trouve pas le driver");
}
catch (Exception e) {
e.printStackTrace();
}
//Open the report design
try {
design = engine.openReportDesign(rptdesign);
}
catch (EngineException e1) {
System.out.println("[Lecture de l'état BIRT]........FAILED" + e1.getMessage());
}
System.out.println("[Lecture de l'état BIRT]................OK");
engine.shutdown();
Platform.shutdown();
System.out.println("Fini...");
}
... |
Et mon exception
java.lang.NullPointerException
at org.eclipse.birt.report.model.elements.OdaDataSource.setIntrinsicProperty(OdaDataSource.java:201)
at org.eclipse.birt.report.model.core.DesignElement.setProperty(DesignElement.java:1192)
at org.eclipse.birt.report.model.core.DesignElement.setProperty(DesignElement.java:1162)
at org.eclipse.birt.report.model.parser.DesignParseState.setProperty(DesignParseState.java:99)
at org.eclipse.birt.report.model.parser.OdaDataSourceState.parseODADataSourceExtensionID(OdaDataSourceState.java:167)
at org.eclipse.birt.report.model.parser.OdaDataSourceState.parseAttrs(OdaDataSourceState.java:82)
at org.eclipse.birt.report.model.parser.ModuleParserHandler.startElement(ModuleParserHandler.java:145)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.startElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown Source)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(Unknown Source)
at org.eclipse.birt.report.model.parser.ModuleReader.readModule(ModuleReader.java:90)
at org.eclipse.birt.report.model.parser.DesignReader.read(DesignReader.java:90)
at org.eclipse.birt.report.model.core.DesignSession.openDesign(DesignSession.java:278)
at org.eclipse.birt.report.model.api.SessionHandle.openDesign(SessionHandle.java:291)
at org.eclipse.birt.report.engine.parser.ReportParser.getDesignHandle(ReportParser.java:160)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:243)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:191)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:125)
at org.eclipse.birt.report.engine.api.impl.ReportEngine.openReportDesign(ReportEngine.java:225)
at Test_API_Birt.excecuteReport(Test_API_Birt.java:63)
at Test_API_Birt.main(Test_API_Birt.java:85) |