IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

BIRT Discussion :

Erreur au déploiement [Fait]


Sujet :

BIRT

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 118
    Points : 63
    Points
    63
    Par défaut Erreur au déploiement
    Bonjour,

    je débute sous Birt et je pense que les réponses à mes questions pourraient-être ajoutées à la FAQ Birt en construction.

    Pour une application J2SE/SWING, je souhaite utiliser Birt pour gérer l'édition.

    Peux-t-on utiliser Birt dans une application J2SE (sans serveur d'application) ?
    >> J'ai téléchargé birt-runtime et rajouté les librairies au classPath de mon projet Eclipse. J'ai créé un petit état (avec du texte statique) pour un test et j'aurais aimé créer un document PDF. Mais il m'indique que le framework OSGI est absent. Qu'est-ce que cela signifie ?

    Comment demander la génération du document PDF à partir d'un état ?
    J'ai trouvé le code source suivant :
    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
     
    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...");
     
    }
    Est-il encore d'actualités ?
    Que doit-t-on mettre dans la variable enginePath ? Le répertoire où se trouve les librairies runtime-birt ?


    >> Construction d'un état : comment spécifier qu'une zone de texte doit toujours se trouver dans l'en-tete de la page ?


    >> Construction d'un état : je souhaite envoyer via paramètres, une liste de BufferedImage. Dans mon rapport, comment puis-je dire que mon composant image doit être répété autant de fois qu'il existe d'images dans ma liste ?

    Merci beaucoup pour votre aide.
    F.

  2. #2
    BiM
    BiM est déconnecté
    Expert éminent sénior
    Avatar de BiM
    Femme Profil pro
    Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT
    Inscrit en
    Janvier 2005
    Messages
    7 796
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 38
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Consultante/Formatrice BIRT & Ingénieur Java/J2EE/GWT

    Informations forums :
    Inscription : Janvier 2005
    Messages : 7 796
    Points : 10 765
    Points
    10 765
    Par défaut
    Bonjour,

    Citation Envoyé par Foub Voir le message
    Peux-t-on utiliser Birt dans une application J2SE (sans serveur d'application) ?

    Comment demander la génération du document PDF à partir d'un état ?
    http://www.developpez.net/forums/sho...2&postcount=23

    On ne parle plus de EnginePath mais de BIRTHome et c'est le répertoire où se trouve le Report Engine de BIRT (son moteur en fait).

    Citation Envoyé par Foub Voir le message
    Construction d'un état : comment spécifier qu'une zone de texte doit toujours se trouver dans l'en-tete de la page ?
    Il y a possibilité de faire une entête et un pied de page dans l'onglet MasterPage du designer.


    Citation Envoyé par Foub Voir le message
    Construction d'un état : je souhaite envoyer via paramètres, une liste de BufferedImage. Dans mon rapport, comment puis-je dire que mon composant image doit être répété autant de fois qu'il existe d'images dans ma liste ?
    http://www.developpez.net/forums/sho...6&postcount=15
    Un Objet Java pouvant très bien être une image ou une adresse d'image.

    Citation Envoyé par Foub Voir le message
    Merci beaucoup pour votre aide.
    De rien

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 118
    Points : 63
    Points
    63
    Par défaut
    BiM,

    merci beaucoup pour ta réponse.

    Lorsque je tente la génération d'un premier PDF comprenant seulement un texte statique, l'exception suivante est soulevée :

    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
    [Configuration du moteur BIRT]............OK
    19 juin 2008 19:27:10 org.eclipse.birt.report.engine.api.ReportEngine <init>
    GRAVE: Cant startup the OSGI framework
    Can't load the report engine
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    	at org.eclipse.birt.report.engine.api.ReportEngine.openReportDesign(ReportEngine.java:125)
    	at LanceurTestImpression$3.actionPerformed(LanceurTestImpression.java:231)
    	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.plaf.basic.BasicButtonListener.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)
    
    Voici mon code pour lancer la génération du PDF :
    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
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
     
    // APPEL A BIRT
    //////////////////////////////////
    // Configuration du moteur BIRT //
    //////////////////////////////////
    String reportEngine = "C:\\workspace\\TestImpression\\lib\\birtRuntime";
    EngineConfig config = new EngineConfig( );
    //Home du moteur
    config.setBIRTHome(reportEngine);
    System.out.println("[Configuration du moteur BIRT]............OK");
     
    //////////////////////////////
    // Moteur de reporting BIRT //
    //////////////////////////////
    ReportEngine engine = new ReportEngine( config );
     
    ///////////////////////////////////
    // Représentation de l'Etat BIRT //
    ///////////////////////////////////
    String etat = "/reports/monRaport.rptdesign";
    IReportRunnable design=null;
     
    try {
          design = engine.openReportDesign(etat);
    } catch (EngineException e1) {
         System.out.println("[Lecture de l'état BIRT]........FAILED" + e1.getMessage());
    }
     
    System.out.println("[Lecture de l'état BIRT]................OK");
     
    //////////////////////////////////////////////
    // Tache de creation traitement et de Rendu //
    //////////////////////////////////////////////
    IRunAndRenderTask task = engine.createRunAndRenderTask(design);    
    // Context de rendu
    HTMLRenderContext renderContext = new HTMLRenderContext();
    // S'il y a des images
    renderContext.setImageDirectory("image");
    HashMap contextMap = new HashMap();
    					  contextMap.put(EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT,renderContext );
    task.setAppContext( contextMap );
    System.out.println("[Configuration du moteur de rendu]......OK");
     
    /////////////////////
    // Option de rendu //
    /////////////////////
    String out = "C:\\testImpressionBIRT.pdf";
    HTMLRenderOption options = new HTMLRenderOption();
    //options.setOutputStream(System.out);
    options.setOutputFileName(out);
    options.setOutputFormat("pdf");
    task.setRenderOption(options);
    System.out.println("[Configuration du fichier de sortie]....OK");
     
    System.out.println("[Début de l'execution de la transfo.]...OK");
     
    try {
         task.run();
    } catch (EngineException err) {
         System.out.println("### Génération du pdf echouée ###\n" + err.getMessage());
    }
     
    System.out.println("### Génération du pdf effectué###");
     
    engine.shutdown();
    System.out.println("[Arret du moteur BIRT]............OK");
    Mon répertoire lib/birtRuntime contient les librairies suivantes :
    • chartengineapi.jar
    • com.ibm.icu_3.6.1.v20070906.jar
    • commons-cli-1.0.jar
    • coreapi.jar
    • dataadapterapi.jar
    • dteapi.jar
    • engineapi.jar
    • flute.jar
    • js.jar
    • modelapi.jar
    • modelodaapi.jar
    • odadesignapi.jar
    • org.apache.commons.codec_1.3.0.v200706111738.jar
    • org.eclipse.emf.common_2.2.1.v200702131851.jar
    • org.eclipse.emf.ecore.xmi_2.2.2.v200702131851.jar
    • org.eclipse.emf.ecore_2.2.2.v200702131851.jar
    • org.w3c.css.sac_1.3.0.v200706111724.jar
    • scriptapi.jar


    Manquerait-il une librairie pouvant causer mon exception sur OSGI ?

    Merci,
    F.

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Août 2004
    Messages
    118
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 118
    Points : 63
    Points
    63
    Par défaut
    Bonjour,

    j'ai trouvé la réponse pour ne plus avoir le stack trace suivante :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [Configuration du moteur BIRT]............OK
    19 juin 2008 19:27:10 org.eclipse.birt.report.engine.api.ReportEngine <init>
    GRAVE: Cant startup the OSGI framework
    Can't load the report engine
    Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
    	at org.eclipse.birt.report.engine.api.ReportEngine.openReportDesign(ReportEngine.java:125)
    	at LanceurTestImpression$3.actionPerformed(LanceurTestImpression.java:231)
    	at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)
    
    Lorsque l'on télécharge le birt runtime, dans le répertoire ReportEngine, il y a les répertoires configuration, lib, plugins, samples qu'il est important de conserver. Il ne suffit pas seulement d'ajouter les librairies au classpath.

    Merci à tous pour vos réponses.
    F.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [JBoss 3.2.8 SP1] erreur de déploiement
    Par Christophe P. dans le forum Wildfly/JBoss
    Réponses: 1
    Dernier message: 24/09/2007, 17h07
  2. Erreur de déploiement d'une simple servlet ?
    Par gronk dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 17/01/2007, 11h13
  3. [4.0] [EJB3] erreur au déploiement
    Par pbdlpc dans le forum Wildfly/JBoss
    Réponses: 5
    Dernier message: 13/12/2006, 16h12
  4. Erreur de déploiement de l'application MySQL BDE
    Par missmarion dans le forum Langage
    Réponses: 13
    Dernier message: 10/03/2006, 14h17

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo