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 :

Intégration de BIRT dans un projet java


Sujet :

BIRT

  1. #1
    Candidat au Club
    Homme Profil pro
    Développement
    Inscrit en
    Mai 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut Intégration de BIRT dans un projet java
    Bonjour ,

    Je souhaite generer un rapport BIRT en utilisant le code java, pour ce j'ai cherché dans le net afin de trouver des tutos pertinents

    Un des sujets publiés dans ce forum répondait bien à ma question

    cependant,le code proposé genere une errer au niveau de task.run() et task.close()

    voici le code
    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
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    import java.util.logging.Level;
    import org.eclipse.birt.core.framework.Platform;
    import org.eclipse.birt.report.engine.api.EngineConfig;
    import org.eclipse.birt.report.engine.api.EngineConstants;
    import org.eclipse.birt.report.engine.api.EngineException;
    import org.eclipse.birt.report.engine.api.IRenderOption;
    import org.eclipse.birt.report.engine.api.IReportEngine;
    import org.eclipse.birt.report.engine.api.IReportEngineFactory;
    import org.eclipse.birt.report.engine.api.IReportRunnable;
    import org.eclipse.birt.report.engine.api.IRunAndRenderTask;
    import org.eclipse.birt.report.engine.api.RenderOption;
    import org.eclipse.birt.report.engine.api.impl.RunAndRenderTask;
     
    /**
    * Simple BIRT Design Engine API (DEAPI) demo.
    */
     
    public class Report
    {
     
    public static void main( String[] args ) throws EngineException
    {
        EngineConfig config = new EngineConfig();
        IReportEngine engine = null ;
     
        try{
            config.setEngineHome( "C:\\Users\\DL\\Desktop\\eclipse Birt\\birt-runtime-4_3_2\\ReportEngine" );
            config.setLogConfig("c:/birt", Level.FINE);
            System.out.println("1");
     
            Platform.startup( config ); 
            IReportEngineFactory factory = (IReportEngineFactory) Platform
                    .createFactoryObject( IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
            System.out.println("2");
         engine = factory.createReportEngine( config );
            System.out.println("3");
            engine.changeLogLevel( Level.WARNING );
            System.out.println("4");
     
        }
        catch( Exception ex)
        {
            System.out.println("catch");
        }    
     
        System.out.println("5");
     
        //Open the report design
        IReportRunnable design = engine.openReportDesign("C:\\Users\\DL\\workspace-birt\\Tested\\Reporttest.rptdesign"); 
        System.out.println("6");
     
     
        //Create task to run and render the report,
        IRunAndRenderTask task = engine.createRunAndRenderTask(design); 
        //Set parent classloader for engine
        task.getAppContext().put(EngineConstants.APPCONTEXT_CLASSLOADER_KEY, RunAndRenderTask.class.getClassLoader()); 
        System.out.println("7");
     
        //Set parameter values and validate
        //task.setParameterValue("Top Percentage", (new Integer(3)));;
        //task.setParameterValue("Top Count", (new Integer(5)));
        //task.validateParameters();
     
        //Save as PDF File
        IRenderOption options = new RenderOption();        
        options.setOutputFormat("pdf");
        options.setOutputFileName("c:/birt/resultat.pdf");
        System.out.println("8");
     
        task.setRenderOption(options);
        System.out.println("9");
     
        //run and render report
        task.run();
        System.out.println("10");
     
        task.close();
        System.out.println("11");
    et voici l'erreur

    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
    1
    2
    3
    4
    5
    6
    7
    8
    9
    Exception in thread "main" org.eclipse.birt.report.engine.api.EngineException: Error happened while running the report.
    	at org.eclipse.birt.report.engine.api.impl.EngineTask.handleFatalExceptions(EngineTask.java:2363)
    	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:191)
    	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)
    	at Report.main(Report.java:75)
    Caused by: java.lang.IllegalArgumentException: URI is not absolute
    	at java.net.URI.toURL(Unknown Source)
    	at org.eclipse.datatools.enablement.oda.xml.util.ResourceLocatorUtil.getInputStream(ResourceLocatorUtil.java:49)
    	at org.eclipse.datatools.enablement.oda.xml.util.XMLSourceFromPath.openInputStream(XMLSourceFromPath.java:43)
    	at org.eclipse.datatools.enablement.oda.xml.util.SaxParser.<init>(SaxParser.java:81)
    	at org.eclipse.datatools.enablement.oda.xml.util.SaxParserNestedQueryHelper.<init>(SaxParserNestedQueryHelper.java:65)
    	at org.eclipse.datatools.enablement.oda.xml.util.SaxParserConsumer.<init>(SaxParserConsumer.java:105)
    	at org.eclipse.datatools.enablement.oda.xml.impl.ResultSet.next(ResultSet.java:142)
    	at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaResultSet.next(OdaResultSet.java:180)
    	at org.eclipse.birt.data.engine.odaconsumer.ResultSet.fetch(ResultSet.java:138)
    	at org.eclipse.birt.data.engine.executor.cache.OdiAdapter.fetch(OdiAdapter.java:214)
    	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.fetch(RowResultSet.java:145)
    	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
    	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
    	at org.eclipse.birt.data.engine.executor.transform.SimpleResultSet$RowResultSetWithResultSetScope.fetch(SimpleResultSet.java:1013)
    	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.doNext(RowResultSet.java:118)
    	at org.eclipse.birt.data.engine.executor.cache.RowResultSet.next(RowResultSet.java:96)
    	at org.eclipse.birt.data.engine.executor.transform.SimpleResultSet.prepareFirstRow(SimpleResultSet.java:319)
    	at org.eclipse.birt.data.engine.executor.transform.SimpleResultSet.getResultSetIterator(SimpleResultSet.java:338)
    	at org.eclipse.birt.data.engine.executor.DataSourceQuery.execute(DataSourceQuery.java:1057)
    	at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery$OdaDSQueryExecutor.executeOdiQuery(PreparedOdaDSQuery.java:503)
    	at org.eclipse.birt.data.engine.impl.QueryExecutor.execute(QueryExecutor.java:1208)
    	at org.eclipse.birt.data.engine.impl.ServiceForQueryResults.executeQuery(ServiceForQueryResults.java:233)
    	at org.eclipse.birt.data.engine.impl.QueryResults.getResultIterator(QueryResults.java:178)
    	at org.eclipse.birt.report.engine.data.dte.QueryResultSet.<init>(QueryResultSet.java:98)
    	at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:168)
    	at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:275)
    	at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)
    	at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)
    	at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)
    	at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)
    	at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)
    	at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)
    	at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)
    	at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)
    	at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)
    	at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:181)
    	... 2 more
    comme vous remarquez l'execution s'arrete au niveau de task.run()

    J'ai importé les jars de Report engine du fichier runtime_xxx

    S'il y a des eventuelles erreurs dans le code priere de me les corriger

    Merci d'avance

  2. #2
    Candidat au Club
    Homme Profil pro
    Développement
    Inscrit en
    Mai 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 32
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développement
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 3
    Points : 4
    Points
    4
    Par défaut
    Voilà .. j'ai trouvé la solution

    L'erreur était dans le fichier .rptdesign je devais declarer la datasource en chemin absolu ( il s'agit d'une datasource type xml )

    Maintenant le code marche tres bien

    Merci

  3. #3
    Candidat au Club
    Inscrit en
    Juillet 2013
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Juillet 2013
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Intégration de BIRT dans un projet java
    Pouvez vous m' expliquer clairement comment vous avez réglé le problème? Cela fait 3 jours que je cherche la solution.
    S'il vous plait !

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

Discussions similaires

  1. [XCode] Intégration de l'exemple jni dans un projet java existant
    Par Battant dans le forum XCode
    Réponses: 1
    Dernier message: 21/09/2011, 20h56
  2. Réponses: 0
    Dernier message: 23/04/2011, 17h56
  3. Réponses: 8
    Dernier message: 03/02/2011, 17h42
  4. Intégration de Birt dans un projet Java
    Par beloge2002 dans le forum BIRT
    Réponses: 6
    Dernier message: 26/11/2008, 18h45
  5. Réponses: 6
    Dernier message: 14/11/2007, 17h47

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