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 :

[java] Servlet BIRT engine : ne marche pas!


Sujet :

BIRT

  1. #1
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 76
    Points : 37
    Points
    37
    Par défaut [java] Servlet BIRT engine : ne marche pas!
    Salut,

    Quelqu'un aurait il la gentillesse d'expliquer clairement comment faire fonctionner l'exemple de servlet utilisant le moteur de BIRT. Je me bats avec 3 sites dont celui de BIRT pour essayer de comprendre mais entre les problèmes de version, de hashmap, de chemin de fichiers ou encore le manque de clarté des tutoriaux j'en peux plus.
    SVP aidez moi!
    Merci
    Nicolep

  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,

    Merci de continuer à respecter les règles du sous-forum BIRT : http://www.developpez.net/forums/ann...php?f=351&a=36


    http://www.developpez.net/forums/sho...d.php?t=268641

    [EDIT]Je rajouterai ce lien si tu as des problèmes a t'y retrouver avec les versions.
    http://blog.developpez.com/index.php...&c=1&tb=1&pb=1[/EDIT]

  3. #3
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 76
    Points : 37
    Points
    37
    Par défaut
    http://www.developpez.net/forums/sho...d.php?t=268641

    Merci pour ce lien mais c'est quand même du haut niveau! Comment on utilise cette classe ensuite? C'est un java bean en fait?

  4. #4
    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
    Dans mon cas, c'est une classe métier toute simple.

    Je l'appelle via la servlet grâce à toutes les méthodes contenues dans cette classe :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    EditionPDF editionPDF = EditionPDF.getInstance();
    editionPDF.init(...);
    editionPDF.run();
    Je ne vois pas ta difficulté en fait là...

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 117
    Points : 95
    Points
    95
    Par défaut
    Citation Envoyé par nicolep
    http://www.developpez.net/forums/sho...d.php?t=268641

    Merci pour ce lien mais c'est quand même du haut niveau! Comment on utilise cette classe ensuite? C'est un java bean en fait?
    Lis quelques tuto sur le java ;-)

  6. #6
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 76
    Points : 37
    Points
    37
    Par défaut
    Je crois en effet que j'en ai besoin, j'ai jamais vraiment étudié les bases, jme suis plutot adapté à chaque situation jusqu'ici. Lequel me conseillez vous?

  7. #7
    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
    Ceux de Jean-Michel Doudoux : http://jmdoudoux.developpez.com/

  8. #8
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 76
    Points : 37
    Points
    37
    Par défaut
    Dans ta classe métier editionPDF, il y a une variable trace sur laquelle la méthode logError est appelé.eclipse ne reconnait pas cette variable, d'où sort elle?

    Autre chose, dans ma servlet, eclipse me dit que le type public de la classe doit être défini dans son propre fichier. Ca veut dire quoi ça??

    Merci

    Nicolep

  9. #9
    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
    Citation Envoyé par nicolep
    Dans ta classe métier editionPDF, il y a une variable trace sur laquelle la méthode logError est appelé.eclipse ne reconnait pas cette variable, d'où sort elle?

    Autre chose, dans ma servlet, eclipse me dit que le type public de la classe doit être défini dans son propre fichier. Ca veut dire quoi ça??

    Merci

    Nicolep
    Laisse tomber ce truc, c'est une classe du framework de la société J'ai oublié de supprimer la ligne. Fait e.printStackTrace(); à la place et ca ira.

  10. #10
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 76
    Points : 37
    Points
    37
    Par défaut
    Ok merci c'est bon.

    J'ai un autre problème.
    Dans ma servlet, je mets ces lignes :

    EditionPDF editionPDF = EditionPDF.getInstance();
    editionPDF.init("d:\\","tbdispo");
    editionPDF.run();

    J'ai enlevé les paramètres. eclipse me sort une erreur sur le getInstance. Il me dit "type d'exception Birt exception non géré" et me dit d'ajouter un try/catch ou un throws.. T'as une idée?

    Mon dieu quel foutoir tout ca!
    Merci en tout cas
    Nicolep

  11. #11
    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
    Rha mais c'est du JAVA, c'est pas un foutoir.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    try
    {
      EditionPDF editionPDF = EditionPDF.getInstance();
      editionPDF.init("d:\\","tbdispo");
      editionPDF.run();
    }
    catch (BirtException e)
    {
      e.printStackTrace();
    }

  12. #12
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 76
    Points : 37
    Points
    37
    Par défaut
    C'est du java mais c'est quand meme un peu le foutoir!!

    C'est bon, j'ai plus d'erreur merci mais evidemment encore qq questions..
    Ca sort un peu du sujet, dis moi si jdois refaire un post.

    1) Dans Eclipse, peut on compile tout betement, sans exécuter?? ou est on obligé de définir une exécution? Ahlala jregrette Netbeans et son bouton Compiler.C'est possible de compiler sans méthode main du coup?

    2) Dans un classpath windows, la casse est-elle prise en compte? A-t-on le droit de mettre par exemple : c:\java\lib\*.jar pour que tous les jar du dossier soient pris en compte.
    C'est le *.jar qui me turlupine parce que j'essaie de compiler sous dos et ya rien à faire mes classes importées ne sont pas trouvées alors je doute!

    Merci!

  13. #13
    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
    Citation Envoyé par nicolep
    1) Dans Eclipse, peut on compile tout betement, sans exécuter?? ou est on obligé de définir une exécution? Ahlala jregrette Netbeans et son bouton Compiler.C'est possible de compiler sans méthode main du coup?
    Oui, même Eclipse peut compiler au fur et à mesure que tu programmes (Project > Build Automatically). Si tu veux forcer une recompilation en compilation automatique tu fais Project > Clean.

    Citation Envoyé par nicolep
    2) Dans un classpath windows, la casse est-elle prise en compte? A-t-on le droit de mettre par exemple : c:\java\lib\*.jar pour que tous les jar du dossier soient pris en compte.
    C'est le *.jar qui me turlupine parce que j'essaie de compiler sous dos et ya rien à faire mes classes importées ne sont pas trouvées alors je doute!
    Je ne pense pas, mais dans le classpath tu dois mettre c:\java\lib\ et il ira chercher les JAR de lui même (tu construis bien ton classpath via eclipse et pas a la bourrin dans tes variables d'environnement).

    Citation Envoyé par nicolep
    Merci!
    De rien, on est là pour ça

  14. #14
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 76
    Points : 37
    Points
    37
    Par défaut
    "tu construis bien ton classpath via eclipse et pas a la bourrin dans tes variables d'environnement"

    euh non! Justement parce que j'essayais de compiler à partir de dos donc les variables d'eclipse n'aurait pas été reconnu si? C'est bourrin de faire par les variables d'environnement?! J'aurais dit l'inverse..

    qq questions encore à propos de editionPDF :
    1) Quel chemin dois je mettre ici :
    realPath = "C:\\Tomcat\\"; c le chemin de mon appli web qui faut mettre là non?
    2) config.setResourcePath(new File(realPath, "WEB-INF/classes/ressources").getAbsolutePath());
    faut il mettre des fichiers particulier dans le dossier ressources?

    Parce que ma servlet marche mais je n'ai pas de rapport généré..

    Et meme si t'es là pour ça, merci!!

  15. #15
    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
    Citation Envoyé par nicolep
    euh non! Justement parce que j'essayais de compiler à partir de dos donc les variables d'eclipse n'aurait pas été reconnu si? C'est bourrin de faire par les variables d'environnement?! J'aurais dit l'inverse..
    Ben c'est pas bourrin de créer ton classpath dans Eclipse (clic droit > Configure ClassPath) puisque quand tu vas installer chez un client, tu ne vas pas t'amuser à aller configurer ses variables d'environnement via un batch... Ca c'est bourrin !

    Citation Envoyé par nicolep
    1) Quel chemin dois je mettre ici :
    realPath = "C:\\Tomcat\\"; c le chemin de mon appli web qui faut mettre là non?
    Je dirais plutôt "C:\\Tomcat\\webapps\\TonProjet\\".
    Citation Envoyé par nicolep
    2) config.setResourcePath(new File(realPath, "WEB-INF/classes/ressources").getAbsolutePath());
    faut il mettre des fichiers particulier dans le dossier ressources?
    Tes fichiers de traduction (.properties) si tu en as.

  16. #16
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 76
    Points : 37
    Points
    37
    Par défaut
    Ouah trop bon le rapport est généré!
    Merci pour ta disponibilité et ton talent!!

  17. #17
    Nouveau membre du Club
    Inscrit en
    Mars 2007
    Messages
    76
    Détails du profil
    Informations forums :
    Inscription : Mars 2007
    Messages : 76
    Points : 37
    Points
    37
    Par défaut
    Par contre, maintenant, pour que le client obtiennent directement le pdf généré dans son navigateur, tu disais :
    "Je renvoie le fichier au client (comme je renverrai une JSP) et je l'affiche. Il s'ouvre dans son lecteur PDF par défaut. Il peut l'imprimer et/ou l'enregistrer à partir de Acrobat Reader (ou autre lecteur de PDF)".

    Je pensais avoir compris et y arriver mais pas vraiment..
    En fait tu écris dans ta servlet du code html du genre :

    out.println("<HTML>");
    out.println("<HEAD><TITLE> Titre </TITLE></HEAD>");
    out.println("<BODY>");
    out.println("Rapport généré!");
    out.println("</BODY>");
    out.println("</HTML>");

    Et tu ajoutes un lien de redirection vers le PDF généré c ca??

  18. #18
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 117
    Points : 95
    Points
    95
    Par défaut
    Petite question est ce que sous eclipse vous avez un repertoire qui se crée :

    Projet/context/images <-- pr mon app
    Projet/context/report <-- pr mes reports et aussi mes properties
    Projet/context/classes <-- eclipse mais les .class et les properties qui sont dans mon repertoire /src/

    Projet/context/WEB-INF/Platform <--c ça que je trouve bizarre
    avec à l'intérieur les répertoies /Configuration, /plugins, /workspace

    Au niveau config j'ai mis :
    Preferences... Dossier de ressources :
    E:\appli\eclipse3.2\eclipse\workspace\Projet\context
    J'ai ajouter au classpath du projet les *.jars et qui sont dans :
    Projet/context/WEB-INF/lib <-- Comme ça lorsque je deploire mon war les jars sont présents pour mon application pas de pb de version etc...

    Ma classe pour lancer l'engine :
    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
    config.setEngineHome(sc.getRealPath("lib"));
     
      IPlatformContext context = new PlatformServletContext( sc );
      config.setPlatformContext( context );
      config.setResourcePath(context.getPlatform());
     
      try
      {
       Platform.startup( config );
      }
      catch ( BirtException e )
      {
       e.printStackTrace( );
      }
     
      IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
      birtEngine = factory.createReportEngine( config );
    Qu'en pensez-vous et vous qu'vez vous sous eclipse ? et sous tomcat quand vous déployer ? je pense que j'ai loupé une subtiliter dans l'install mes rapports fonctionnes mais mon utilisations des jar de birt dans mon projet me pareil bizarre

  19. #19
    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
    Heu nan pas du tout.

    Mais j'utilise Struts alors je fais les redirection via un fichier XML .

    Va mieux falloir que tu te renseignes sur les forums parlant de Java et servlets et tout

  20. #20
    Membre régulier
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 117
    Points : 95
    Points
    95
    Par défaut
    tu as essayer un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    HTMLRenderOption options = new HTMLRenderOption();
    options.setOutputStream(out);
    en fait tu redirige le flux généré par birt au navigateur et là il aura une fenetre comment lorsque tu télécharge un fichier sur le net sans avoir stocké le fichier sur le serveur

Discussions similaires

  1. [CR 2008] using Crystaldecisions.crystalreports.engine ne marche pas
    Par PatStan17 dans le forum SAP Crystal Reports
    Réponses: 1
    Dernier message: 19/10/2011, 20h10
  2. Réponses: 1
    Dernier message: 20/02/2009, 16h14
  3. JAVA: arguments avec runtime ne marche pas
    Par aweqqas dans le forum Applications et environnements graphiques
    Réponses: 3
    Dernier message: 28/08/2007, 19h17
  4. [JAVA][SERVLET][TOMCAT][COOKIE] addCookie(cookie) marche pas
    Par nickylarson34 dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 08/08/2005, 17h58
  5. [Applet]Développée en java 1.4.2 ne marche pas en 1.4.1
    Par adilou1981 dans le forum Applets
    Réponses: 10
    Dernier message: 06/07/2005, 15h45

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