This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.

Extension ID

com.castsoftware.birt

What's new?

See BIRT - 1.0 - Release Notes for more information.

Description

This extension provides support for BIRT (Business Intelligence and Reporting Tools) technology for JEE projects (see https://eclipse.github.io/birt-website/). This extension has two parts:

  • a standalone part which analyzes files with following extensions:
    • .rptdesign
    • .dashboard
    • .datadesign
    • .rptlibrary
    • .gadget
    • .rpttemplate
  • a part which works together with the JEE Analyzer. This part creates the links from the Java methods to the BIRT reports created by the standalone part.

In what situation should you install this extension?

If your JEE application source code uses BIRT Report files (*.rptdesign), you should install this extension.

Function Point, Quality and Sizing support

Feature

Supported?

Comments

Function Points
(transactions)

(tick)Indicates whether the extension provides support for OMG Function Point counting and Transaction Risk Index.
Quality and Sizing(error)Indicates whether the extension can measure size and whether a minimum set of Quality Rules exist.

AIP Core compatibility

This extension is compatible with:

AIP Core release

Supported

8.3.x(tick)

Supported DBMS servers used for AIP Core schemas

This extension is compatible with the following DBMS servers used to host AIP Core schemas:

DBMS

Supported

CSS / PostgreSQL(tick)

Prerequisites

(tick)

An installation of any compatible release of AIP Core (see table above)

Download instructions

You will need to manually install the extension using the Application - Extensions interface.

What results can you expect?

Objects

IconDescription

BIRT Report

BIRT Dashboard

BIRT Datamart

BIRT Library

BIRT Gadget

BIRT Template

BIRT SQL Query

BIRT CSV Data

BIRT Data Set

BIRT Component

BIRT Cube

BIRT Report Call

Reports, Dashboards, Gadgets, Templates

BIRT reports, dashboards, gadgets, templates have same structure. They can be considered as reports or parts of reports. They may refer to each other through include links.

Example Dashboard code:

<property name="reportName">^/Report Designs/MySpendDetail.rptdesign</property>

Data sets, SQL Queries, Csv data

BIRT data sets can be defined in any report or library. They may define an access to a database or .CSV through SQL code. Data sets may be called from any object through call links.

Example Report code:

<oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Charges Data Set" id="4765">
	<xml-property name="queryText"><![CDATA[select ch.transaction_date, ch.description, ch.amount, c.locale
		from all_charges ch inner join cust_info c on (c.customer_id=ch.customer_id)
		where c.customer_id = ?
		and ch.statement_date_id=?]]>
	</xml-property>
</oda-data-set>
...
<property name="dataSet">Charges Data Set</property>

Libraries

BIRT libraries contain components which may be called from other objects through use links.

Example Library code:

<components>
	<extended-item extensionName="Chart" name="Merchants-Chart" id="55">
    </extended-item>
</components>

Accompanying Dashboard code:

<property name="reportlibrary">{"reportLibrary":"/Applications/SFWealthApp-21Jul/SF Wealth.rptlibrary","reportItem":"Merchants-Chart"}</property>

Report calls

Reports may be called from java code where following method calls can be found:

org.eclipse.birt.report.engine.api.ReportEngine.openReportDesign

com.axelor.apps.ReportFactory.createReport

Example Java code:

import com.axelor.apps.ReportFactory;
...

public void printMove(ActionRequest request, ActionResponse response) throws AxelorException {
 String fileLink =
        ReportFactory.createReport(IReport.ACCOUNT_MOVE, moveName + "-${date}")
            .addParam("Locale", ReportSettings.getPrintingLocale(null))
            .addParam(
                "Timezone", move.getCompany() != null ? move.getCompany().getTimezone() : null)
            .addParam("moveId", move.getId())
            .generate()
            .getFileLink();
}

Rules

No rules are provided with this extension.