Skip to main content



      Home
Home » Archived » BIRT » BIRT 2.2 Simple Example RunAndRenderTask
BIRT 2.2 Simple Example RunAndRenderTask [message #254445] Tue, 04 September 2007 16:00 Go to next message
Eclipse UserFriend
Originally posted by: calmacroi.myrddin.ch

hi

i've worked with birt 2.0.1. now i try to use birt 2.2.0. i get crazy
cause i just tried a simple example and it doesnt work.
thanks for any help.

here is my example code:



import java.util.HashMap;
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.HTMLRenderContext;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
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.impl.ReportEngine;

public class BirtTest {


public BirtTest() {

}

public static void main(String[] args) {
BirtTest test = new BirtTest();
test.createEngine();
}


public void createReport(IReportEngine engine) throws EngineException{
// Open a report design - use design to modify design, retrieve
embedded images etc.
IReportRunnable design =
engine.openReportDesign("D:/temp/PS4Report.rptdesign");

// Create task to run the report and render the report
IRunAndRenderTask task = engine.createRunAndRenderTask(design);

// Set Render context to handle url and image locataions
HTMLRenderContext renderContext = new HTMLRenderContext();
renderContext.setImageDirectory("image");
HashMap contextMap = new HashMap();
contextMap.put( EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT,
renderContext );
task.setAppContext( contextMap );

// Set rendering options - such as file or stream output,
// output format, whether it is embeddable, etc
HTMLRenderOption options = new HTMLRenderOption();
// options.setOutputStream(System.out);
options.setOutputFileName("d:/temp/report.html");
options.setOutputFormat("html");
task.setRenderOption(options);

task.run();
}

public void createEngine() {
EngineConfig config = null;
ReportEngine engine = null;
try{
config = new EngineConfig( );
config.setEngineHome( "D:/Java/birt-runtime-2_2_0/ReportEngine" );
config.setLogConfig("d:/temp", Level.FINE);

Platform.startup( config );
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject(
IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
engine = (ReportEngine)factory.createReportEngine( config );
engine.changeLogLevel( Level.WARNING );

}catch( Exception ex){
ex.printStackTrace();
}
try
{
// Run reports, etc.
createReport(engine);

// Shut down the engine.

engine.shutdown();
Platform.shutdown();
}
catch ( EngineException e1 )
{
// Ignore
}
}
}
Re: BIRT 2.2 Simple Example RunAndRenderTask [message #254454 is a reply to message #254445] Tue, 04 September 2007 16:59 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.alltel.net

Patrick,

Make sure you updated your libs in your build path to point to the 2.2
libs. Here is an example of the runandrender task that works in my
environment.

Jason

package REAPI;



import java.util.HashMap;
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.HTMLActionHandler;
import org.eclipse.birt.report.engine.api.HTMLRenderOption;
import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;
import org.eclipse.birt.report.engine.api.HTMLCompleteImageHandler;

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;




public class RunAndRenderTask {

public void runReport() throws EngineException
{

IReportEngine engine=null;
EngineConfig config = null;

try{
//System.setProperty("java.io.tmpdir", "c:/temp/test/testsampledb");
config = new EngineConfig( );

config.setBIRTHome(" C:\\birt\\birt-runtime-2_2_0\\birt-runtime-2_2_0\\ReportEngi ne ");
config.setLogConfig("c:/temp/test", Level.FINEST);
Platform.startup( config );
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject(
IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
engine = factory.createReportEngine( config );


IReportRunnable design = null;
//Open the report design
design = engine.openReportDesign("Reports/TopNPercent.rptdesign");



//Create task to run and render the report,
IRunAndRenderTask task = engine.createRunAndRenderTask(design);
task.setParameterValue("Top Percentage", (new Integer(3)));;
task.setParameterValue("Top Count", (new Integer(5)));

//task.validateParameters();

HTMLRenderOption options = new HTMLRenderOption();
options.setOutputFileName("output/resample/TopNPercent.html ");
options.setOutputFormat("html");
options.setHtmlRtLFlag(false);
options.setEmbeddable(false);


options.setImageDirectory("C:\\apps\\apache-tomcat-5.5.20\\webapps\\2.2\\images ");
options.setBaseImageURL("http://localhost:8080/2.2/images/");

//ImageHandlerTest
options.setImageHandler(new MyImageHandler());
//options.setImageHandler(new HTMLServerImageHandler());
//options.setImageHandler(new HTMLCompleteImageHandler());
//options.setBaseImageURL("http://localhost/imageGetter?");
task.setRenderOption(options);



//CancelReport cancelThread = new CancelReport( "cancelReport", task);
//cancelThread.start();
//long beginTime = System.currentTimeMillis();
task.run();
//long endTime = System.currentTimeMillis();
//long timeSpan = endTime - beginTime;
//System.out.println("Report Runtime: " + timeSpan);
//int teststatus = task.getStatus();
//if( teststatus == 4){
// System.out.println("Report was cancelled");
//}
task.close();


//Create task to run and render the report,
//task = engine.createRunAndRenderTask(design);
//task.setParameterValue("Top Percentage", (new Integer(3)));
//task.setParameterValue("Top Count", (new Integer(5)));
//task.validateParameters();
//task.setRenderOption(options);


//beginTime = System.currentTimeMillis();
//task.run();
//endTime = System.currentTimeMillis();
//timeSpan = endTime - beginTime;
//System.out.println("Report Runtime: " + timeSpan);
//teststatus = task.getStatus();
//if( teststatus == 2){
// System.out.println("Report Completed");
//}

//task.close();




engine.destroy();
}catch( Exception ex){
ex.printStackTrace();
}
finally
{
Platform.shutdown( );
System.out.println("Finished");
}

}


/**
* @param args
*/
public static void main(String[] args) {
try
{

RunAndRenderTask ex = new RunAndRenderTask( );
ex.runReport();

}
catch ( Exception e )
{
e.printStackTrace();
}
}
private class CancelReport extends Thread
{
private IRunAndRenderTask rTask;
public CancelReport( String threadName, IRunAndRenderTask task){
super(threadName);
rTask = task;

}
public void run()
{
try{
Thread.currentThread().sleep( 100 );
rTask.cancel();
System.out.println("######Report Cancelled#######");

}
catch(Exception e)
{
e.printStackTrace();
}
}
}


}




Patrick wrote:
> hi
>
> i've worked with birt 2.0.1. now i try to use birt 2.2.0. i get crazy
> cause i just tried a simple example and it doesnt work.
> thanks for any help.
>
> here is my example code:
>
>
>
> import java.util.HashMap;
> 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.HTMLRenderContext;
> import org.eclipse.birt.report.engine.api.HTMLRenderOption;
> 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.impl.ReportEngine;
>
> public class BirtTest {
>
>
> public BirtTest() {
>
> }
>
> public static void main(String[] args) {
> BirtTest test = new BirtTest();
> test.createEngine();
> }
>
>
> public void createReport(IReportEngine engine) throws EngineException{
> // Open a report design - use design to modify design, retrieve
> embedded images etc.
> IReportRunnable design =
> engine.openReportDesign("D:/temp/PS4Report.rptdesign");
>
> // Create task to run the report and render the report
> IRunAndRenderTask task = engine.createRunAndRenderTask(design);
>
> // Set Render context to handle url and image locataions
> HTMLRenderContext renderContext = new HTMLRenderContext();
> renderContext.setImageDirectory("image");
> HashMap contextMap = new HashMap();
> contextMap.put( EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT,
> renderContext );
> task.setAppContext( contextMap );
>
> // Set rendering options - such as file or stream output,
> // output format, whether it is embeddable, etc
> HTMLRenderOption options = new HTMLRenderOption();
> // options.setOutputStream(System.out);
> options.setOutputFileName("d:/temp/report.html");
> options.setOutputFormat("html");
> task.setRenderOption(options);
>
> task.run();
> }
>
> public void createEngine() {
> EngineConfig config = null;
> ReportEngine engine = null;
> try{
> config = new EngineConfig( );
> config.setEngineHome(
> "D:/Java/birt-runtime-2_2_0/ReportEngine" );
> config.setLogConfig("d:/temp", Level.FINE);
>
> Platform.startup( config );
> IReportEngineFactory factory = (IReportEngineFactory) Platform
> .createFactoryObject(
> IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
> engine = (ReportEngine)factory.createReportEngine( config );
> engine.changeLogLevel( Level.WARNING );
>
> }catch( Exception ex){
> ex.printStackTrace();
> }
> try
> {
> // Run reports, etc.
> createReport(engine);
>
> // Shut down the engine.
>
> engine.shutdown();
> Platform.shutdown();
> }
> catch ( EngineException e1 )
> {
> // Ignore
> }
> }
> }
Re: BIRT 2.2 Simple Example RunAndRenderTask [message #254527 is a reply to message #254454] Wed, 05 September 2007 05:47 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: calmacroi.myrddin.ch

hi jason

thanks for your example, but in my environment it doesnt work. the
exception appears:

----snipp snipp
------------------------------------------------------------ ------------------------------------------------------------ -------------------------------------------------------

05.09.2007 11:39:33
org.eclipse.birt.report.data.oda.sampledb.SampledbPlugin start
INFO: Sampledb plugin starts up. Current startCount=0
05.09.2007 11:39:33
org.eclipse.birt.report.data.oda.sampledb.SampledbPlugin init
INFO: Creating Sampledb database at location
C:\DOCUME~1\pkistler\LOCALS~1\Temp\/BIRTSampleDB_11889851733 28_391da0
java.lang.NullPointerException
at
org.eclipse.birt.report.model.metadata.ChoicePropertyType.va lidateXml(ChoicePropertyType.java:118)
at
org.eclipse.birt.report.model.metadata.PropertyDefn.validate Xml(PropertyDefn.java:762)
at
org.eclipse.birt.report.model.metadata.PeerExtensionLoader$P eerExtensionElementLoader.loadProperty(PeerExtensionLoader.j ava:263)
at
org.eclipse.birt.report.model.metadata.PeerExtensionLoader$P eerExtensionElementLoader.loadElement(PeerExtensionLoader.ja va:162)
at
org.eclipse.birt.report.model.metadata.PeerExtensionLoader.l oadExtension(PeerExtensionLoader.java:75)
at
org.eclipse.birt.report.model.metadata.ExtensionLoader.doLoa d(ExtensionLoader.java:135)
at
org.eclipse.birt.report.model.metadata.ExtensionLoader.load( ExtensionLoader.java:72)
at
org.eclipse.birt.report.model.metadata.ExtensionManager.init ialize(ExtensionManager.java:39)
at
org.eclipse.birt.report.model.api.impl.DesignEngineImpl.init ialize(DesignEngineImpl.java:99)
at
org.eclipse.birt.report.model.api.impl.DesignEngineImpl.newS essionHandle(DesignEngineImpl.java:142)
at
org.eclipse.birt.report.model.api.DesignEngine.newSessionHan dle(DesignEngine.java:106)
at
org.eclipse.birt.report.model.api.DesignEngine.newSession(De signEngine.java:128)
at
org.eclipse.birt.report.engine.parser.ReportParser.getDesign Handle(ReportParser.java:144)
at
org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:243)
at
org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:191)
at
org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:125)
at
org.eclipse.birt.report.engine.api.impl.ReportEngine.openRep ortDesign(ReportEngine.java:235)
at ch.spf.PS4Gui.Report.RunReport.runReport(RunReport.java:55)
at ch.spf.PS4Gui.Report.RunReport.main(RunReport.java:95)
Finished
----snipp snipp
------------------------------------------------------------ ------------------------------------------------------------ -------------------------------------------------------

please help me, i get crazy using birt... thanks very much for further help!

the only reason to update is that in birt 2.0.1 sometimes a part of the
pdf report will not be displayed and the SaxParser sometimes throws an
exception (i use xmldatasource)

it got my code working in my project but then the most part of the
report doesnt appear (may cause of the old design file?)
i ordered your book, but this is defined for birt 2.1.x i guess.

we are thinking about not using birt or actuate birt at all because for
our xml input it takes about 60s to generate a report and i never had so
much problems to get an external software working.

regs patrick




Jason Weathersby schrieb:
> Patrick,
>
> Make sure you updated your libs in your build path to point to the 2.2
> libs. Here is an example of the runandrender task that works in my
> environment.
>
> Jason
>
> package REAPI;
>
>
>
> import java.util.HashMap;
> 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.HTMLActionHandler;
> import org.eclipse.birt.report.engine.api.HTMLRenderOption;
> import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;
> import org.eclipse.birt.report.engine.api.HTMLCompleteImageHandler;
>
> 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;
>
>
>
>
> public class RunAndRenderTask {
>
> public void runReport() throws EngineException
> {
>
> IReportEngine engine=null;
> EngineConfig config = null;
>
> try{
> //System.setProperty("java.io.tmpdir",
> "c:/temp/test/testsampledb");
> config = new EngineConfig( );
>
> config.setBIRTHome(" C:\\birt\\birt-runtime-2_2_0\\birt-runtime-2_2_0\\ReportEngi ne ");
>
> config.setLogConfig("c:/temp/test", Level.FINEST);
> Platform.startup( config );
> IReportEngineFactory factory = (IReportEngineFactory) Platform
> .createFactoryObject(
> IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
> engine = factory.createReportEngine( config );
>
>
> IReportRunnable design = null;
> //Open the report design
> design = engine.openReportDesign("Reports/TopNPercent.rptdesign");
>
>
>
> //Create task to run and render the report,
> IRunAndRenderTask task =
> engine.createRunAndRenderTask(design);
> task.setParameterValue("Top Percentage", (new Integer(3)));;
> task.setParameterValue("Top Count", (new Integer(5)));
>
> //task.validateParameters();
>
> HTMLRenderOption options = new HTMLRenderOption();
> options.setOutputFileName("output/resample/TopNPercent.html ");
> options.setOutputFormat("html");
> options.setHtmlRtLFlag(false);
> options.setEmbeddable(false);
>
>
> options.setImageDirectory("C:\\apps\\apache-tomcat-5.5.20\\webapps\\2.2\\images ");
>
> options.setBaseImageURL("http://localhost:8080/2.2/images/");
>
> //ImageHandlerTest
> options.setImageHandler(new MyImageHandler());
> //options.setImageHandler(new HTMLServerImageHandler());
> //options.setImageHandler(new HTMLCompleteImageHandler());
> //options.setBaseImageURL("http://localhost/imageGetter?");
> task.setRenderOption(options);
>
>
>
> //CancelReport cancelThread = new CancelReport( "cancelReport",
> task);
> //cancelThread.start();
> //long beginTime = System.currentTimeMillis();
> task.run();
> //long endTime = System.currentTimeMillis();
> //long timeSpan = endTime - beginTime;
> //System.out.println("Report Runtime: " + timeSpan);
> //int teststatus = task.getStatus();
> //if( teststatus == 4){
> // System.out.println("Report was cancelled");
> //}
> task.close();
>
>
> //Create task to run and render the report,
> //task = engine.createRunAndRenderTask(design);
> //task.setParameterValue("Top Percentage", (new Integer(3)));
> //task.setParameterValue("Top Count", (new Integer(5)));
> //task.validateParameters();
> //task.setRenderOption(options);
>
>
> //beginTime = System.currentTimeMillis();
> //task.run();
> //endTime = System.currentTimeMillis();
> //timeSpan = endTime - beginTime;
> //System.out.println("Report Runtime: " + timeSpan);
> //teststatus = task.getStatus();
> //if( teststatus == 2){
> // System.out.println("Report Completed");
> //}
>
> //task.close();
>
>
>
>
> engine.destroy();
> }catch( Exception ex){
> ex.printStackTrace();
> }
> finally
> {
> Platform.shutdown( );
> System.out.println("Finished");
> }
>
> }
>
>
> /**
> * @param args
> */
> public static void main(String[] args) {
> try
> {
>
> RunAndRenderTask ex = new RunAndRenderTask( );
> ex.runReport();
>
> }
> catch ( Exception e )
> {
> e.printStackTrace();
> }
> }
> private class CancelReport extends Thread
> {
> private IRunAndRenderTask rTask;
> public CancelReport( String threadName, IRunAndRenderTask task){
> super(threadName);
> rTask = task;
>
> }
> public void run()
> {
> try{
> Thread.currentThread().sleep( 100 );
> rTask.cancel();
> System.out.println("######Report Cancelled#######");
>
> }
> catch(Exception e)
> {
> e.printStackTrace();
> }
> }
> }
>
>
> }
>
>
>
>
> Patrick wrote:
>> hi
>>
>> i've worked with birt 2.0.1. now i try to use birt 2.2.0. i get crazy
>> cause i just tried a simple example and it doesnt work.
>> thanks for any help.
>>
>> here is my example code:
>>
>>
>>
>> import java.util.HashMap;
>> 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.HTMLRenderContext;
>> import org.eclipse.birt.report.engine.api.HTMLRenderOption;
>> 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.impl.ReportEngine;
>>
>> public class BirtTest {
>>
>> public BirtTest() {
>> }
>> public static void main(String[] args) {
>> BirtTest test = new BirtTest();
>> test.createEngine();
>> }
>> public void createReport(IReportEngine engine) throws
>> EngineException{
>> // Open a report design - use design to modify design, retrieve
>> embedded images etc.
>> IReportRunnable design =
>> engine.openReportDesign("D:/temp/PS4Report.rptdesign");
>> // Create task to run the report and render the
>> report
>> IRunAndRenderTask task = engine.createRunAndRenderTask(design);
>> // Set Render context to handle url and image
>> locataions
>> HTMLRenderContext renderContext = new HTMLRenderContext();
>> renderContext.setImageDirectory("image");
>> HashMap contextMap = new HashMap();
>> contextMap.put(
>> EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT, renderContext );
>> task.setAppContext( contextMap );
>> // Set rendering options - such as file or
>> stream output,
>> // output format, whether it is embeddable, etc
>> HTMLRenderOption options = new HTMLRenderOption();
>> // options.setOutputStream(System.out);
>> options.setOutputFileName("d:/temp/report.html");
>> options.setOutputFormat("html");
>> task.setRenderOption(options);
>> task.run();
>> }
>> public void createEngine() {
>> EngineConfig config = null;
>> ReportEngine engine = null;
>> try{
>> config = new EngineConfig( );
>> config.setEngineHome(
>> "D:/Java/birt-runtime-2_2_0/ReportEngine" );
>> config.setLogConfig("d:/temp", Level.FINE);
>> Platform.startup( config );
>> IReportEngineFactory factory = (IReportEngineFactory)
>> Platform
>> .createFactoryObject(
>> IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
>> engine = (ReportEngine)factory.createReportEngine( config );
>> engine.changeLogLevel( Level.WARNING );
>> }catch( Exception ex){
>> ex.printStackTrace();
>> }
>> try
>> {
>> // Run reports, etc.
>> createReport(engine);
>>
>> // Shut down the engine.
>> engine.shutdown();
>> Platform.shutdown();
>> }
>> catch ( EngineException e1 )
>> {
>> // Ignore
>> }
>> }
>> }
Re: BIRT 2.2 Simple Example RunAndRenderTask [message #254564 is a reply to message #254527] Wed, 05 September 2007 19:50 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: jasonweathersby.alltel.net

Patrick,

Can you post the report?
Can you also open a bugzilla entry for the report?

Jason

Patrick wrote:
> hi jason
>
> thanks for your example, but in my environment it doesnt work. the
> exception appears:
>
> ----snipp snipp
> ------------------------------------------------------------ ------------------------------------------------------------ -------------------------------------------------------
>
>
> 05.09.2007 11:39:33
> org.eclipse.birt.report.data.oda.sampledb.SampledbPlugin start
> INFO: Sampledb plugin starts up. Current startCount=0
> 05.09.2007 11:39:33
> org.eclipse.birt.report.data.oda.sampledb.SampledbPlugin init
> INFO: Creating Sampledb database at location
> C:\DOCUME~1\pkistler\LOCALS~1\Temp\/BIRTSampleDB_11889851733 28_391da0
> java.lang.NullPointerException
> at
> org.eclipse.birt.report.model.metadata.ChoicePropertyType.va lidateXml(ChoicePropertyType.java:118)
>
> at
> org.eclipse.birt.report.model.metadata.PropertyDefn.validate Xml(PropertyDefn.java:762)
>
> at
> org.eclipse.birt.report.model.metadata.PeerExtensionLoader$P eerExtensionElementLoader.loadProperty(PeerExtensionLoader.j ava:263)
>
> at
> org.eclipse.birt.report.model.metadata.PeerExtensionLoader$P eerExtensionElementLoader.loadElement(PeerExtensionLoader.ja va:162)
>
> at
> org.eclipse.birt.report.model.metadata.PeerExtensionLoader.l oadExtension(PeerExtensionLoader.java:75)
>
> at
> org.eclipse.birt.report.model.metadata.ExtensionLoader.doLoa d(ExtensionLoader.java:135)
>
> at
> org.eclipse.birt.report.model.metadata.ExtensionLoader.load( ExtensionLoader.java:72)
>
> at
> org.eclipse.birt.report.model.metadata.ExtensionManager.init ialize(ExtensionManager.java:39)
>
> at
> org.eclipse.birt.report.model.api.impl.DesignEngineImpl.init ialize(DesignEngineImpl.java:99)
>
> at
> org.eclipse.birt.report.model.api.impl.DesignEngineImpl.newS essionHandle(DesignEngineImpl.java:142)
>
> at
> org.eclipse.birt.report.model.api.DesignEngine.newSessionHan dle(DesignEngine.java:106)
>
> at
> org.eclipse.birt.report.model.api.DesignEngine.newSession(De signEngine.java:128)
>
> at
> org.eclipse.birt.report.engine.parser.ReportParser.getDesign Handle(ReportParser.java:144)
>
> at
> org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:243)
>
> at
> org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:191)
>
> at
> org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:125)
>
> at
> org.eclipse.birt.report.engine.api.impl.ReportEngine.openRep ortDesign(ReportEngine.java:235)
>
> at ch.spf.PS4Gui.Report.RunReport.runReport(RunReport.java:55)
> at ch.spf.PS4Gui.Report.RunReport.main(RunReport.java:95)
> Finished
> ----snipp snipp
> ------------------------------------------------------------ ------------------------------------------------------------ -------------------------------------------------------
>
>
> please help me, i get crazy using birt... thanks very much for further
> help!
>
> the only reason to update is that in birt 2.0.1 sometimes a part of the
> pdf report will not be displayed and the SaxParser sometimes throws an
> exception (i use xmldatasource)
>
> it got my code working in my project but then the most part of the
> report doesnt appear (may cause of the old design file?)
> i ordered your book, but this is defined for birt 2.1.x i guess.
>
> we are thinking about not using birt or actuate birt at all because for
> our xml input it takes about 60s to generate a report and i never had so
> much problems to get an external software working.
>
> regs patrick
>
>
>
>
> Jason Weathersby schrieb:
>> Patrick,
>>
>> Make sure you updated your libs in your build path to point to the 2.2
>> libs. Here is an example of the runandrender task that works in my
>> environment.
>>
>> Jason
>>
>> package REAPI;
>>
>>
>>
>> import java.util.HashMap;
>> 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.HTMLActionHandler;
>> import org.eclipse.birt.report.engine.api.HTMLRenderOption;
>> import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;
>> import org.eclipse.birt.report.engine.api.HTMLCompleteImageHandler;
>>
>> 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;
>>
>>
>>
>>
>> public class RunAndRenderTask {
>>
>> public void runReport() throws EngineException
>> {
>>
>> IReportEngine engine=null;
>> EngineConfig config = null;
>>
>> try{
>> //System.setProperty("java.io.tmpdir",
>> "c:/temp/test/testsampledb"); config = new EngineConfig(
>> );
>> config.setBIRTHome(" C:\\birt\\birt-runtime-2_2_0\\birt-runtime-2_2_0\\ReportEngi ne ");
>>
>> config.setLogConfig("c:/temp/test", Level.FINEST);
>> Platform.startup( config );
>> IReportEngineFactory factory = (IReportEngineFactory)
>> Platform
>> .createFactoryObject(
>> IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
>> engine = factory.createReportEngine( config );
>>
>> IReportRunnable design = null;
>> //Open the report design
>> design =
>> engine.openReportDesign("Reports/TopNPercent.rptdesign");
>>
>>
>> //Create task to run and render the report,
>> IRunAndRenderTask task =
>> engine.createRunAndRenderTask(design);
>> task.setParameterValue("Top Percentage", (new Integer(3)));;
>> task.setParameterValue("Top Count", (new Integer(5)));
>>
>> //task.validateParameters();
>> HTMLRenderOption options = new
>> HTMLRenderOption();
>> options.setOutputFileName("output/resample/TopNPercent.html ");
>> options.setOutputFormat("html");
>> options.setHtmlRtLFlag(false);
>> options.setEmbeddable(false);
>>
>> options.setImageDirectory("C:\\apps\\apache-tomcat-5.5.20\\webapps\\2.2\\images ");
>>
>> options.setBaseImageURL("http://localhost:8080/2.2/images/");
>> //ImageHandlerTest
>> options.setImageHandler(new MyImageHandler());
>> //options.setImageHandler(new HTMLServerImageHandler());
>> //options.setImageHandler(new HTMLCompleteImageHandler());
>> //options.setBaseImageURL("http://localhost/imageGetter?");
>> task.setRenderOption(options);
>>
>> //CancelReport cancelThread = new CancelReport(
>> "cancelReport", task);
>> //cancelThread.start();
>> //long beginTime = System.currentTimeMillis();
>> task.run();
>> //long endTime = System.currentTimeMillis();
>> //long timeSpan = endTime - beginTime;
>> //System.out.println("Report Runtime: " + timeSpan);
>> //int teststatus = task.getStatus();
>> //if( teststatus == 4){
>> // System.out.println("Report was cancelled");
>> //}
>> task.close();
>>
>> //Create task to run and render the report,
>> //task = engine.createRunAndRenderTask(design);
>> //task.setParameterValue("Top Percentage", (new Integer(3)));
>> //task.setParameterValue("Top Count", (new Integer(5)));
>> //task.validateParameters();
>> //task.setRenderOption(options);
>> //beginTime = System.currentTimeMillis();
>> //task.run();
>> //endTime = System.currentTimeMillis();
>> //timeSpan = endTime - beginTime;
>> //System.out.println("Report Runtime: " + timeSpan);
>> //teststatus = task.getStatus();
>> //if( teststatus == 2){
>> // System.out.println("Report Completed");
>> //} //task.close();
>>
>> engine.destroy();
>> }catch( Exception ex){
>> ex.printStackTrace();
>> } finally
>> {
>> Platform.shutdown( );
>> System.out.println("Finished");
>> }
>> }
>>
>> /**
>> * @param args
>> */
>> public static void main(String[] args) {
>> try
>> {
>>
>> RunAndRenderTask ex = new RunAndRenderTask( );
>> ex.runReport();
>>
>> }
>> catch ( Exception e )
>> {
>> e.printStackTrace();
>> }
>> }
>> private class CancelReport extends Thread
>> {
>> private IRunAndRenderTask rTask;
>> public CancelReport( String threadName, IRunAndRenderTask task){
>> super(threadName);
>> rTask = task;
>> }
>> public void run()
>> {
>> try{
>> Thread.currentThread().sleep( 100 );
>> rTask.cancel();
>> System.out.println("######Report Cancelled#######");
>> }
>> catch(Exception e)
>> {
>> e.printStackTrace();
>> }
>> }
>> }
>> }
>>
>>
>>
>>
>> Patrick wrote:
>>> hi
>>>
>>> i've worked with birt 2.0.1. now i try to use birt 2.2.0. i get crazy
>>> cause i just tried a simple example and it doesnt work.
>>> thanks for any help.
>>>
>>> here is my example code:
>>>
>>>
>>>
>>> import java.util.HashMap;
>>> 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.HTMLRenderContext;
>>> import org.eclipse.birt.report.engine.api.HTMLRenderOption;
>>> 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.impl.ReportEngine;
>>>
>>> public class BirtTest {
>>>
>>> public BirtTest() {
>>> }
>>> public static void main(String[] args) {
>>> BirtTest test = new BirtTest();
>>> test.createEngine();
>>> }
>>> public void createReport(IReportEngine engine) throws
>>> EngineException{
>>> // Open a report design - use design to modify design,
>>> retrieve embedded images etc.
>>> IReportRunnable design =
>>> engine.openReportDesign("D:/temp/PS4Report.rptdesign");
>>> // Create task to run the report and render the
>>> report
>>> IRunAndRenderTask task = engine.createRunAndRenderTask(design);
>>> // Set Render context to handle url and image
>>> locataions
>>> HTMLRenderContext renderContext = new HTMLRenderContext();
>>> renderContext.setImageDirectory("image");
>>> HashMap contextMap = new HashMap();
>>> contextMap.put(
>>> EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT, renderContext );
>>> task.setAppContext( contextMap );
>>> // Set rendering options - such as file or
>>> stream output,
>>> // output format, whether it is embeddable, etc
>>> HTMLRenderOption options = new HTMLRenderOption();
>>> // options.setOutputStream(System.out);
>>> options.setOutputFileName("d:/temp/report.html");
>>> options.setOutputFormat("html");
>>> task.setRenderOption(options);
>>> task.run();
>>> }
>>> public void createEngine() {
>>> EngineConfig config = null;
>>> ReportEngine engine = null;
>>> try{
>>> config = new EngineConfig( );
>>> config.setEngineHome(
>>> "D:/Java/birt-runtime-2_2_0/ReportEngine" );
>>> config.setLogConfig("d:/temp", Level.FINE);
>>> Platform.startup( config );
>>> IReportEngineFactory factory = (IReportEngineFactory)
>>> Platform
>>> .createFactoryObject(
>>> IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
>>> engine = (ReportEngine)factory.createReportEngine( config );
>>> engine.changeLogLevel( Level.WARNING );
>>> }catch( Exception ex){
>>> ex.printStackTrace();
>>> }
>>> try
>>> {
>>> // Run reports, etc.
>>> createReport(engine);
>>>
>>> // Shut down the engine.
>>> engine.shutdown();
>>> Platform.shutdown();
>>> }
>>> catch ( EngineException e1 )
>>> {
>>> // Ignore
>>> }
>>> }
>>> }
Re: BIRT 2.2 Simple Example RunAndRenderTask [message #254592 is a reply to message #254564] Thu, 06 September 2007 03:22 Go to previous messageGo to next message
Eclipse UserFriend
Originally posted by: calmacroi.myrddin.ch

This is a multi-part message in MIME format.
--------------030306050505080102080504
Content-Type: text/plain; charset=ISO-8859-15; format=flowed
Content-Transfer-Encoding: 7bit

hi jason
here is the report and the releated xml source. the thing with

>> the only reason to update is that in birt 2.0.1 sometimes a part of
>> the pdf report will not be displayed and the SaxParser sometimes
>> throws an exception (i use xmldatasource)

that happend with birt 2.0.1 and i hope it doesn't with the actual version.
so does it make sense to open a ticket for a bug in 2.0.1 as long as it
doesn't happen with the actual birt?

thanks much for your help
regs
patrick




Jason Weathersby schrieb:
> Patrick,
>
> Can you post the report?
> Can you also open a bugzilla entry for the report?
>
> Jason
>
> Patrick wrote:
>> hi jason
>>
>> thanks for your example, but in my environment it doesnt work. the
>> exception appears:
>>
>> ----snipp snipp
>> ------------------------------------------------------------ ------------------------------------------------------------ -------------------------------------------------------
>>
>>
>> 05.09.2007 11:39:33
>> org.eclipse.birt.report.data.oda.sampledb.SampledbPlugin start
>> INFO: Sampledb plugin starts up. Current startCount=0
>> 05.09.2007 11:39:33
>> org.eclipse.birt.report.data.oda.sampledb.SampledbPlugin init
>> INFO: Creating Sampledb database at location
>> C:\DOCUME~1\pkistler\LOCALS~1\Temp\/BIRTSampleDB_11889851733 28_391da0
>> java.lang.NullPointerException
>> at
>> org.eclipse.birt.report.model.metadata.ChoicePropertyType.va lidateXml(ChoicePropertyType.java:118)
>>
>> at
>> org.eclipse.birt.report.model.metadata.PropertyDefn.validate Xml(PropertyDefn.java:762)
>>
>> at
>> org.eclipse.birt.report.model.metadata.PeerExtensionLoader$P eerExtensionElementLoader.loadProperty(PeerExtensionLoader.j ava:263)
>>
>> at
>> org.eclipse.birt.report.model.metadata.PeerExtensionLoader$P eerExtensionElementLoader.loadElement(PeerExtensionLoader.ja va:162)
>>
>> at
>> org.eclipse.birt.report.model.metadata.PeerExtensionLoader.l oadExtension(PeerExtensionLoader.java:75)
>>
>> at
>> org.eclipse.birt.report.model.metadata.ExtensionLoader.doLoa d(ExtensionLoader.java:135)
>>
>> at
>> org.eclipse.birt.report.model.metadata.ExtensionLoader.load( ExtensionLoader.java:72)
>>
>> at
>> org.eclipse.birt.report.model.metadata.ExtensionManager.init ialize(ExtensionManager.java:39)
>>
>> at
>> org.eclipse.birt.report.model.api.impl.DesignEngineImpl.init ialize(DesignEngineImpl.java:99)
>>
>> at
>> org.eclipse.birt.report.model.api.impl.DesignEngineImpl.newS essionHandle(DesignEngineImpl.java:142)
>>
>> at
>> org.eclipse.birt.report.model.api.DesignEngine.newSessionHan dle(DesignEngine.java:106)
>>
>> at
>> org.eclipse.birt.report.model.api.DesignEngine.newSession(De signEngine.java:128)
>>
>> at
>> org.eclipse.birt.report.engine.parser.ReportParser.getDesign Handle(ReportParser.java:144)
>>
>> at
>> org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:243)
>>
>> at
>> org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:191)
>>
>> at
>> org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:125)
>>
>> at
>> org.eclipse.birt.report.engine.api.impl.ReportEngine.openRep ortDesign(ReportEngine.java:235)
>>
>> at ch.spf.PS4Gui.Report.RunReport.runReport(RunReport.java:55)
>> at ch.spf.PS4Gui.Report.RunReport.main(RunReport.java:95)
>> Finished
>> ----snipp snipp
>> ------------------------------------------------------------ ------------------------------------------------------------ -------------------------------------------------------
>>
>>
>> please help me, i get crazy using birt... thanks very much for further
>> help!
>>
>> the only reason to update is that in birt 2.0.1 sometimes a part of
>> the pdf report will not be displayed and the SaxParser sometimes
>> throws an exception (i use xmldatasource)
>>
>> it got my code working in my project but then the most part of the
>> report doesnt appear (may cause of the old design file?)
>> i ordered your book, but this is defined for birt 2.1.x i guess.
>>
>> we are thinking about not using birt or actuate birt at all because
>> for our xml input it takes about 60s to generate a report and i never
>> had so much problems to get an external software working.
>>
>> regs patrick
>>
>>
>>
>>
>> Jason Weathersby schrieb:
>>> Patrick,
>>>
>>> Make sure you updated your libs in your build path to point to the
>>> 2.2 libs. Here is an example of the runandrender task that works in
>>> my environment.
>>>
>>> Jason
>>>
>>> package REAPI;
>>>
>>>
>>>
>>> import java.util.HashMap;
>>> 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.HTMLActionHandler;
>>> import org.eclipse.birt.report.engine.api.HTMLRenderOption;
>>> import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;
>>> import org.eclipse.birt.report.engine.api.HTMLCompleteImageHandler;
>>>
>>> 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;
>>>
>>>
>>>
>>>
>>> public class RunAndRenderTask {
>>>
>>> public void runReport() throws EngineException
>>> {
>>>
>>> IReportEngine engine=null;
>>> EngineConfig config = null;
>>>
>>> try{
>>> //System.setProperty("java.io.tmpdir",
>>> "c:/temp/test/testsampledb"); config = new
>>> EngineConfig( );
>>> config.setBIRTHome(" C:\\birt\\birt-runtime-2_2_0\\birt-runtime-2_2_0\\ReportEngi ne ");
>>>
>>> config.setLogConfig("c:/temp/test", Level.FINEST);
>>> Platform.startup( config );
>>> IReportEngineFactory factory = (IReportEngineFactory)
>>> Platform
>>> .createFactoryObject(
>>> IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
>>> engine = factory.createReportEngine( config );
>>> IReportRunnable design = null;
>>> //Open the report design
>>> design =
>>> engine.openReportDesign("Reports/TopNPercent.rptdesign");
>>>
>>> //Create task to run and render the report,
>>> IRunAndRenderTask task =
>>> engine.createRunAndRenderTask(design);
>>> task.setParameterValue("Top Percentage", (new Integer(3)));;
>>> task.setParameterValue("Top Count", (new Integer(5)));
>>>
>>> //task.validateParameters();
>>> HTMLRenderOption options = new
>>> HTMLRenderOption();
>>> options.setOutputFileName("output/resample/TopNPercent.html ");
>>> options.setOutputFormat("html");
>>> options.setHtmlRtLFlag(false);
>>> options.setEmbeddable(false);
>>>
>>> options.setImageDirectory("C:\\apps\\apache-tomcat-5.5.20\\webapps\\2.2\\images ");
>>>
>>> options.setBaseImageURL("http://localhost:8080/2.2/images/");
>>> //ImageHandlerTest
>>> options.setImageHandler(new MyImageHandler());
>>> //options.setImageHandler(new HTMLServerImageHandler());
>>> //options.setImageHandler(new HTMLCompleteImageHandler());
>>> //options.setBaseImageURL("http://localhost/imageGetter?");
>>> task.setRenderOption(options);
>>>
>>> //CancelReport cancelThread = new CancelReport(
>>> "cancelReport", task);
>>> //cancelThread.start();
>>> //long beginTime = System.currentTimeMillis();
>>> task.run();
>>> //long endTime = System.currentTimeMillis();
>>> //long timeSpan = endTime - beginTime;
>>> //System.out.println("Report Runtime: " + timeSpan);
>>> //int teststatus = task.getStatus();
>>> //if( teststatus == 4){
>>> // System.out.println("Report was cancelled");
>>> //}
>>> task.close();
>>> //Create task to run and render the report,
>>> //task =
>>> engine.createRunAndRenderTask(design);
>>> //task.setParameterValue("Top Percentage", (new Integer(3)));
>>> //task.setParameterValue("Top Count", (new Integer(5)));
>>> //task.validateParameters();
>>> //task.setRenderOption(options);
>>> //beginTime = System.currentTimeMillis();
>>> //task.run();
>>> //endTime = System.currentTimeMillis();
>>> //timeSpan = endTime - beginTime;
>>> //System.out.println("Report Runtime: " + timeSpan);
>>> //teststatus = task.getStatus();
>>> //if( teststatus == 2){
>>> // System.out.println("Report Completed");
>>> //} //task.close();
>>> engine.destroy();
>>> }catch( Exception ex){
>>> ex.printStackTrace();
>>> } finally
>>> {
>>> Platform.shutdown( );
>>> System.out.println("Finished");
>>> }
>>> }
>>> /**
>>> * @param args
>>> */
>>> public static void main(String[] args) {
>>> try
>>> {
>>>
>>> RunAndRenderTask ex = new RunAndRenderTask( );
>>> ex.runReport();
>>>
>>> }
>>> catch ( Exception e )
>>> {
>>> e.printStackTrace();
>>> }
>>> }
>>> private class CancelReport extends Thread
>>> {
>>> private IRunAndRenderTask rTask;
>>> public CancelReport( String threadName, IRunAndRenderTask task){
>>> super(threadName);
>>> rTask = task;
>>> }
>>> public void run()
>>> {
>>> try{
>>> Thread.currentThread().sleep( 100 );
>>> rTask.cancel();
>>> System.out.println("######Report Cancelled#######");
>>> }
>>> catch(Exception e)
>>> {
>>> e.printStackTrace();
>>> }
>>> }
>>> }
>>> }
>>>
>>>
>>>
>>>
>>> Patrick wrote:
>>>> hi
>>>>
>>>> i've worked with birt 2.0.1. now i try to use birt 2.2.0. i get
>>>> crazy cause i just tried a simple example and it doesnt work.
>>>> thanks for any help.
>>>>
>>>> here is my example code:
>>>>
>>>>
>>>>
>>>> import java.util.HashMap;
>>>> 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.HTMLRenderContext;
>>>> import org.eclipse.birt.report.engine.api.HTMLRenderOption;
>>>> 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.impl.ReportEngine;
>>>>
>>>> public class BirtTest {
>>>>
>>>> public BirtTest() {
>>>> }
>>>> public static void main(String[] args) {
>>>> BirtTest test = new BirtTest();
>>>> test.createEngine();
>>>> }
>>>> public void createReport(IReportEngine engine) throws
>>>> EngineException{
>>>> // Open a report design - use design to modify design,
>>>> retrieve embedded images etc.
>>>> IReportRunnable design =
>>>> engine.openReportDesign("D:/temp/PS4Report.rptdesign");
>>>> // Create task to run the report and render
>>>> the report
>>>> IRunAndRenderTask task = engine.createRunAndRenderTask(design);
>>>> // Set Render context to handle url and image
>>>> locataions
>>>> HTMLRenderContext renderContext = new HTMLRenderContext();
>>>> renderContext.setImageDirectory("image");
>>>> HashMap contextMap = new HashMap();
>>>> contextMap.put(
>>>> EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT, renderContext );
>>>> task.setAppContext( contextMap );
>>>> // Set rendering options - such as file or
>>>> stream output,
>>>> // output format, whether it is embeddable, etc
>>>> HTMLRenderOption options = new HTMLRenderOption();
>>>> // options.setOutputStream(System.out);
>>>> options.setOutputFileName("d:/temp/report.html");
>>>> options.setOutputFormat("html");
>>>> task.setRenderOption(options);
>>>> task.run();
>>>> }
>>>> public void createEngine() {
>>>> EngineConfig config = null;
>>>> ReportEngine engine = null;
>>>> try{
>>>> config = new EngineConfig( );
>>>> config.setEngineHome(
>>>> "D:/Java/birt-runtime-2_2_0/ReportEngine" );
>>>> config.setLogConfig("d:/temp", Level.FINE);
>>>> Platform.startup( config );
>>>> IReportEngineFactory factory = (IReportEngineFactory)
>>>> Platform
>>>> .createFactoryObject(
>>>> IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
>>>> engine = (ReportEngine)factory.createReportEngine(
>>>> config );
>>>> engine.changeLogLevel( Level.WARNING );
>>>> }catch( Exception ex){
>>>> ex.printStackTrace();
>>>> }
>>>> try
>>>> {
>>>> // Run reports, etc.
>>>> createReport(engine);
>>>>
>>>> // Shut down the engine.
>>>> engine.shutdown();
>>>> Platform.shutdown();
>>>> }
>>>> catch ( EngineException e1 )
>>>> {
>>>> // Ignore
>>>> }
>>>> }
>>>> }


--------------030306050505080102080504
Content-Type: text/xml;
name="PS4Report.rptdesign"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline;
filename="PS4Report.rptdesign"

<?xml version=3D"1.0" encoding=3D"UTF-8"?>
<report xmlns=3D"http://www.eclipse.org/birt/2005/design" version=3D"3.2.=
14" id=3D"1">
<property name=3D"author">P. Kistler</property>
<property name=3D"createdBy">Eclipse BIRT Designer Version 2.0.1 Buil=
d &lt;20060222-1204></property>
<property name=3D"units">cm</property>
<method name=3D"initialize"><![CDATA[myImage =3D variantImage;]]></me=
thod>
<data-sources>
<oda-data-source extensionID=3D"org.eclipse.datatools.enablement.=
oda.xml" name=3D"ReportData" id=3D"168">
<property name=3D"FILELIST">d:\temp\ReportData.xml</property>=

</oda-data-source>
<script-data-source name=3D"Scripted Images" id=3D"482"/>
</data-sources>
<data-sets>
<oda-data-set extensionID=3D"org.eclipse.datatools.enablement.oda=
=2Exml.dataSet" name=3D"Meteodata" id=3D"259">
<structure name=3D"cachedMetaData">
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">value1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">2</property>
<property name=3D"name">value2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">3</property>
<property name=3D"name">value3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">4</property>
<property name=3D"name">value4</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">5</property>
<property name=3D"name">col1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">6</property>
<property name=3D"name">col2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">7</property>
<property name=3D"name">col3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">8</property>
<property name=3D"name">col4</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">9</property>
<property name=3D"name">tableName</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">10</property>
<property name=3D"name">sectionName</property>
<property name=3D"dataType">string</property>
</structure>
</list-property>
</structure>
<property name=3D"dataSource">ReportData</property>
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">value1</property>
<property name=3D"nativeName">value1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>

<property name=3D"position">2</property>
<property name=3D"name">value2</property>
<property name=3D"nativeName">value2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">3</property>
<property name=3D"name">value3</property>
<property name=3D"nativeName">value3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">4</property>
<property name=3D"name">value4</property>
<property name=3D"nativeName">value4</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">5</property>
<property name=3D"name">col1</property>
<property name=3D"nativeName">col1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">6</property>
<property name=3D"name">col2</property>
<property name=3D"nativeName">col2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">7</property>
<property name=3D"name">col3</property>
<property name=3D"nativeName">col3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">8</property>
<property name=3D"name">col4</property>
<property name=3D"nativeName">col4</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">9</property>
<property name=3D"name">tableName</property>
<property name=3D"nativeName">tableName</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">10</property>
<property name=3D"name">sectionName</property>
<property name=3D"nativeName">sectionName</property>
<property name=3D"dataType">string</property>
</structure>
</list-property>
<property name=3D"queryText">table0#-TNAME-#table0#:#[/report=
/section[2]/table[1]/row]#:#{value1;String;/value1},{value2; String;/value=
2},{value3;String;/value3},{value4;String;/value4},{col1;Str ing;../column=
Definition/col1},{col2;String;../columnDefinition/col2},{col 3;String;../c=
olumnDefinition/col3},{col4;String;../columnDefinition/col4} ,{tableName;S=
tring;../@name},{sectionName;String;../../@name}</property>
<list-property name=3D"privateDriverProperties">
<ex-property>
<name>MAX_ROW</name>
<value>-1</value>
</ex-property>
<ex-property>
<name>XML_FILE</name>
<value>d:\temp\ReportData.xml</value>
</ex-property>
</list-property>
</oda-data-set>
<oda-data-set extensionID=3D"org.eclipse.datatools.enablement.oda=
=2Exml.dataSet" name=3D"Verbraucher" id=3D"266">
<structure name=3D"cachedMetaData">
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">col1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">2</property>
<property name=3D"name">value1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">3</property>
<property name=3D"name">value2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">4</property>
<property name=3D"name">value3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">5</property>
<property name=3D"name">value4</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">6</property>
<property name=3D"name">value5</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">7</property>
<property name=3D"name">value6</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">8</property>
<property name=3D"name">col2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">9</property>
<property name=3D"name">col3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">10</property>
<property name=3D"name">col4</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">11</property>
<property name=3D"name">col5</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">12</property>
<property name=3D"name">col6</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">13</property>
<property name=3D"name">tableName</property>
<property name=3D"dataType">string</property>
</structure>
</list-property>
</structure>
<property name=3D"dataSource">ReportData</property>
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">col1</property>
<property name=3D"nativeName">col1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">2</property>
<property name=3D"name">value1</property>
<property name=3D"nativeName">value1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">3</property>
<property name=3D"name">value2</property>
<property name=3D"nativeName">value2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">4</property>
<property name=3D"name">value3</property>
<property name=3D"nativeName">value3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">5</property>
<property name=3D"name">value4</property>
<property name=3D"nativeName">value4</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">6</property>
<property name=3D"name">value5</property>
<property name=3D"nativeName">value5</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">7</property>
<property name=3D"name">value6</property>
<property name=3D"nativeName">value6</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">8</property>
<property name=3D"name">col2</property>
<property name=3D"nativeName">col2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">9</property>
<property name=3D"name">col3</property>
<property name=3D"nativeName">col3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">10</property>
<property name=3D"name">col4</property>
<property name=3D"nativeName">col4</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">11</property>
<property name=3D"name">col5</property>
<property name=3D"nativeName">col5</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">12</property>
<property name=3D"name">col6</property>
<property name=3D"nativeName">col6</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">13</property>
<property name=3D"name">tableName</property>
<property name=3D"nativeName">tableName</property>
<property name=3D"dataType">string</property>
</structure>
</list-property>
<property name=3D"queryText">table0#-TNAME-#table0#:#[/report=
/section[2]/table[2]/row]#:#{col1;String;../../table[2]/colu mnDefinition/=
col1},{value1;String;../../table[2]/row/value1},{value2;Stri ng;../../tabl=
e[2]/row/value2},{value3;String;../../table[2]/row/value3},{ value4;String=
;../../table[2]/row/value4/},{value5;String;../../table[2]/r ow/value5},{v=
alue6;String;../../table[2]/row/value6},{col2;String;../../t able[2]/colum=
nDefinition/col2},{col3;String;../../table[2]/columnDefiniti on/col3},{col=
4;String;../../table[2]/columnDefinition/col4},{col5;String; ../../table[2=
]/columnDefinition/col5},{col6;String;../../table[2]/columnD efinition/col=
6},{tableName;String;../../table[2]/@name}</property>
<list-property name=3D"privateDriverProperties">
<ex-property>
<name>XML_FILE</name>
<value>d:\temp\ReportData.xml</value>
</ex-property>
</list-property>
</oda-data-set>
<oda-data-set extensionID=3D"org.eclipse.datatools.enablement.oda=
=2Exml.dataSet" name=3D"Anlage Definition" id=3D"337">
<structure name=3D"cachedMetaData">
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">value1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">2</property>
<property name=3D"name">value2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">3</property>
<property name=3D"name">value3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">4</property>
<property name=3D"name">value4</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">5</property>
<property name=3D"name">tableName</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">6</property>
<property name=3D"name">col1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">7</property>
<property name=3D"name">col2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">8</property>
<property name=3D"name">col3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">9</property>
<property name=3D"name">col4</property>
<property name=3D"dataType">string</property>
</structure>
</list-property>
</structure>
<property name=3D"dataSource">ReportData</property>
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">value1</property>
<property name=3D"nativeName">value1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">2</property>
<property name=3D"name">value2</property>
<property name=3D"nativeName">value2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">3</property>
<property name=3D"name">value3</property>
<property name=3D"nativeName">value3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">4</property>
<property name=3D"name">value4</property>
<property name=3D"nativeName">value4</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">5</property>
<property name=3D"name">tableName</property>
<property name=3D"nativeName">tableName</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">6</property>
<property name=3D"name">col1</property>
<property name=3D"nativeName">col1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">7</property>
<property name=3D"name">col2</property>
<property name=3D"nativeName">col2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">8</property>
<property name=3D"name">col3</property>
<property name=3D"nativeName">col3</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">9</property>
<property name=3D"name">col4</property>
<property name=3D"nativeName">col4</property>
<property name=3D"dataType">string</property>
</structure>
</list-property>
<property name=3D"queryText">table0#-TNAME-#table0#:#[/report=
/section[2]/table[3]/row]#:#{value1;String;../../table[3]/ro w/value1},{va=
lue2;String;../../table[3]/row/value2},{value3;String;../../ table[3]/row/=
value3},{value4;String;../../table[3]/row/value4},{tableName ;String;../..=
/table[3]/@name},{col1;String;../../table[3]/columnDefinitio n/col1},{col2=
;String;../../table[3]/columnDefinition/col2},{col3;String;. ./../table[3]=
/columnDefinition/col3},{col4;String;../../table[3]/columnDe finition/col4=
}</property>
<list-property name=3D"privateDriverProperties">
<ex-property>
<name>XML_FILE</name>
<value>d:\temp\ReportData.xml</value>
</ex-property>
</list-property>
</oda-data-set>
<script-data-set name=3D"Images" id=3D"483">
<list-property name=3D"resultSetHints">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">companyImage</property>
<property name=3D"dataType">any</property>
</structure>
<structure>
<property name=3D"position">2</property>
<property name=3D"name">projectImage</property>
</structure>
<structure>
<property name=3D"position">3</property>
<property name=3D"name">variantImage</property>
</structure>
</list-property>
<list-property name=3D"columnHints">
<structure>
<property name=3D"columnName">companyImage</property>=

</structure>
<structure>
<property name=3D"columnName">projectImage</property>=

</structure>
<structure>
<property name=3D"columnName">variantImage</property>=

</structure>
</list-property>
<structure name=3D"cachedMetaData">
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">companyImage</property>
<property name=3D"dataType">any</property>
</structure>
<structure>
<property name=3D"position">2</property>
<property name=3D"name">projectImage</property>
<property name=3D"dataType">any</property>
</structure>
<structure>
<property name=3D"position">3</property>
<property name=3D"name">variantImage</property>
<property name=3D"dataType">any</property>
</structure>
</list-property>
</structure>
<property name=3D"dataSource">Scripted Images</property>
</script-data-set>
<oda-data-set extensionID=3D"org.eclipse.datatools.enablement.oda=
=2Exml.dataSet" name=3D"MasterPage" id=3D"555">
<structure name=3D"cachedMetaData">
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">footerInfo</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">2</property>
<property name=3D"name">headerInfo</property>
<property name=3D"dataType">string</property>
</structure>
</list-property>
</structure>
<property name=3D"dataSource">ReportData</property>
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">footerInfo</property>
<property name=3D"nativeName">footerInfo</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">2</property>
<property name=3D"name">headerInfo</property>
<property name=3D"nativeName">headerInfo</property>
<property name=3D"dataType">string</property>
</structure>
</list-property>
<property name=3D"queryText">table0#-TNAME-#table0#:#[/report=
/masterPage]#:#{footerInfo;String;/footerInfo},{headerInfo;S tring;/header=
Info}</property>
<list-property name=3D"privateDriverProperties">
<ex-property>
<name>MAX_ROW</name>
<value>14</value>
</ex-property>
<ex-property>
<name>XML_FILE</name>
<value>d:\temp\ReportData.xml</value>
</ex-property>
</list-property>
</oda-data-set>
<oda-data-set extensionID=3D"org.eclipse.datatools.enablement.oda=
=2Exml.dataSet" name=3D"Report Infos" id=3D"577">
<structure name=3D"cachedMetaData">
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">reportName</property>
<property name=3D"dataType">string</property>
</structure>
</list-property>
</structure>
<property name=3D"dataSource">ReportData</property>
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">reportName</property>
<property name=3D"nativeName">reportName</property>
<property name=3D"dataType">string</property>
</structure>
</list-property>
<property name=3D"queryText">table0#-TNAME-#table0#:#[/report=
]#:#{reportName;String;/@name}</property>
<list-property name=3D"privateDriverProperties">
<ex-property>
<name>XML_FILE</name>
<value>d:\temp\ReportData.xml</value>
</ex-property>
</list-property>
</oda-data-set>
<oda-data-set extensionID=3D"org.eclipse.datatools.enablement.oda=
=2Exml.dataSet" name=3D"Overview" id=3D"605">
<structure name=3D"cachedMetaData">
<list-property name=3D"resultSet">
<structure>
<property name=3D"position">1</property>
<property name=3D"name">R1C2-name</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">2</property>
<property name=3D"name">R1C2-title</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">3</property>
<property name=3D"name">R1C2-company</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">4</property>
<property name=3D"name">R1C2-address</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">5</property>
<property name=3D"name">R2C1</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">6</property>
<property name=3D"name">R2C2</property>
<property name=3D"dataType">string</property>
</structure>
<structure>
<property name=3D"position">7</property>
<property name=3D"name">R6C1</property>
<pro
Re: BIRT 2.2 Simple Example RunAndRenderTask [message #254838 is a reply to message #254592] Mon, 10 September 2007 10:52 Go to previous message
Eclipse UserFriend
Originally posted by: jasonweathersby.alltel.net

Patrick,

I did not see anything obvious that is wrong in the report (other than
not finding some images). This worked in my 2.2 designer. Is it
working in your designer?

Jason

Patrick wrote:
> hi jason
> here is the report and the releated xml source. the thing with
>
> >> the only reason to update is that in birt 2.0.1 sometimes a part of
> >> the pdf report will not be displayed and the SaxParser sometimes
> >> throws an exception (i use xmldatasource)
>
> that happend with birt 2.0.1 and i hope it doesn't with the actual version.
> so does it make sense to open a ticket for a bug in 2.0.1 as long as it
> doesn't happen with the actual birt?
>
> thanks much for your help
> regs
> patrick
>
>
>
>
> Jason Weathersby schrieb:
>> Patrick,
>>
>> Can you post the report?
>> Can you also open a bugzilla entry for the report?
>>
>> Jason
>>
>> Patrick wrote:
>>> hi jason
>>>
>>> thanks for your example, but in my environment it doesnt work. the
>>> exception appears:
>>>
>>> ----snipp snipp
>>> ------------------------------------------------------------ ------------------------------------------------------------ -------------------------------------------------------
>>>
>>>
>>> 05.09.2007 11:39:33
>>> org.eclipse.birt.report.data.oda.sampledb.SampledbPlugin start
>>> INFO: Sampledb plugin starts up. Current startCount=0
>>> 05.09.2007 11:39:33
>>> org.eclipse.birt.report.data.oda.sampledb.SampledbPlugin init
>>> INFO: Creating Sampledb database at location
>>> C:\DOCUME~1\pkistler\LOCALS~1\Temp\/BIRTSampleDB_11889851733 28_391da0
>>> java.lang.NullPointerException
>>> at
>>> org.eclipse.birt.report.model.metadata.ChoicePropertyType.va lidateXml(ChoicePropertyType.java:118)
>>>
>>> at
>>> org.eclipse.birt.report.model.metadata.PropertyDefn.validate Xml(PropertyDefn.java:762)
>>>
>>> at
>>> org.eclipse.birt.report.model.metadata.PeerExtensionLoader$P eerExtensionElementLoader.loadProperty(PeerExtensionLoader.j ava:263)
>>>
>>> at
>>> org.eclipse.birt.report.model.metadata.PeerExtensionLoader$P eerExtensionElementLoader.loadElement(PeerExtensionLoader.ja va:162)
>>>
>>> at
>>> org.eclipse.birt.report.model.metadata.PeerExtensionLoader.l oadExtension(PeerExtensionLoader.java:75)
>>>
>>> at
>>> org.eclipse.birt.report.model.metadata.ExtensionLoader.doLoa d(ExtensionLoader.java:135)
>>>
>>> at
>>> org.eclipse.birt.report.model.metadata.ExtensionLoader.load( ExtensionLoader.java:72)
>>>
>>> at
>>> org.eclipse.birt.report.model.metadata.ExtensionManager.init ialize(ExtensionManager.java:39)
>>>
>>> at
>>> org.eclipse.birt.report.model.api.impl.DesignEngineImpl.init ialize(DesignEngineImpl.java:99)
>>>
>>> at
>>> org.eclipse.birt.report.model.api.impl.DesignEngineImpl.newS essionHandle(DesignEngineImpl.java:142)
>>>
>>> at
>>> org.eclipse.birt.report.model.api.DesignEngine.newSessionHan dle(DesignEngine.java:106)
>>>
>>> at
>>> org.eclipse.birt.report.model.api.DesignEngine.newSession(De signEngine.java:128)
>>>
>>> at
>>> org.eclipse.birt.report.engine.parser.ReportParser.getDesign Handle(ReportParser.java:144)
>>>
>>> at
>>> org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:243)
>>>
>>> at
>>> org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:191)
>>>
>>> at
>>> org.eclipse.birt.report.engine.api.impl.ReportEngineHelper.o penReportDesign(ReportEngineHelper.java:125)
>>>
>>> at
>>> org.eclipse.birt.report.engine.api.impl.ReportEngine.openRep ortDesign(ReportEngine.java:235)
>>>
>>> at ch.spf.PS4Gui.Report.RunReport.runReport(RunReport.java:55)
>>> at ch.spf.PS4Gui.Report.RunReport.main(RunReport.java:95)
>>> Finished
>>> ----snipp snipp
>>> ------------------------------------------------------------ ------------------------------------------------------------ -------------------------------------------------------
>>>
>>>
>>> please help me, i get crazy using birt... thanks very much for
>>> further help!
>>>
>>> the only reason to update is that in birt 2.0.1 sometimes a part of
>>> the pdf report will not be displayed and the SaxParser sometimes
>>> throws an exception (i use xmldatasource)
>>>
>>> it got my code working in my project but then the most part of the
>>> report doesnt appear (may cause of the old design file?)
>>> i ordered your book, but this is defined for birt 2.1.x i guess.
>>>
>>> we are thinking about not using birt or actuate birt at all because
>>> for our xml input it takes about 60s to generate a report and i never
>>> had so much problems to get an external software working.
>>>
>>> regs patrick
>>>
>>>
>>>
>>>
>>> Jason Weathersby schrieb:
>>>> Patrick,
>>>>
>>>> Make sure you updated your libs in your build path to point to the
>>>> 2.2 libs. Here is an example of the runandrender task that works in
>>>> my environment.
>>>>
>>>> Jason
>>>>
>>>> package REAPI;
>>>>
>>>>
>>>>
>>>> import java.util.HashMap;
>>>> 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.HTMLActionHandler;
>>>> import org.eclipse.birt.report.engine.api.HTMLRenderOption;
>>>> import org.eclipse.birt.report.engine.api.HTMLServerImageHandler;
>>>> import org.eclipse.birt.report.engine.api.HTMLCompleteImageHandler;
>>>>
>>>> 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;
>>>>
>>>>
>>>>
>>>>
>>>> public class RunAndRenderTask {
>>>>
>>>> public void runReport() throws EngineException
>>>> {
>>>>
>>>> IReportEngine engine=null;
>>>> EngineConfig config = null;
>>>>
>>>> try{
>>>> //System.setProperty("java.io.tmpdir",
>>>> "c:/temp/test/testsampledb"); config = new
>>>> EngineConfig( );
>>>> config.setBIRTHome(" C:\\birt\\birt-runtime-2_2_0\\birt-runtime-2_2_0\\ReportEngi ne ");
>>>>
>>>> config.setLogConfig("c:/temp/test", Level.FINEST);
>>>> Platform.startup( config );
>>>> IReportEngineFactory factory = (IReportEngineFactory)
>>>> Platform
>>>> .createFactoryObject(
>>>> IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
>>>> engine = factory.createReportEngine( config );
>>>> IReportRunnable design = null;
>>>> //Open the report design
>>>> design =
>>>> engine.openReportDesign("Reports/TopNPercent.rptdesign");
>>>> //Create task to run and render the report,
>>>> IRunAndRenderTask task =
>>>> engine.createRunAndRenderTask(design);
>>>> task.setParameterValue("Top Percentage", (new Integer(3)));;
>>>> task.setParameterValue("Top Count", (new Integer(5)));
>>>>
>>>> //task.validateParameters();
>>>> HTMLRenderOption options = new
>>>> HTMLRenderOption();
>>>> options.setOutputFileName("output/resample/TopNPercent.html ");
>>>> options.setOutputFormat("html");
>>>> options.setHtmlRtLFlag(false);
>>>> options.setEmbeddable(false);
>>>>
>>>> options.setImageDirectory("C:\\apps\\apache-tomcat-5.5.20\\webapps\\2.2\\images ");
>>>>
>>>> options.setBaseImageURL("http://localhost:8080/2.2/images/");
>>>> //ImageHandlerTest
>>>> options.setImageHandler(new MyImageHandler());
>>>> //options.setImageHandler(new HTMLServerImageHandler());
>>>> //options.setImageHandler(new HTMLCompleteImageHandler());
>>>> //options.setBaseImageURL("http://localhost/imageGetter?");
>>>> task.setRenderOption(options);
>>>>
>>>> //CancelReport cancelThread = new
>>>> CancelReport( "cancelReport", task);
>>>> //cancelThread.start();
>>>> //long beginTime = System.currentTimeMillis();
>>>> task.run();
>>>> //long endTime = System.currentTimeMillis();
>>>> //long timeSpan = endTime - beginTime;
>>>> //System.out.println("Report Runtime: " + timeSpan);
>>>> //int teststatus = task.getStatus();
>>>> //if( teststatus == 4){
>>>> // System.out.println("Report was cancelled");
>>>> //}
>>>> task.close();
>>>> //Create task to run and render the report,
>>>> //task =
>>>> engine.createRunAndRenderTask(design);
>>>> //task.setParameterValue("Top Percentage", (new Integer(3)));
>>>> //task.setParameterValue("Top Count", (new Integer(5)));
>>>> //task.validateParameters();
>>>> //task.setRenderOption(options);
>>>> //beginTime = System.currentTimeMillis();
>>>> //task.run();
>>>> //endTime = System.currentTimeMillis();
>>>> //timeSpan = endTime - beginTime;
>>>> //System.out.println("Report Runtime: " + timeSpan);
>>>> //teststatus = task.getStatus();
>>>> //if( teststatus == 2){
>>>> // System.out.println("Report Completed");
>>>> //} //task.close();
>>>> engine.destroy();
>>>> }catch( Exception ex){
>>>> ex.printStackTrace();
>>>> } finally
>>>> {
>>>> Platform.shutdown( );
>>>> System.out.println("Finished");
>>>> }
>>>> } /**
>>>> * @param args
>>>> */
>>>> public static void main(String[] args) {
>>>> try
>>>> {
>>>>
>>>> RunAndRenderTask ex = new RunAndRenderTask( );
>>>> ex.runReport();
>>>>
>>>> }
>>>> catch ( Exception e )
>>>> {
>>>> e.printStackTrace();
>>>> }
>>>> }
>>>> private class CancelReport extends Thread
>>>> {
>>>> private IRunAndRenderTask rTask;
>>>> public CancelReport( String threadName, IRunAndRenderTask
>>>> task){
>>>> super(threadName);
>>>> rTask = task;
>>>> }
>>>> public void run()
>>>> {
>>>> try{
>>>> Thread.currentThread().sleep( 100 );
>>>> rTask.cancel();
>>>> System.out.println("######Report Cancelled#######");
>>>> }
>>>> catch(Exception e)
>>>> {
>>>> e.printStackTrace();
>>>> }
>>>> }
>>>> }
>>>> }
>>>>
>>>>
>>>>
>>>>
>>>> Patrick wrote:
>>>>> hi
>>>>>
>>>>> i've worked with birt 2.0.1. now i try to use birt 2.2.0. i get
>>>>> crazy cause i just tried a simple example and it doesnt work.
>>>>> thanks for any help.
>>>>>
>>>>> here is my example code:
>>>>>
>>>>>
>>>>>
>>>>> import java.util.HashMap;
>>>>> 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.HTMLRenderContext;
>>>>> import org.eclipse.birt.report.engine.api.HTMLRenderOption;
>>>>> 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.impl.ReportEngine;
>>>>>
>>>>> public class BirtTest {
>>>>>
>>>>> public BirtTest() {
>>>>> }
>>>>> public static void main(String[] args) {
>>>>> BirtTest test = new BirtTest();
>>>>> test.createEngine();
>>>>> }
>>>>> public void createReport(IReportEngine engine) throws
>>>>> EngineException{
>>>>> // Open a report design - use design to modify design,
>>>>> retrieve embedded images etc.
>>>>> IReportRunnable design =
>>>>> engine.openReportDesign("D:/temp/PS4Report.rptdesign");
>>>>> // Create task to run the report and render
>>>>> the report
>>>>> IRunAndRenderTask task =
>>>>> engine.createRunAndRenderTask(design);
>>>>> // Set Render context to handle url and image
>>>>> locataions
>>>>> HTMLRenderContext renderContext = new HTMLRenderContext();
>>>>> renderContext.setImageDirectory("image");
>>>>> HashMap contextMap = new HashMap();
>>>>> contextMap.put(
>>>>> EngineConstants.APPCONTEXT_HTML_RENDER_CONTEXT, renderContext );
>>>>> task.setAppContext( contextMap );
>>>>> // Set rendering options - such as file or
>>>>> stream output,
>>>>> // output format, whether it is embeddable, etc
>>>>> HTMLRenderOption options = new HTMLRenderOption();
>>>>> // options.setOutputStream(System.out);
>>>>> options.setOutputFileName("d:/temp/report.html");
>>>>> options.setOutputFormat("html");
>>>>> task.setRenderOption(options);
>>>>> task.run();
>>>>> }
>>>>> public void createEngine() {
>>>>> EngineConfig config = null;
>>>>> ReportEngine engine = null;
>>>>> try{
>>>>> config = new EngineConfig( );
>>>>> config.setEngineHome(
>>>>> "D:/Java/birt-runtime-2_2_0/ReportEngine" );
>>>>> config.setLogConfig("d:/temp", Level.FINE);
>>>>> Platform.startup( config );
>>>>> IReportEngineFactory factory = (IReportEngineFactory)
>>>>> Platform
>>>>> .createFactoryObject(
>>>>> IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY );
>>>>> engine = (ReportEngine)factory.createReportEngine(
>>>>> config );
>>>>> engine.changeLogLevel( Level.WARNING );
>>>>> }catch( Exception ex){
>>>>> ex.printStackTrace();
>>>>> }
>>>>> try
>>>>> {
>>>>> // Run reports, etc.
>>>>> createReport(engine);
>>>>>
>>>>> // Shut down the engine.
>>>>> engine.shutdown();
>>>>> Platform.shutdown();
>>>>> }
>>>>> catch ( EngineException e1 )
>>>>> {
>>>>> // Ignore
>>>>> }
>>>>> }
>>>>> }
>
Previous Topic:Generate report in phases.
Next Topic:Dynamically change DB Connection
Goto Forum:
  


Current Time: Wed Apr 30 02:00:46 EDT 2025

Powered by FUDForum. Page generated in 0.05706 seconds
.:: Contact :: Home ::.

Powered by: FUDforum 3.0.2.
Copyright ©2001-2010 FUDforum Bulletin Board Software

Back to the top