Quantcast
Channel: BIRT Exchange Forum Feed
Viewing all 542 articles
Browse latest View live

Excel Emitter error in UNIX box

$
0
0
Hello Community,

Since integration of BIRT 2.6, it has been fairly easy to generate large excel reports. By mentioning large I mean to say such reports which has more than 64k rows.
I tried this in a Windows box and it was working all well.

But, the same code when ported to a UNIX box, it fails because of some permission issue. The stack trace is as follows:
Dec 29, 2010 9:25:16 AM org.eclipse.birt.report.engine.emitter.excel.ExcelEmitter outputSheet

SEVERE: /tmp_BIRTEMITTER_EXCEL_TEMP_FILE27 (Permission denied)

java.io.FileNotFoundException: /tmp_BIRTEMITTER_EXCEL_TEMP_FILE27 (Permission denied)

        at java.io.FileOutputStream.open(Native Method)

        at java.io.FileOutputStream.<init>(FileOutputStream.java:179)

        at java.io.FileOutputStream.<init>(FileOutputStream.java:70)

        at org.eclipse.birt.report.engine.emitter.excel.ExcelWriter.initializeWriterAsTempWriter(ExcelWriter.java:166)

        at org.eclipse.birt.report.engine.emitter.excel.ExcelWriter.startSheet(ExcelWriter.java:151)

        at org.eclipse.birt.report.engine.emitter.excel.ExcelEmitter.outputCacheData(ExcelEmitter.java:543)

        at org.eclipse.birt.report.engine.emitter.excel.ExcelEmitter.outputSheet(ExcelEmitter.java:502)

        at org.eclipse.birt.report.engine.emitter.excel.layout.ExcelLayoutEngine.outputDataIfBufferIsFull(ExcelLayoutEngine.java:1050)

        at org.eclipse.birt.report.engine.emitter.excel.layout.ExcelLayoutEngine.addData(ExcelLayoutEngine.java:933)

        at org.eclipse.birt.report.engine.emitter.excel.layout.ExcelLayoutEngine.addData(ExcelLayoutEngine.java:665)

        at org.eclipse.birt.report.engine.emitter.excel.ExcelEmitter.addDataContent(ExcelEmitter.java:433)

        at org.eclipse.birt.report.engine.emitter.excel.ExcelEmitter.startData(ExcelEmitter.java:390)

        at org.eclipse.birt.report.engine.emitter.CompositeContentEmitter.startData(CompositeContentEmitter.java:258)

        at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:71)

        at org.eclipse.birt.report.engine.layout.html.HTMLTableLayoutEmitter.startContent(HTMLTableLayoutEmitter.java:146)

        at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startText(ContentEmitterAdapter.java:147)

        at org.eclipse.birt.report.engine.emitter.ContentEmitterAdapter.startData(ContentEmitterAdapter.java:163)

        at org.eclipse.birt.report.engine.emitter.ContentEmitterUtil.startContent(ContentEmitterUtil.java:71)

        at org.eclipse.birt.report.engine.layout.html.buffer.DummyPageBuffer.startContent(DummyPageBuffer.java:125)

        at org.eclipse.birt.report.engine.layout.html.HTMLLeafItemLM.start(HTMLLeafItemLM.java:67)

        at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:139)

        at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)

        at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)

        at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)

        at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.resumeLayout(HTMLInlineStackingLM.java:111)

        at org.eclipse.birt.report.engine.layout.html.HTMLInlineStackingLM.layoutNodes(HTMLInlineStackingLM.java:160)

        at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)

        at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)

        at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)

        at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)

        at org.eclipse.birt.report.engine.layout.html.HTMLTableBandLM.layoutChildren(HTMLTableBandLM.java:67)

        at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)

        at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)

        at org.eclipse.birt.report.engine.layout.html.HTMLStackingLM.layoutChildren(HTMLStackingLM.java:26)

        at org.eclipse.birt.report.engine.layout.html.HTMLTableLM.layoutChildren(HTMLTableLM.java:132)

        at org.eclipse.birt.report.engine.layout.html.HTMLAbstractLM.layout(HTMLAbstractLM.java:140)

        at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:70)

        at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:90)

        at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:99)

        at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:172)

        at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:75)



By pondering on the exception I have figured out the possible reason to be the lacking permission in '/' directory.

Now a few things that I don't have any idea are:
1) Why is the '/' considered as temp, it could have been '/tmp'
2) Is there any way that I can override this feature and assign a different temp directory
3) The code snippet to start the engine follows, is there anything else that can be done here
URL url = RunBillTask.class.getResource( taskParameters.getDesignFileName() );
        if ( url == null )
            throw new RunBillTaskException( "Cannot find file " + taskParameters.getDesignFileName() );

        // Get the complete file name
        String strRptDesign = url.getFile();

        IReportEngine engine = null;
        String strOutputFileName = "";
        try
        {
            EngineConfig config = new EngineConfig();

            String birtHome;

            birtHome = System.getenv( "BIRT_HOME" );

            if ( birtHome == null )
                throw new BillException( "BIRT_HOME not set in system properties" );

            config.setEngineHome( birtHome );
            config.setLogConfig( FileHelper.sparkTempPath, Level.FINE );

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

            // Open a report design
            IReportRunnable design;

            design = engine.openReportDesign( strRptDesign );

            // Create task to run the report - use the task to execute the
            // report and save to disk.
            IRunAndRenderTask task = engine.createRunAndRenderTask( design );
          
            RenderOption options = null;
            if(taskParameters.getExtension().equals(PDF_EXTENSION))
            {
        	options = new PDFRenderOption();
            }
            else if(taskParameters.getExtension().equals(EXCEL_EXTENSION))
            {
        	options = new EXCELRenderOption(); 
        	((EXCELRenderOption)options).setWrappingText(true);
            }

            strOutputFileName = FileHelper.sparkTempPathFile + "/" + taskParameters.getOutputFileName() + "." + taskParameters.getExtension();

            options.setOutputFileName( strOutputFileName );
            options.setOutputFormat( taskParameters.getExtension() );
            task.setRenderOption( options );

            // Supply the input parameters
            for ( ParameterMap< Integer > parameter : taskParameters.getIntParameterList() )
            {
                task.setParameterValue( parameter.key, parameter.value );
            }

            for ( ParameterMap< String > parameter : taskParameters.getStrParameterList() )
            {
                task.setParameterValue( parameter.key, parameter.value );
            }

            for ( ParameterMap< Boolean > parameter : taskParameters.getBoolParameterList() )
            {
                task.setParameterValue( parameter.key, parameter.value );
            }
            
            for ( ParameterMap< Double > parameter : taskParameters.getDecimalParameterList() )
            {
                task.setParameterValue( parameter.key, parameter.value );
            }
            
            for ( ParameterMap< Float > parameter : taskParameters.getFloatParameterList() )
            {
                task.setParameterValue( parameter.key, parameter.value );
            }

            // run the report and destroy the engine
            task.run();

            task.close();



Need help ASAP!!!

regards
Arpan

Programmatically adding Gadget Reports to the Dashboard

$
0
0
Is it possible to programmatically add report gadgets to a dashboard through the Actuate Javascript API? If it is can you please provide a clue as I'm having trouble finding the proper API calls. I'm already saving reports as .rptdocuments and I know how to add them to a dashboard through the UI.

I have attempted to add them through a html gadget that points to a default .rptdocument. I want all my users to use the same default dashboard and have this html gadget be dynamic and show the most recent report that was ran by the specific user, however I'm having trouble figuring out how to set the url for the html gadget to be dynamic.

update:
I'm now using a report explorer object to list the users files in an html object using the default "~/" for the home directory. I set it up so when a user clicks on a file the selection change event is thrown and a viewer object below displays the file clicked. Still looking for a way to traverse the file tree through the JSAPI without having to click on the individual files.

Parameter initialization timing

$
0
0
On the creation of my main data table, I initialize some Report Parameters based off the contents of that data table (row count & column sum). Further down the report I use these parameters in my "hidden table" that finalizes and organizes values for my chart.

I have successfully built a chart AFTER (below) the "hidden calculations table" but I need the chart at the top of the report. When I try to place the chart at the top of the report, the variables haven't been initialized yet and the chart breaks.

+-----+
|chart|
+-----+

+---------------+
|Main data table| [A visible and formatted table; Variables initialized here]
+---------------+

+-------------------------+
|hidden calculations table| [Variables used, final organization for chart]
+-------------------------+

I've played around with plugging different scripts into the table's "On create" and the charts "On Render" but haven't had any luck.

--Is there a way to postpone the chart creation until after the final table is built?

--If not, are there scripts I can plug into the chart's "On Render" phase that can grab the values from the table before the chart is built?

Thank you in advance for any help provided!

Patrick

"Unauthorised to Run the report" error in hyperlink Maximo

$
0
0
Hi All,

We have developed one hyperlink report in BIRT 2.3.2.

Working fine in BIRT. But if i deploy the same in Maximo(Maximo version 7.1.1.7).

The main report fetches desired result.

But when i click on hyperlink it throws me an error "Unauthorised to run report" with White background.

I have checked security groups attached to both Main and hyperlink reports. Both looks fine.

I am not getting why this error is coming...??

By the way, we have clustered environment set up configured for the reports only.

dev share comment

Data set event problem

$
0
0
Hello,

In my report there are 6 datasets.

In all these datasets srored procedure is used.And one parameter is passed to that.

My question is how can i handle the dataset for null parameter?

Means, i dont want to load the stored procedure if the parameter was not passed.

Because sometimes i have only one parameter for dataset-1, and remaining have no parameter passed.

So at that time my report loads all datasets and took so much time.

So i want script for dataset that i dont call procedure if parameter is null.

Report Parameter

$
0
0
Hello,

i need help please :p

I want a report parameter in my report.
I have a dataset, which has 3 columns. An id, a name and test_id.
Now in the Report parameter is "select value column" id and my display text is "dataSetRow["name"] + dataSetRow["id"].

How can i usw now the test_id?

param[name].value and param[name].displayText is not what i want.

I need something like param[name].value(test_id) or something like that...

Has someone an idea?

Thanks and regards :)
Benni

export to pdf data gets truncated

$
0
0
Hi,

I have a bar chart report where I have huge x-axis values but when i export that report to pdf some part is getting truncated. Can i get some suggestions to overcome the problem.

Removing Specific Legend from Chart

$
0
0
I've been trying to remove a legend from one of my reports, while keeping another one. I've ran into examples of how to remove it completely (beforeDrawBlock) and how to remove certain values in a series, but I'm not figuring how to remove one complete legend series based on the getSeriesIdentifier. I want the data to stay in the chart, but now show in the legend. I've got it to where it'll remove the corresponding data in the chart ( if (series.getSeriesIdentifier() == 'Class Avg') series.setVisible(false);}), but I need it to remove it from the legend, and not the chart. I'm just trying to remove the one legend series but still have it plot on the chart.


Thanks in advance
Bryan

How to get Year from Date Report Parameter-Birt Report

$
0
0
I created one birt report.It contains one report parameter with name "FromDate".User will insert it in a fromat like "dd/MM/yyyy". I want to get year(if date is 11/01/2013.i want to extract 2013 from this varaible) from this input parameter and want to pass this value to one stored procedure(ie data set).How can i do that.Can anyone pls share sample code

jsp in birt report

$
0
0
Hi..Buddies....i have developed a birt report then i have to call by jsp with tag library for my customization.i have more than 3 three example...but i did't get idea..from those example..so i am looking for good example...like.in jsp i have a 5 listbox parameter if i click all parameter report must be run inside the page ..and then again if i select another option in that 5 listbox parameter...it have to run in same page....in <birt-viewer> with run option wt is my exception is parameter must be constant in one page and report must be run in same page....always..


can u able to post example ...it may be helpful for me.....to do my work...

Problem in Birt 4.2.2 pom file

$
0
0
Hello guys,

I'm trying to update my Birt API from 4.2.1a to 4.2.2.

So, in my POM file, I have set :
<dependency>
<groupId>org.eclipse.birt.runtime</groupId>
<artifactId>org.eclipse.birt.runtime</artifactId>
<version>4.2.2</version>
</dependency>


I get this error when making a clean eclipse :
[WARNING] The POM for milyn:flute:jar:1.3 is missing, no dependency information available


I have looked a bit in the POM file of the previous version and I saw that you entered the wrong groupId for flute: "milyn" instead of "org.milyn".

Can you fix it please ?

Thanks per advance and good evening...

how to display korean characters in BIRT Viewer?

$
0
0
Hello,

i want to display Korean characters that are retrieved from my DB in my BIRT viewer. these characters are displayed as garbage. do you know how can i make it work?
note that when i hard code Korean characters (like copy korean words from the internet and paste them in my rptdesign) they are properly displayed in my BIRT viewer. only retrieved values from the DB are not properly displayed.

any clue?

regards
Boulos

Filling Grid Dynamically

$
0
0
Hi All,

We designed a birt report which have alot of grid boxes which we are filling dynamically.
The Approach which we have used is
1. Add the grid to the report.
2. add the fillGrid methode to onInitialize of Report. In this methode we are creating the text elements dynamically and adding the data to that to that Text and adding this text element to each cell of grid.
3. onPrepare methode of this grid we are calling fillGrid methode.
4. on the Binding Property of the grid we have selected the dataset.

Kindly let us know if there is any other approach available for the same.

attached sample rptdesign below.
<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.23" id="1">
<property name="comments">Copyright © 2007 <<Your Company Name here>></property>
<property name="createdBy">Eclipse BIRT Designer Version 4.2.2.v201301221637 Build <4.2.2.v20130206-1509></property>
<html-property name="description">Creates a blank report with no predefined content.</html-property>
<property name="units">in</property>
<method name="initialize"><![CDATA[function fillGrid(count,columnName,grdName)
{
for(i=0;i<count;i++)
{
Text =
reportContext.getDesignHandle().getElementFactory().newTextItem(null);
Text.setContentType("HTML");
Text.setContent("<CENTER><B><VALUE-OF>row['" + columnName + "'].toString().substring(0+" + i + ",1+" + i + ")</VALUE-OF></B></CENTER>");
var Grid=reportContext.getDesignHandle().findElement(grdName);

var cell=Grid.getCell(0,1+i);

cell.getContent().add(Text);
}
}]]></method>
<text-property name="displayName">Blank Report</text-property>
<property name="iconFile">/templates/blank_report.gif</property>
<property name="layoutPreference">auto layout</property>
<parameters>
<scalar-parameter name="parmorders" id="8">
<property name="valueType">dynamic</property>
<property name="dataSetName">parmDataSet</property>
<expression name="valueExpr">dataSetRow["CUSTOMERNUMBER"]</expression>
<property name="dataType">string</property>
<property name="distinct">true</property>
<property name="paramType">multi-value</property>
<property name="controlType">list-box</property>
<property name="mustMatch">true</property>
<property name="fixedOrder">true</property>
<structure name="format">
<property name="category">Unformatted</property>
</structure>
</scalar-parameter>
</parameters>
<data-sources>
<oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Data Source" id="6">
<list-property name="privateDriverProperties">
<ex-property>
<name>metadataBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
<ex-property>
<name>disabledMetadataBidiFormatStr</name>
</ex-property>
<ex-property>
<name>contentBidiFormatStr</name>
<value>ILYNN</value>
</ex-property>
<ex-property>
<name>disabledContentBidiFormatStr</name>
</ex-property>
</list-property>
<property name="odaDriverClass">org.eclipse.birt.report.data.oda.sampledb.Driver</property>
<property name="odaURL">jdbc:classicmodels:sampledb</property>
<property name="odaUser">ClassicModels</property>
</oda-data-source>
</data-sources>
<data-sets>
<oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="parmDataSet" id="7">
<list-property name="columnHints">
<structure>
<property name="columnName">CUSTOMERNUMBER</property>
<text-property name="displayName">CUSTOMERNUMBER</text-property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
</list-property>
</structure>
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="nativeName">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select customernumber
from orders]]></xml-property>
</oda-data-set>
<oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="orderdetails" id="10">
<list-property name="columnHints">
<structure>
<property name="columnName">ORDERNUMBER</property>
<text-property name="displayName">ORDERNUMBER</text-property>
</structure>
<structure>
<property name="columnName">ORDERDATE</property>
<text-property name="displayName">ORDERDATE</text-property>
</structure>
<structure>
<property name="columnName">REQUIREDDATE</property>
<text-property name="displayName">REQUIREDDATE</text-property>
</structure>
<structure>
<property name="columnName">SHIPPEDDATE</property>
<text-property name="displayName">SHIPPEDDATE</text-property>
</structure>
<structure>
<property name="columnName">STATUS</property>
<text-property name="displayName">STATUS</text-property>
</structure>
<structure>
<property name="columnName">COMMENTS</property>
<text-property name="displayName">COMMENTS</text-property>
</structure>
<structure>
<property name="columnName">CUSTOMERNUMBER</property>
<text-property name="displayName">CUSTOMERNUMBER</text-property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">ORDERNUMBER</property>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">ORDERDATE</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">REQUIREDDATE</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">SHIPPEDDATE</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">STATUS</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">COMMENTS</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
</structure>
</list-property>
</structure>
<method name="beforeOpen"><![CDATA[//var parmcount = params["parmorders"].value.length
//var whereclause = "";
//if( parmcount > 0 ){
// whereclause = " where customernumber in ( ";
//}
//for( i=0; i < parmcount; i++ ){
// if( i == 0 ){
// whereclause = whereclause + params["parmorders"].value[i];
// }else{
// whereclause = whereclause + " , " + params["parmorders"].value[i];
// }
//}
//if( parmcount > 0 ){
// this.queryText = this.queryText + whereclause + " ) ";
//}]]></method>
<property name="dataSource">Data Source</property>
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">ORDERNUMBER</property>
<property name="nativeName">ORDERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">ORDERDATE</property>
<property name="nativeName">ORDERDATE</property>
<property name="dataType">date</property>
<property name="nativeDataType">91</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">REQUIREDDATE</property>
<property name="nativeName">REQUIREDDATE</property>
<property name="dataType">date</property>
<property name="nativeDataType">91</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">SHIPPEDDATE</property>
<property name="nativeName">SHIPPEDDATE</property>
<property name="dataType">date</property>
<property name="nativeDataType">91</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">STATUS</property>
<property name="nativeName">STATUS</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">COMMENTS</property>
<property name="nativeName">COMMENTS</property>
<property name="dataType">string</property>
<property name="nativeDataType">12</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">CUSTOMERNUMBER</property>
<property name="nativeName">CUSTOMERNUMBER</property>
<property name="dataType">integer</property>
<property name="nativeDataType">4</property>
</structure>
</list-property>
<xml-property name="queryText"><![CDATA[select *
from orders]]></xml-property>
</oda-data-set>
</data-sets>
<styles>
<style name="crosstab" id="4">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="crosstab-cell" id="5">
<property name="borderBottomColor">#CCCCCC</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1pt</property>
<property name="borderLeftColor">#CCCCCC</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1pt</property>
<property name="borderRightColor">#CCCCCC</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1pt</property>
<property name="borderTopColor">#CCCCCC</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">1pt</property>
</style>
<style name="detail" id="45">
<property name="backgroundColor">#BACAE2</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="paddingTop">0px</property>
<property name="paddingLeft">0px</property>
<property name="paddingBottom">0px</property>
<property name="paddingRight">0px</property>
</style>
<style name="headerfooter" id="46">
<property name="backgroundColor">#004080</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
</style>
<style name="groupheader" id="47">
<property name="backgroundColor">#0080FF</property>
<property name="fontFamily">"Arial"</property>
<property name="fontSize">small</property>
<property name="fontWeight">bold</property>
<property name="color">#FFFFFF</property>
</style>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<property name="topMargin">1in</property>
<property name="leftMargin">1.25in</property>
<property name="bottomMargin">1in</property>
<property name="rightMargin">1.25in</property>
<page-footer>
<text id="3">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[<value-of>new Date()</value-of>]]></text-property>
</text>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<table id="204">
<property name="dataSet">orderdetails</property>
<list-property name="visibility">
<structure>
<property name="format">all</property>
<expression name="valueExpr" type="javascript">true</expression>
</structure>
</list-property>
<list-property name="boundDataColumns">
<structure>
<property name="name">ORDERNUMBER</property>
<text-property name="displayName">ORDERNUMBER</text-property>
<expression name="expression" type="javascript">dataSetRow["ORDERNUMBER"]</expression>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">ORDERDATE</property>
<text-property name="displayName">ORDERDATE</text-property>
<expression name="expression" type="javascript">dataSetRow["ORDERDATE"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">REQUIREDDATE</property>
<text-property name="displayName">REQUIREDDATE</text-property>
<expression name="expression" type="javascript">dataSetRow["REQUIREDDATE"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">SHIPPEDDATE</property>
<text-property name="displayName">SHIPPEDDATE</text-property>
<expression name="expression" type="javascript">dataSetRow["SHIPPEDDATE"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">STATUS</property>
<text-property name="displayName">STATUS</text-property>
<expression name="expression" type="javascript">dataSetRow["STATUS"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">COMMENTS</property>
<text-property name="displayName">COMMENTS</text-property>
<expression name="expression" type="javascript">dataSetRow["COMMENTS"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CUSTOMERNUMBER</property>
<text-property name="displayName">CUSTOMERNUMBER</text-property>
<expression name="expression" type="javascript">dataSetRow["CUSTOMERNUMBER"]</expression>
<property name="dataType">integer</property>
</structure>
</list-property>
<column id="243"/>
<column id="244"/>
<column id="245"/>
<column id="246"/>
<column id="247"/>
<column id="248"/>
<column id="249"/>
<header>
<row id="205">
<cell id="206">
<label id="207">
<text-property name="text">ORDERNUMBER</text-property>
</label>
</cell>
<cell id="208">
<label id="209">
<text-property name="text">ORDERDATE</text-property>
</label>
</cell>
<cell id="210">
<label id="211">
<text-property name="text">REQUIREDDATE</text-property>
</label>
</cell>
<cell id="212">
<label id="213">
<text-property name="text">SHIPPEDDATE</text-property>
</label>
</cell>
<cell id="214">
<label id="215">
<text-property name="text">STATUS</text-property>
</label>
</cell>
<cell id="216">
<label id="217">
<text-property name="text">COMMENTS</text-property>
</label>
</cell>
<cell id="218">
<label id="219">
<text-property name="text">CUSTOMERNUMBER</text-property>
</label>
</cell>
</row>
</header>
<detail>
<row id="220">
<cell id="221">
<data id="222">
<property name="resultSetColumn">ORDERNUMBER</property>
</data>
</cell>
<cell id="223">
<data id="224">
<property name="resultSetColumn">ORDERDATE</property>
</data>
</cell>
<cell id="225">
<data id="226">
<property name="resultSetColumn">REQUIREDDATE</property>
</data>
</cell>
<cell id="227">
<data id="228">
<property name="resultSetColumn">SHIPPEDDATE</property>
</data>
</cell>
<cell id="229">
<data id="230">
<property name="resultSetColumn">STATUS</property>
</data>
</cell>
<cell id="231">
<data id="232">
<property name="resultSetColumn">COMMENTS</property>
</data>
</cell>
<cell id="233">
<data id="234">
<property name="resultSetColumn">CUSTOMERNUMBER</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="235">
<cell id="236"/>
<cell id="237"/>
<cell id="238"/>
<cell id="239"/>
<cell id="240"/>
<cell id="241"/>
<cell id="242"/>
</row>
</footer>
</table>
<grid id="171">
<column id="172"/>
<column id="173"/>
<row id="174">
<cell id="175">
<label id="181">
<text-property name="text">Order Status :</text-property>
</label>
</cell>
<cell id="176">
<grid name="grdOrdStatus" id="182">
<property name="dataSet">orderdetails</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">ORDERNUMBER</property>
<text-property name="displayName">ORDERNUMBER</text-property>
<expression name="expression" type="javascript">dataSetRow["ORDERNUMBER"]</expression>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">ORDERDATE</property>
<text-property name="displayName">ORDERDATE</text-property>
<expression name="expression" type="javascript">dataSetRow["ORDERDATE"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">REQUIREDDATE</property>
<text-property name="displayName">REQUIREDDATE</text-property>
<expression name="expression" type="javascript">dataSetRow["REQUIREDDATE"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">SHIPPEDDATE</property>
<text-property name="displayName">SHIPPEDDATE</text-property>
<expression name="expression" type="javascript">dataSetRow["SHIPPEDDATE"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">STATUS</property>
<text-property name="displayName">STATUS</text-property>
<expression name="expression" type="javascript">dataSetRow["STATUS"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">COMMENTS</property>
<text-property name="displayName">COMMENTS</text-property>
<expression name="expression" type="javascript">dataSetRow["COMMENTS"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CUSTOMERNUMBER</property>
<text-property name="displayName">CUSTOMERNUMBER</text-property>
<expression name="expression" type="javascript">dataSetRow["CUSTOMERNUMBER"]</expression>
<property name="dataType">integer</property>
</structure>
</list-property>
<method name="onPrepare"><![CDATA[importPackage(Packages.org.eclipse.birt.report.model.elements);
importPackage (Packages.org.eclipse.birt.report.model.api);

fillGrid(10,"STATUS","grdOrdStatus");
]]></method>
<column id="183"/>
<column id="184"/>
<column id="185"/>
<column id="186"/>
<column id="187"/>
<column id="188"/>
<column id="189"/>
<column id="190"/>
<column id="191"/>
<column id="192"/>
<row id="193">
<property name="height">0.2in</property>
<cell id="194">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="195">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="196">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="197">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="198">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="199">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="200">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="201">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="202">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="203">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
</row>
</grid>
</cell>
</row>
<row id="177">
<cell id="178">
<label id="180">
<text-property name="text">Order Number</text-property>
</label>
</cell>
<cell id="179">
<grid name="grdOrdNumber" id="250">
<property name="dataSet">orderdetails</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">ORDERNUMBER</property>
<text-property name="displayName">ORDERNUMBER</text-property>
<expression name="expression" type="javascript">dataSetRow["ORDERNUMBER"]</expression>
<property name="dataType">integer</property>
</structure>
<structure>
<property name="name">ORDERDATE</property>
<text-property name="displayName">ORDERDATE</text-property>
<expression name="expression" type="javascript">dataSetRow["ORDERDATE"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">REQUIREDDATE</property>
<text-property name="displayName">REQUIREDDATE</text-property>
<expression name="expression" type="javascript">dataSetRow["REQUIREDDATE"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">SHIPPEDDATE</property>
<text-property name="displayName">SHIPPEDDATE</text-property>
<expression name="expression" type="javascript">dataSetRow["SHIPPEDDATE"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">STATUS</property>
<text-property name="displayName">STATUS</text-property>
<expression name="expression" type="javascript">dataSetRow["STATUS"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">COMMENTS</property>
<text-property name="displayName">COMMENTS</text-property>
<expression name="expression" type="javascript">dataSetRow["COMMENTS"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">CUSTOMERNUMBER</property>
<text-property name="displayName">CUSTOMERNUMBER</text-property>
<expression name="expression" type="javascript">dataSetRow["CUSTOMERNUMBER"]</expression>
<property name="dataType">integer</property>
</structure>
</list-property>
<method name="onPrepare"><![CDATA[importPackage(Packages.org.eclipse.birt.report.model.elements);
importPackage (Packages.org.eclipse.birt.report.model.api);

fillGrid(10,"ORDERNUMBER","grdOrdNumber");
]]></method>
<column id="251"/>
<column id="252"/>
<column id="253"/>
<column id="254"/>
<column id="255"/>
<column id="256"/>
<column id="257"/>
<column id="258"/>
<column id="259"/>
<column id="260"/>
<row id="261">
<property name="height">0.2in</property>
<cell id="262">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="263">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="264">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="265">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="266">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="267">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="268">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="269">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="270">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
<cell id="271">
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">1px</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">1px</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">1px</property>
</cell>
</row>
</grid>
</cell>
</row>
</grid>
</body>
</report>

Is there any way to access BIRT DataEngine from inside a running report?

$
0
0
Hi,

I want to make use of two data sets from within a plugin.
It's entirely possible that BIRT will use the data sets elsewhere in addition to me using them, so I want to make use of BIRTs caching when I access them.
The way to do this seems to be to use the same DataEngine instance that BIRT is using (and the docs for DataEngine say that only one should usually exist), but I can't see any way to get hold of BIRT's DataEngine.

The context in which I need to access the engine is a fetch method on a ScriptedDataSetEventHandler, but if I can access the engine by any method I should be able to get it to that context.

Is it possible?

Thanks

Jim

Google Analytics ODA Plugin

$
0
0
Hi,

i want to create customs Google Analytic Reports with BIRT so i try to conntect to Google Analytics with:
http://www.birt-exchange.org/org/devshare/designing-birt-reports/1489-google-analytics-oda-plugin/

But when i copy the two jars to my plugin directory i didnt see any Google Analytic Datasource in my Datasource configuration.

"There are two jars associated with plug‐in. Just copy those files into your eclipse plug‐in
directory and restart your eclipse. Now you should be able see ‘Google Analytics Data
Source’ in the data source list of birt report project."


And i couldnt test the sample report which is attached with the example above...

does this plugin still work?

Thanks

BiRT WebViewer & RCP e4 application

$
0
0
Hi all,

I've integrated BiRT(4.2.1 community edition) into my e4 RCP project. Everything is OK, but when the WebViewer.startup() method is called the following exception is thrown, because the Workbench does not exist in e4 rcp platform. could you please advise how to correct this?

Thanks a lot.


!ENTRY org.eclipse.osgi 4 0 2013-03-21 10:37:59.881
!MESSAGE An error occurred while automatically activating bundle org.eclipse.birt.report.designer.ui (292).
!STACK 0
org.osgi.framework.BundleException: Exception in org.eclipse.birt.report.designer.ui.ReportPlugin.start() of bundle org.eclipse.birt.report.designer.ui.
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:734)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.birt.report.viewer.utilities.ViewerClassPathHelper.getWorkspaceClassPath(ViewerClassPathHelper.java:191)
at org.eclipse.birt.report.viewer.utilities.WebViewer.startWebApp(WebViewer.java:767)
at org.eclipse.birt.report.viewer.utilities.WebViewer.startup(WebViewer.java:824)
at org.eclipse.birt.report.viewer.utilities.WebViewer.startup(WebViewer.java:819)
...
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1029)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:923)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:150)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)
Caused by: java.lang.IllegalStateException: Workbench has not been created yet.
at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:92)
at org.eclipse.birt.report.designer.ui.ReportPlugin.start(ReportPlugin.java:310)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
... 46 more
Root exception:
java.lang.IllegalStateException: Workbench has not been created yet.
at org.eclipse.ui.PlatformUI.getWorkbench(PlatformUI.java:92)
at org.eclipse.birt.report.designer.ui.ReportPlugin.start(ReportPlugin.java:310)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl$1.run(BundleContextImpl.java:711)
at java.security.AccessController.doPrivileged(Native Method)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.startActivator(BundleContextImpl.java:702)
at org.eclipse.osgi.framework.internal.core.BundleContextImpl.start(BundleContextImpl.java:683)
at org.eclipse.osgi.framework.internal.core.BundleHost.startWorker(BundleHost.java:381)
at org.eclipse.osgi.framework.internal.core.AbstractBundle.start(AbstractBundle.java:300)
at org.eclipse.osgi.framework.util.SecureAction.start(SecureAction.java:440)
at org.eclipse.osgi.internal.loader.BundleLoader.setLazyTrigger(BundleLoader.java:263)
at org.eclipse.core.runtime.internal.adaptor.EclipseLazyStarter.postFindLocalClass(EclipseLazyStarter.java:107)
at org.eclipse.osgi.baseadaptor.loader.ClasspathManager.findLocalClass(ClasspathManager.java:469)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.findLocalClass(DefaultClassLoader.java:216)
at org.eclipse.osgi.internal.loader.BundleLoader.findLocalClass(BundleLoader.java:395)
at org.eclipse.osgi.internal.loader.SingleSourcePackage.loadClass(SingleSourcePackage.java:35)
at org.eclipse.osgi.internal.loader.BundleLoader.findClassInternal(BundleLoader.java:461)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:421)
at org.eclipse.osgi.internal.loader.BundleLoader.findClass(BundleLoader.java:412)
at org.eclipse.osgi.internal.baseadaptor.DefaultClassLoader.loadClass(DefaultClassLoader.java:107)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.eclipse.birt.report.viewer.utilities.ViewerClassPathHelper.getWorkspaceClassPath(ViewerClassPathHelper.java:191)
at org.eclipse.birt.report.viewer.utilities.WebViewer.startWebApp(WebViewer.java:767)
at org.eclipse.birt.report.viewer.utilities.WebViewer.startup(WebViewer.java:824)
at org.eclipse.birt.report.viewer.utilities.WebViewer.startup(WebViewer.java:819)
at de.robotron.rcp.reportviewer.ReportViewer.startWebViewer(ReportViewer.java:67)
at de.robotron.rcp.reportviewer.ReportViewer.view(ReportViewer.java:113)
at de.robotron.rcp.mr_reports.MR_REPORTSMaskComposite$1.show(MR_REPORTSMaskComposite.java:199)
at de.robotron.rcp.mr_reports.MR_REPORTSMaskComposite$1.widgetSelected(MR_REPORTSMaskComposite.java:222)
at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:248)
at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:84)
at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1053)
at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:4169)
at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:3758)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine$9.run(PartRenderingEngine.java:1029)
at org.eclipse.core.databinding.observable.Realm.runWithDefault(Realm.java:332)
at org.eclipse.e4.ui.internal.workbench.swt.PartRenderingEngine.run(PartRenderingEngine.java:923)
at org.eclipse.e4.ui.internal.workbench.E4Workbench.createAndRunUI(E4Workbench.java:86)
at org.eclipse.e4.ui.internal.workbench.swt.E4Application.start(E4Application.java:150)
at org.eclipse.equinox.internal.app.EclipseAppHandle.run(EclipseAppHandle.java:196)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.runApplication(EclipseAppLauncher.java:110)
at org.eclipse.core.runtime.internal.adaptor.EclipseAppLauncher.start(EclipseAppLauncher.java:79)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:353)
at org.eclipse.core.runtime.adaptor.EclipseStarter.run(EclipseStarter.java:180)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclipse.equinox.launcher.Main.invokeFramework(Main.java:629)
at org.eclipse.equinox.launcher.Main.basicRun(Main.java:584)
at org.eclipse.equinox.launcher.Main.run(Main.java:1438)
at org.eclipse.equinox.launcher.Main.main(Main.java:1414)


Thanks for your replies.

two data sets in one bar chart - how to do this

$
0
0
Hi,

today I have a new problem.
I have to create a report with one bar chart to compare two of our company sites with separate data bases.
My first draft contains two bar charts, one per location. I created two data sets with different data sources, and I use one data set per bar chart - this works as expected.

Now my boss wants to have both charts in one, so that imho I have to add a second series with an other data set as the first series.

Is this possible? If yes, how to do? Scripting is not new to me, but with that I'm at my wits end. Thanks for your help.

Best Regards, Jörg

PS: I'm using BIRT 4.2.2.

Printing with BIRT Web Viewer and Tomcat

$
0
0
Hello,

i developed a dashboard with Javascript. This dashboard consists of iframes. Every iframe shows a chart.

The charts are:
* BIRT charts: shown with tomcat and birt web viewer: http:/localhost/8080/viewer/preview?__report=chart.rptdesign

* a Thermometer developed with js. Now i want to combine this thermometer with datas in BIRT. So i can't integrate the js-thermometer into the js-developed (there is no data connection), but i was forced to integrate the thermometer as html text element in BIRT.

So. If i open eclipse/BIRT and click "view report as html" i can see my thermometer working with the datas. all well. If i click "view report in web viewer" there's only a blank place. If i open firefox and run my dashboard, the iframe with the thermometer also stay blank (cause tomcat uses also the birt web viewer).

What can i do? I saw that the BIRT web viewer is able to print as html. Could this be the solution? How could i do printing?

I tried alredy without succes:
http:/localhost/8080/viewer/preview?__report=thermometer.rptdesign&__format=HTML
http:/localhost/8080/viewer/output?__report=thermometer.rptdesign&__format=HTML
http:/localhost/8080/viewer/print?__report=thermometer.rptdesign&__format=HTML

Best regards Marina

configure a datasource in tomcat uml

$
0
0
Hello,
I created a birt server with tomcat 7 and utizando the birt runtime. I have BIRT reports with uml data source, and when I jump I will throw the following exception:

faultString: org.eclipse.birt.report.engine.api.EngineException: An exception occurred During processing. Please see the Following message for details: Can not find or process the com.ibm.ccl.oda.uml driver's data source extension configuration.Cannot find the ODA dataSource extension (com.ibm.ccl.oda.uml).


Anyone know how to configure a datasource uml in tomcat?

kind regards
Viewing all 542 articles
Browse latest View live