Bonjour à tous

J'utilise Eclipse 3.2 sous windows 2000, avec MS SQL Server. J'ai concu un rapport avec BIRT et je parviens à bien afficher l'état en cliquant sur preview. Je souhaite passer à l'étape suivante qui est d'exécuter ce rapport et d'afficher le resultat au format pdf à partir du code java et c'est là que je suis bloqué depuis une semaine. J'ai parcourru des tutoriels et pleins de documents sur BIRT, mais je ne m'ensors toujours pas. Quelqu'un peut-il m'aider en me disant ce qui n'est pas bon dans mon code ci-dessous et en me donnant le corrigé?

NB: L'exception se declenche sur la ligne marquée en rouge.

Merci d'avance pour votre aide.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
public class RunReport
{
    public static void execute ()
    {
        try
        {
            runReport();
        }
        catch (Exception e)
        {
            e.printStackTrace();
        }
    }
 
    static void runReport () throws EngineException
    {
        IReportEngine engine = null;
        EngineConfig config = null;
 
        try
        {
            config = new EngineConfig();
            config.setEngineHome("C:/sufap/Appli/birt-runtime-2_5_0/ReportEngine");
            config.setLogConfig("C:/sufap/Appli/logs", java.util.logging.Level.FINEST);
            Platform.startup(config);
            IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
            engine = factory.createReportEngine(config);
 
            engine.changeLogLevel(Level.WARNING);
 
            IReportRunnable design = null;
            // Open the report design
            design = engine.openReportDesign("C:/sufap/Appli/sufap/src/forms/birttest.rptdesign");
            IRunTask task = engine.createRunTask(design);
            // task.setParameterValue("ordParam", (new Integer(10101)));
            // task.validateParameters();
            task.run("C:/sufap/Rapports/testbirt.rptdocument");
            task.close();
            engine.destroy();
        }
        catch (Exception ex)
        {
            ex.printStackTrace();
        }
        finally
        {
            Platform.shutdown();
        }
    }
}
Exception:
4 sept. 2009 13:37:22 org.eclipse.birt.report.model.metadata.MetaDataReader read
GRAVE: null
java.lang.NullPointerException
at org.eclipse.birt.report.model.core.DesignElement.initSlots(DesignElement.java:2938)
at org.eclipse.birt.report.model.elements.ReportDesign.<init>(ReportDesign.java:79)
at org.eclipse.birt.report.model.parser.DesignParserHandler.<init>(DesignParserHandler.java:49)
at org.eclipse.birt.report.model.parser.DesignReader.read(DesignReader.java:86)
at org.eclipse.birt.report.model.core.DesignSession.openDesign(DesignSession.java:322)
at org.eclipse.birt.report.model.api.SessionHandle.openDesign(SessionHandle.java:294)
at org.eclipse.birt.report.engine.parser.ReportParser.getDesignHandle(ReportParser.java:158)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:255)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:195)
at org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.openReportDesign(ReportEngineHelper.java:129)
at org.eclipse.birt.report.engine.api.impl.ReportEngine.openReportDesign(ReportEngine.java:359)
at forms.RunReport.runReport(RunReport.java:48)
at forms.RunReport.execute(RunReport.java:21)
at forms.FPrincipal$23.actionPerformed(FPrincipal.java:811)
at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)
at javax.swing.DefaultButtonModel.setPressed(Unknown Source)
at javax.swing.AbstractButton.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI.doClick(Unknown Source)
at javax.swing.plaf.basic.BasicMenuItemUI$Handler.mouseReleased(Unknown Source)
at java.awt.Component.processMouseEvent(Unknown Source)
at javax.swing.JComponent.processMouseEvent(Unknown Source)
at java.awt.Component.processEvent(Unknown Source)
at java.awt.Container.processEvent(Unknown Source)
at java.awt.Component.dispatchEventImpl(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)
at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)
at java.awt.Container.dispatchEventImpl(Unknown Source)
at java.awt.Window.dispatchEventImpl(Unknown Source)
at java.awt.Component.dispatchEvent(Unknown Source)
at java.awt.EventQueue.dispatchEvent(Unknown Source)
at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.pumpEvents(Unknown Source)
at java.awt.EventDispatchThread.run(Unknown Source)