tag:blogger.com,1999:blog-89665518967504261692024-02-01T23:22:33.611-08:00Birt QueriesAnonymoushttp://www.blogger.com/profile/09229733023353092498noreply@blogger.comBlogger6125tag:blogger.com,1999:blog-8966551896750426169.post-43548043152539516302012-12-11T02:27:00.001-08:002013-05-19T11:03:34.084-07:00Downloading BIRT runtime and installation of eclipse plug-in for BIRT Report Designer<br />
<h3 align="left">
Birt Runtime Download </h3>
Below is the link for all the birt runtime versions starting from BIRT 2.2.2 to BIRT 4.2.1(latest) version :<br />
On below link select your required birt version and download birt-runtime-(your version here).zip package e.g.: birt-runtime-4_2_1.zip.<br />
<h4>
<a href="http://download.eclipse.org/birt/downloads/build_list.php" target="_blank">Birt Download page for all the version</a></h4>
<br />
<h3>
Eclipse Plugin Link for BIRT</h3>
To install Birt report designer on eclipse go to <strong>Help>Install New Software </strong>and add link from below table for required BIRT Version.<br />
<br />
<table border="0" cellpadding="2" cellspacing="0" style="width: 785px;"> <tbody>
<tr> <td valign="top" width="243"><strong>Birt Report designer version</strong><br />
<strong><br /></strong>
<strong><br /></strong>
<b style="background-color: white; font-family: Arial, sans-serif; font-size: 16px; line-height: 24px;">BIRT 4.2.x</b><br />
<strong><br /></strong></td> <td valign="top" width="247"><strong>Eclipse Plugin link</strong><br />
<strong><br /></strong>
<strong><br /></strong>
<a class="external free" href="http://download.eclipse.org/birt/update-site/4.2" rel="nofollow" style="background-color: white; background-image: url(http://wiki.eclipse.org/skins/eclipsenova/external.png); background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; font-family: Arial, sans-serif; font-size: 16px; line-height: 24px; padding-right: 13px;" title="http://download.eclipse.org/birt/update-site/4.2">http://download.eclipse.org/birt/update-site/4.2</a></td> <td valign="top" width="293"><strong>Description</strong><br />
<strong><br /></strong>
<br />
<ul>
<li><span style="background-color: white; font-family: Arial, sans-serif; font-size: 16px; line-height: 24px;">BIRT 4.2.0/4.2.1 Release builds.</span></li>
<li><span style="background-color: white; font-family: Arial, sans-serif; font-size: 16px; line-height: 24px;">In </span><a class="external text" href="http://wiki.eclipse.org/Juno/Simultaneous_Release_Plan" rel="nofollow" style="background-color: white; background-image: url(http://wiki.eclipse.org/skins/eclipsenova/external.png); background-position: 100% 50%; background-repeat: no-repeat no-repeat; color: #3366bb; font-family: Arial, sans-serif; font-size: 16px; line-height: 24px; padding-right: 13px; text-decoration: none;" title="http://wiki.eclipse.org/Juno/Simultaneous_Release_Plan">Juno</a></li>
<li><span style="background-color: white; font-family: Arial, sans-serif; font-size: 16px; line-height: 24px;">Work with Eclipse platform 4.2.x</span></li>
</ul>
<br /></td></tr>
<tr> <td valign="top" width="247"></td> <td valign="top" width="293"></td></tr>
<tr> <td valign="top" width="265"><b>BIRT 3.7.x (This <b>Release Repo NOT available yet</b>)</b></td> <td valign="top" width="247"><a href="http://download.eclipse.org/birt/update-site/3.7">http://download.eclipse.org/birt/update-site/3.7</a></td> <td valign="top" width="293"><ul>
<li>BIRT 3.7.0 Release builds. </li>
<li>In <a href="http://wiki.eclipse.org/Indigo/Simultaneous_Release_Plan">Indigo</a> </li>
<li>Work with Eclipse platform 3.7</li>
</ul>
</td></tr>
<tr> <td valign="top" width="270"><b>BIRT 2.6.x</b></td> <td valign="top" width="247"><a href="http://download.eclipse.org/birt/update-site/2.6">http://download.eclipse.org/birt/update-site/2.6</a></td> <td valign="top" width="293"><ul>
<li>BIRT 2.6.0 Release builds. </li>
<li>In Helios </li>
<li>Work with Eclipse platform 3.6</li>
</ul>
</td></tr>
<tr> <td valign="top" width="270"><b>BIRT 2.5.x</b></td> <td valign="top" width="247"><a href="http://download.eclipse.org/birt/update-site/2.5">http://download.eclipse.org/birt/update-site/2.5</a></td> <td valign="top" width="293"><ul>
<li>BIRT 2.5.0/2.5.1/2.5.2 Release builds </li>
<li>In <a href="http://www.eclipse.org/galileo/">Galileo</a> </li>
<li>Work with Eclipse platform 3.5</li>
</ul>
</td></tr>
<tr> <td valign="top" width="269"><b>BIRT 2.3.x</b></td> <td valign="top" width="247"><a href="http://download.eclipse.org/birt/update-site/2.3">http://download.eclipse.org/birt/update-site/2.3</a></td> <td valign="top" width="293"><ul>
<li>BIRT 2.3.0/2.3.1/2.3.2/2.3.2.1/2.3.2.2 Release builds </li>
<li>In Ganymede </li>
<li>Work with Eclipse platform 3.4.x</li>
</ul>
</td></tr>
<tr> <td valign="top" width="268"><b>BIRT 2.2.x</b> <br />
<b>BIRT 2.1.x</b></td> <td valign="top" width="247"><a href="http://download.eclipse.org/birt/update-site">http://download.eclipse.org/birt/update-site</a></td> <td valign="top" width="293">BIRT 2.2.0/2.2.1/2.2.2/, 2.1.0/2.1.1/2.1.2/2.1.3 Release builds</td></tr>
</tbody></table>
<br />
<h5>
<span style="color: #40545e;">If you find this information useful please comment and share Thanks :)</span></h5>
Anonymoushttp://www.blogger.com/profile/09229733023353092498noreply@blogger.com0tag:blogger.com,1999:blog-8966551896750426169.post-89805749513794124962012-12-10T05:36:00.001-08:002012-12-10T05:45:17.210-08:00Introduction to birt reporting tool<br> <ul> <li>Birt stands for <strong>Business Intelligence Reporting Tool.</strong> <li>Birt reporting tool has nice report designer which comes with nice eclipse plug-in where user can generate all kind reports. <li>This reporting tool generate .rptdesign file for your report.which you can deploy on web server containing birt runtime.</li></ul> <h4> </h4> <h3><span style="color: black">Basic overview of how birt works:</span></h3> <ul> <li>Every report needs data from database,xml or from some where. Similarly in BIRT we need create data source which will provide data to report.Below are the type data sources provided by birt: <ol> <li>JDBC Data Source :This data source allows to fetch data from database using JDBC.User need to provide jar of database. <li>XML Data Source :This data source fetch data from the xml file. XML file path can be static or dynamic. <li>Web Services Data Source :This data source fetch data from web service. <li>Scripted Data Source :This data source allows birt engine to fetch data from java collections like list,map..etc. <li>Flat Flat File Data Source <li>Custom Data Source : Allows to create own custom data sources.</li></ol> <li>After creating JDBC Data Source we can create a <strong>data set</strong> which defines sql query for fetching data and define columns, <li>Similarly data sets can be created using other data sources. <li>Multiple data sources and multiple data sets can be created and combined to create complex report. <li>After creating data set it can be used to display in table’s ,grid’s and also in charts. <li>Data set can be process using rhino JavaScript supported by birt for e.g. calculating sum,converting date formats and many more other javascript functions. <li>After creating report .rptdesign file needs to be deployed on the web application server. The report should be deployed under web application provided by birt run-time.</li></ul><br> <h3><strong>Advantages using BIRT</strong></h3> <ul> <li>Comes with nice eclipse report designer plug-in. <li>Easy deployment process. <li>Complex report can be easily generated by combining multiple data sources <li>Nice support of rhino JavaScript which is very help full. <li>Supports different type of charts. <li>Event provided by BIRT is also very use full.</li></ul> <h3> </h3> <h3>Disadvantages of BIRT</h3> <ul> <li>Little bit learning curve <li>Birt report need to be deployed on web application provided by birt runtime or needs to be integrated to web application. <li>Integrating birt using birt api in web application is tedious task.</li></ul><br> <h5><span style="color: #40545e">If you find this information useful please comment and share Thanks :)</span></h5> Anonymoushttp://www.blogger.com/profile/09229733023353092498noreply@blogger.com2tag:blogger.com,1999:blog-8966551896750426169.post-27939524813628853762012-10-18T00:40:00.000-07:002018-02-25T05:50:04.138-08:00Birt Integration With Web Application Part2<div dir="ltr" style="text-align: left;" trbidi="on">
<b style="font-family: Arial, Helvetica, sans-serif;"><a href="http://birtgrip.blogspot.in/2012/10/birt-integration-with-web-application.html" style="font-family: Arial, Helvetica, sans-serif;">Birt Integration Part1</a></b><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><a href="http://birtgrip.blogspot.in/2012/10/birt-integration-with-web-application-part2.html"><b>Birt Integration Part2</b></a></span><br />
<br />
<br />
<br />
<div>
<h2>
<b id="internal-source-marker_0.614859685767442"><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="color: #3d85c6; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;">Javascript for loading report using ajax:</span></span></b></h2>
<div>
report.js is used for loading and downloading report using ajax.Js files are located in <b>/WebContent/js/ </b> which also includes jquery-1.7.1.js.</div>
<div>
<br /></div>
<div>
report.js has two functions: </div>
<div>
<ul>
<li>generateReport(rptdesignDocName):This loades report in center div.</li>
<li>downloadReport(format): Download current report in selected format.</li>
</ul>
</div>
<div>
<br />
report.js code:<br />
</div>
<div style="height: 400px; overflow: auto;">
<pre class="js" name="code">/**
* This js contains two method
* 1)generateReport(reportName) : Requesting to load the report content in div.
* 2)downloadReport(format): Downloading the current report in given format.
*/
//this will hold the currently loaded report name.
currentReportName="";
/**
* This method is responsible for loading the reports in the report div.
* @param localReportName
*/
function generateReport(reportName) {
// here relative url is given if relative url is not working try giving full url
var reporturl ="/BirtIntegration/loadReport?ReportName="+reportName+"&ReportFormat=html";
$("#reportData").html("Loading...
<img align="middle" src="/BirtIntegration/images/loading.gif" />");
$('#reportData').load(reporturl ,function(response, status, xhr) {
if (status == "error") {
var msg = "Sorry but there was an error getting details ! ";
$("#reportData").html(msg + xhr.status + " " + xhr.statusText);
}
});
currentReportName=reportName;
}
/**
* Download report function
*
* @param format
*/
function downloadReport(format){
if(currentReportName==""){
alert("Please Select the report.");
return;
}
//here relative url is given if relative url is not working try giving full url
var reporturl ="/BirtIntegration/loadReport?ReportName="+currentReportName+"&ReportFormat="+format;
window.location.href = reporturl;
}
</pre>
</div>
</div>
<br />
<br />
<h2>
<b><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; color: #3d85c6; font-size: small; vertical-align: baseline; white-space: pre-wrap;">Pagination Functionality (Under Development)</span></span></b></h2>
<div>
<span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="color: #3d85c6; white-space: pre-wrap;"> </span><span style="white-space: pre-wrap;">The reports can have table which may have many number of rows,In such cases birt provides facility of loading particular page in their api. In a source of example project his part is partly implemented.I currently working one example having pagination in the report.</span></span></div>
<div>
<span style="color: #3d85c6; font-family: "arial" , "helvetica" , sans-serif;"><span style="white-space: pre-wrap;"><br /></span></span></div>
<h2>
<b><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; color: #3d85c6; font-size: small; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b></h2>
<h2>
<b><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; color: #3d85c6; font-size: small; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b></h2>
<h2>
<b><span style="font-family: "arial" , "helvetica" , sans-serif;"><span style="background-color: white; color: #3d85c6; font-size: small; vertical-align: baseline; white-space: pre-wrap;">Download Birt Integration Sample Project</span></span></b></h2>
Downloads : <a href="https://drive.google.com/open?id=1SsxEnMPuetcFYvX7lxUcC8l7gGBNaBoo">BirtIntergration.zip</a><br />
<span style="font-family: "arial" , "helvetica" , sans-serif;"><b><span style="font-size: x-small;"> </span><i>(Note*: After downloading project copy jar from birt runtime lib to /WEB-INF/lib and r</i></b><b style="font-style: italic;">efactor code as per your need</b>.<b><i>)</i></b></span><br />
<b><span style="font-size: x-small;"><i><br /></i></span></b>
<br />
<b>Update :Download below project for pagination support:</b><br />
<br />
Downloads : <a href="https://drive.google.com/file/d/1SsxEnMPuetcFYvX7lxUcC8l7gGBNaBoo/view" target="_blank">Birt Example with pagination support</a><br />
<br />
<b>Note* : Purpose of this example is to understand how to integrate Birt engine in code. Please understand and improve as per your need. Do not use directly in production.</b></div>
Anonymoushttp://www.blogger.com/profile/09229733023353092498noreply@blogger.com21tag:blogger.com,1999:blog-8966551896750426169.post-35665314235152313022012-10-16T09:47:00.001-07:002012-10-31T10:12:15.022-07:00 Birt vs Jasper<div dir="ltr" style="text-align: left;" trbidi="on">
<h2 style="text-align: left;">
Comparison between Birt and Jasper report (Birt Vs Japser Report):</h2>
<br />
<br />
After searching long on birt vs jasper report. I came to conclusion that both reporting tool has there own advantages and disadvantages.In my opinion both of them are powerful if their functionality is utilized properly and correctly.<br />
<br />
I am listing some of the key differences between Birt and Jasper report.<br />
<br />
<table id="rounded-corner" summary="2007 Major IT Companies' Profit">
<thead>
<tr>
<th class="rounded-company" scope="col">Company</th>
<th class="rounded-q1" scope="col">Birt</th>
<th class="rounded-q2" scope="col">Jasper</th>
</tr>
</thead>
<tfoot>
<tr>
<td class="rounded-foot-left" colspan="2"><em>Note *: These differences are based on my analysis on Birt and Jasper report</em></td>
<td class="rounded-foot-right"></td>
</tr>
</tfoot>
<tbody>
<tr>
<td>Multiple data sources per report</td>
<td>Supports multiple data sources.</td>
<td>Jasper not allows you to create two sources inside one report. You need to create sub report to do so. </td>
</tr>
<tr>
<td>Data Sources Type </td>
<td>less number of datasource as compare to Jasper.But supports facility to create own datasource.</td>
<td>More types of data sources than birt.</td>
</tr>
<tr>
<td>Joining the datasources</td>
<td>More than two data sources can be joined and report can be created.</td>
<td>Does not support joining data sources.</td>
</tr>
<tr>
<td>Report Designer Tool used.</td>
<td>Eclipse plugin</td>
<td>separate iReport designer,Netbean plugin</td>
</tr>
<tr>
<td>Example Reports</td>
<td>Variety of example reports are available.</td>
<td>-</td>
</tr>
<tr>
<td>Javascript support</td>
<td>BIrt support very nice mozilla rhino javascript support which is very help full when designing your reports.It give more control over every report element.</td>
<td>-</td>
</tr>
<tr>
<td>Outputs Formats</td>
<td>PDF HTML,XLS,WORD DOC.</td>
<td>PDF, XML, HTML, CSV, XLS, RTF, TXT</td>
</tr>
<tr>
<td>multi-column layout</td>
<td>Not Supported</td>
<td>Supported: This makes life easier when designing grids and tables.</td>
</tr>
<tr>
<td>CSS in controlled forma</td>
<td>Supported</td>
<td>Not supported.</td>
</tr>
<tr>
<td>Commercial license</td>
<td>No commercial license.</td>
<td>To get the full advance reporting capabilities, you must use JasperServer which requires a commercial license.
Note*:This is for advanced reporting purpose.</td>
</tr>
<tr>
<td>Documentation</td>
<td>Birt is little better in documentation.
</td>
<td>It also has good documentation only thing need to explore more deep.</td>
</tr>
<tr>
<td>Deploying reports on server</td>
<td>It’s very easy with birt.
</td>
<td>It’s little bit complex.</td>
</tr>
</tbody>
</table>
<br />
<b>Documentation and Tutorials:</b><br />
<b>Birt : </b><span style="color: #0b5394;"> </span><a href="http://www.eclipse.org/birt/phoenix/project/" rel="nofollow" target="_blank"><span style="color: #3d85c6;">http://www.eclipse.org/birt/phoenix/project/</span></a><br />
<b>Jasper:</b><span style="color: #3d85c6;"><b> </b><a href="https://www.jaspersoft.com/business-intelligence-tutorials" target="_blank"><span style="color: #3d85c6;">https://www.jaspersoft.com/business-intelligence-tutorials</span></a></span><br />
<br />
<br />
For more detailed differences visit below link:<br />
<a href="http://www.innoventsolutions.com/birt-jasper-pentaho-comparison-matrix.html" rel="nofollow" target="_blank"><span style="color: #3d85c6;">http://www.innoventsolutions.com/birt-jasper-pentaho-comparison-matrix.html</span></a></div>
Anonymoushttp://www.blogger.com/profile/09229733023353092498noreply@blogger.com6tag:blogger.com,1999:blog-8966551896750426169.post-87399421708353998082012-10-16T09:43:00.003-07:002013-04-01T04:26:51.403-07:00Maven Dependency For Birt ( Birt Maven Dependency )<div dir="ltr" style="text-align: left;" trbidi="on">
<h2 style="text-align: left;">
</h2>
<div class="MsoNormal">
I was working on integration of Birt engine with my application
and I was using maven for the dependency management. When I searched
for maven dependencies for birt I found very few details related to that, But after
Searching long time for maven dependency for birt .I finally figured out
the solution.<br />
<br />
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
Perform the following steps
for mavenizing birt :<o:p></o:p><br />
<br />
<strong>Birt Maven Dependency </strong><br />
<br /></div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]--> 1)<span style="font-size: 7pt;">
</span><!--[endif]-->Add the below repository in your pom.xml:<o:p></o:p></div>
<div class="MsoNormal">
<span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;"> <</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;">repositories</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;">></span><o:p></o:p></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">repository</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">id</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><u><span style="font-family: 'Courier New'; font-size: 10pt;">sonatype</span></u><span style="font-family: 'Courier New'; font-size: 10pt;">-<u>nexus</u>-releases</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">id</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">name</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><u><span style="font-family: 'Courier New'; font-size: 10pt;">Sonatype</span></u><span style="font-family: 'Courier New'; font-size: 10pt;"> <u>Nexus</u>
Releases</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">name</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin: 0cm 0cm 0.0001pt 72pt;">
<span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">url</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: 'Courier New'; font-size: 10pt;">https://oss.sonatype.org/content/repositories/releases/</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">url</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">repository</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;">repositories</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;">></span><o:p></o:p><br />
<span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoListParagraph" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<!--[if !supportLists]--> 2)<span style="font-size: 7pt;">
</span><!--[endif]-->Add below Maven Dependency :Currently this dependency
is for birt version 3.7.1 <o:p></o:p></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">dependency</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">groupId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: 'Courier New'; font-size: 10pt;">org.eclipse.birt.runtime.3_7_1</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">groupId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">artifactId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: 'Courier New'; font-size: 10pt;">org.eclipse.birt.runtime</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">artifactId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">version</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: 'Courier New'; font-size: 10pt;">3.7.1</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">version</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;">dependency</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;">> </span><br />
<span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;"><br /></span>
<span style="font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;"><br /></span>
<strong>Birt Maven Dependency 4.2.0 and 4.2.2</strong><br />
<strong><br /></strong>
<br />
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<b><span style="font-family: 'Courier New'; font-size: 10pt;">1)</span>Birt Maven Dependency 4.2.0</b></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">dependencies</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;">
</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">dependency</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">groupId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: 'Courier New'; font-size: 10pt;">org.eclipse.birt.runtime</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">groupId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">artifactId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: 'Courier New'; font-size: 10pt;">org.eclipse.birt.runtime</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">artifactId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">version</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: 'Courier New'; font-size: 10pt;">4.2.0</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">version</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">dependency</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;">dependencies</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;">><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;"><br /></span></div>
<div style="text-align: left;">
<b><span style="font-family: Courier New; font-size: x-small;">2)</span>Birt Maven Dependency 4.2.2</b></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;">
</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">dependencies</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;">
</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">dependency</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">groupId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: 'Courier New'; font-size: 10pt;">org.eclipse.birt.runtime</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">groupId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">artifactId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: 'Courier New'; font-size: 10pt;">org.eclipse.birt.runtime</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">artifactId</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"><</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">version</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: 'Courier New'; font-size: 10pt;">4.2.2</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">version</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="margin-bottom: 0.0001pt;">
<span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt;">dependency</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt;">></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: 'Courier New'; font-size: 10pt; line-height: 115%;"> </span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;"></</span><span style="color: #3f7f7f; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;">dependencies</span><span style="color: teal; font-family: "Courier New"; font-size: 10.0pt; line-height: 115%;">><o:p></o:p></span></div>
<br />
<strong><br /></strong>
<br />
Check below links as well:<br />
<br />
<br />
<div style="text-align: left;">
<b>1)<a href="http://birtgrip.blogspot.in/2012/10/birt-integration-with-web-application.html" target="_blank">Birt Integration With Web Application</a>.</b></div>
<div style="text-align: left;">
2)<b><a href="http://birtgrip.blogspot.in/2012/12/downloading-birt-runtime-and.html" target="_blank">Installation of eclipse plug-in for BIRT Report Designer</a>.</b></div>
<br />
<br />
<br />
<br />
<h4 style="background-color: white; border-collapse: separate; border-spacing: 0px; border-width: 0px; color: #222222; font-family: myriad-pro-1, myriad-pro-2, 'Lucida Grande', sans-serif; font-size: 20px; font-weight: normal; line-height: 25px; margin: 0px 0px 15px; padding: 0px; position: relative;">
<span style="color: #444444;">If you find this post useful please share and leave a comment below, thanks! :)</span></h4>
</div>
<div class="MsoNormal">
</div>
</div>
<div class="MsoNormal">
<div class="MsoNormal">
<span style="font-family: Verdana, sans-serif; font-size: 10pt; line-height: 115%;"><o:p></o:p></span></div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/09229733023353092498noreply@blogger.com8tag:blogger.com,1999:blog-8966551896750426169.post-74954229946620836162012-10-16T02:06:00.000-07:002013-06-25T10:58:21.729-07:00Birt Integration With Web Application<div dir="ltr" style="text-align: left;" trbidi="on">
<span style="font-family: Arial, Helvetica, sans-serif;"><b id="internal-source-marker_0.614859685767442" style="font-weight: normal;"></b><br /></span>
<br />
<div class="separator" style="clear: both; text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://birtgrip.blogspot.in/2012/10/birt-integration-with-web-application.html"><strong>Birt Integration Part1</strong></a></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><a href="http://birtgrip.blogspot.in/2012/10/birt-integration-with-web-application-part2.html"><strong>Birt Integration Part2</strong></a></span><br />
<b id="internal-source-marker_0.614859685767442" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Birt is one of the powerful free report designing tool which comes with nice eclipse plugin having good report designing tool.</span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span>When I was designing reports with designer plugin in eclipse I found it very simple. But when it came to deployment we need to deploy it in separate web application provided by birt-runtime, but it was not the requirement for me.I was looking for birt integration with my existing application. So I started analysis for integrating birt report engine in my application and after 1 week of research I was successfully able to integrate with my application.</span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span>For better understanding I have created one simple web application.Go through following steps to achieve successful integration:</span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span></b>
<br />
<h3>
<span style="color: #3d85c6;"><span style="font-family: Arial, Helvetica, sans-serif;"><strong>Index For Birt Integration</strong></span><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span><span style="font-family: Arial, Helvetica, sans-serif;"> 1) Overview</span></span></h3>
<h3>
<span style="color: #3d85c6;"><span style="font-family: Arial, Helvetica, sans-serif;"> 2) Installation</span></span></h3>
<h3>
<span style="color: #3d85c6; font-family: Arial, Helvetica, sans-serif;"> 3) Java Classes For integration</span></h3>
<h3>
<span style="color: #3d85c6;"><span style="font-family: Arial, Helvetica, sans-serif;"> 4) Jsp and Sample Reports</span></span></h3>
<h3>
<span style="color: #3d85c6;"><span style="font-family: Arial, Helvetica, sans-serif;"> 5) JavaScript for loading report using ajax.</span></span></h3>
<h3>
<span style="color: #3d85c6;"><span style="font-family: Arial, Helvetica, sans-serif;"> 6) Sample report with pagination functionality (Under development).</span></span></h3>
<h3>
<span style="color: #3d85c6;"><span style="font-family: Arial, Helvetica, sans-serif;"> 7) Download </span></span></h3>
<div>
<span style="color: #3d85c6;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></span></div>
<div>
<span style="color: #3d85c6;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></span></div>
<div>
<span style="color: #3d85c6; font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div>
<span style="color: #3d85c6; font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<h2>
<span style="color: #3d85c6;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: large;">Overview</span></span></h2>
<div>
<span style="color: #3d85c6;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: large;"><br /></span></span></div>
<div>
<b id="internal-source-marker_0.614859685767442"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="font-weight: normal; white-space: pre;"> </span><span style="font-weight: normal;">This simple </span>birt integration<span style="font-weight: normal;"> web project which provides the same functionality provided by birt web application.Basic flow starts with ajax report request which is simply handled by one servlet and which is handover to report engine for processing and rendering output to the output response or downloading in pdf,xls and doc format.</span><i style="font-weight: normal;">Note* Currently pagination feature is under progress.</i></span></span></b></div>
<div>
<b id="internal-source-marker_0.614859685767442" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> Here we are using following technology:</span></span></b><br />
<br />
<ol>
<li><b id="internal-source-marker_0.614859685767442" style="font-weight: normal; text-indent: 36pt;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Birt 3.7.1 libs</span></b></li>
<li><b id="internal-source-marker_0.614859685767442" style="font-weight: normal; text-indent: 36pt;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">jquery-1.7.1.js (here any version will work as we are using for ajax call only)</span></b></li>
<li><b id="internal-source-marker_0.614859685767442" style="font-weight: normal; text-indent: 36pt;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Simple servlet and jsp.</span></b></li>
<li><b style="font-weight: normal; text-indent: 36pt;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Eclipse Plugin For Birt Report Designer.</span></b></li>
</ol>
<span style="font-family: Arial, Helvetica, sans-serif;"><b id="internal-source-marker_0.614859685767442" style="font-weight: normal;">
</b>
</span><br />
<h2 dir="ltr">
<b id="internal-source-marker_0.614859685767442"><span style="color: #3d85c6; font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 19px; vertical-align: baseline; white-space: pre-wrap;"> Installation</span></span></b></h2>
<span style="font-family: Arial, Helvetica, sans-serif;"> Follow below steps for installation of this example web project.</span><br />
<div>
<br />
<b id="internal-source-marker_0.614859685767442" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> 1) Download this example web project from <a href="https://dl.dropbox.com/u/108524814/BirtIntegration.rar">here</a>.</span></span></b><br />
<b><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; white-space: pre-wrap;"><span style="font-weight: normal;"> </span>Update :Check sample project for pagination support <a href="http://birtgrip.blogspot.in/2012/10/birt-integration-with-web-application-part2.html" target="_blank">here</a><span style="font-weight: normal;"><br /></span></span><span style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> 2) Import the project in eclipse</span><br /><span style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> 3) Download birt 3.7.1 runtime or other version from <a href="http://download.eclipse.org/birt/downloads/">here</a> </span><br /><span style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> 4) Copy all the jars from </span><span style="font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">birt-runtime-3_7_1\birt-runtime-3_7_1\ReportEngine\lib </span><span style="font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">To web </span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> applications lib.</span></b><br />
<b style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #3d85c6; font-size: 19px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b>
<b id="internal-source-marker_0.614859685767442" style="font-family: Arial, Helvetica, sans-serif;"><span style="color: #3d85c6; font-size: 19px; vertical-align: baseline; white-space: pre-wrap;">Java Classes For integration</span></b><br />
<br />
<b id="internal-source-marker_0.614859685767442" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span>These are the classes which are responsible for integrating birt engine in web application. These classes will simply instantiate ,initialise the report engine,process reports and destroy the engine when context is destroyed. </span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; white-space: pre-wrap;"><br /></span><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Below is short description of the classes in sample web project:</span><br /><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">1) BirtReportController : This class handles request for the report rendering or downloading.</span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">2) ReportProcessor : This is singleton class which takes care of starting report engine ,processing report ,rendering report and shutting down report engine.</span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">3) ReportRenderer : This class actually process reports and renders it to httpresponse object.It also handles downloading report functionality.</span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">4) BirtEngineFactory : This class configures birt engine using EngineConfig class object and returns </span></span></b><br />
<b><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"> BirtEngine object.It has logging configuration.</span><br /><span style="font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">.</span><br /><span style="font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">5) ReportParameterConverter : Convert report parameter value between object and string. </span><br /><span style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;">Below is the source code of the some Class with explanation:</span><br /><span style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><i>1) BirtReportController :</i></span></span></b><br />
<div dir="ltr" style="margin-bottom: 0pt; margin-top: 0pt; text-indent: 36pt;">
<b id="internal-source-marker_0.614859685767442" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">This class extends httpservlet which is responsible for handing report rendering request. </span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></div>
<span id="internal-source-marker_0.614859685767442"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span>Method:</span></span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></span>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;"><b id="internal-source-marker_0.614859685767442" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;">
<li style="font-size: 15px; list-style-type: circle; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">init() : Initialise birt engine</span></li>
<li style="font-size: 15px; list-style-type: circle; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">get() or post() : handles processing and downloading report request</span></li>
<li style="font-size: 15px; list-style-type: circle; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">destroy() :Shutdown report engine.</span></li>
</span></b></ul>
<span style="font-family: Arial, Helvetica, sans-serif;"><b id="internal-source-marker_0.614859685767442" style="font-weight: normal;">
</b>
</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">code:
</span><br />
<div style="height: 400px; overflow: auto;">
<pre class="java" name="code">package BirtIntegration.Controller;
import java.io.IOException;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import BirtIntegration.BirtViewer.ReportProcessor;
public class BirtReportController extends HttpServlet {
//this is the single tone class.
private ReportProcessor processor ;
@Override
public void init(){
processor = ReportProcessor.getReportProcessor();
processor.initilizeBirtEngine();
System.out.println("Engine Initialized!!");
}
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
processor.processReport(request, response);
System.out.println("processing report complete");
}
@Override
public void doPost(HttpServletRequest request,
HttpServletResponse response)
throws ServletException, IOException {
doGet(request, response);
}
@Override
public void destroy(){
processor.shutDownBirtEngine();
}
}
</pre>
</div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<b id="internal-source-marker_0.6839245653245598"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><i>2) ReportProcessor :</i></span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b>
<b id="internal-source-marker_0.6839245653245598" style="font-weight: normal; text-indent: 36pt;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> This is singleton class has BirtEngineFactory and ReportRenderer object.</span></b><br />
<div style="text-indent: 0px;">
<b style="font-weight: normal; text-indent: 36pt;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b></div>
<b id="internal-source-marker_0.6839245653245598" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline;"></span><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> This class performs following operations using ReportRenderer:</span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b>
<br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;"><b id="internal-source-marker_0.6839245653245598" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;">
<li style="font-size: 15px; list-style-type: circle; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Initializing Report Engine. </span></li>
<li style="font-size: 15px; list-style-type: circle; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Processing report for rendering and downloading.</span></li>
<li style="font-size: 15px; list-style-type: circle; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">Destroying report engine.</span></li>
</span></b></ul>
<span style="font-family: Arial, Helvetica, sans-serif;"><b id="internal-source-marker_0.6839245653245598" style="font-weight: normal;">
</b>
</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Code:
</span><br />
<div style="height: 400px; overflow: auto;">
<pre class="java" name="code"> package BirtIntegration.BirtViewer;
import java.io.File;
import java.util.logging.Level;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import BirtIntegration.factory.BirtEngineFactory;
/**
* This class is responsible for initlizing birt engine configuring birt *engine,and processing and rendering reports.
*
*/
public class ReportProcessor {
private BirtEngineFactory birtEngineFactory;
private ReportRenderer reportRenderer;
private static ReportProcessor reportProcessor =null;
//private constructor for single tone object.
private ReportProcessor(){
}
public boolean initilizeBirtEngine(){
boolean isInitialized =true;
reportRenderer = new ReportRenderer();
reportRenderer.setBirtEngine( this.getBitEngineFactory().getEngine() );
System.out.println("Bit Engine Successfully Started.");
return isInitialized;
}
/**
* Annotated with @ bean and will create BirtEngineFactory bean.
* @return
*/
private BirtEngineFactory getBitEngineFactory(){
birtEngineFactory = birtEngineFactory = BirtEngineFactory.getBirtEngineFactory() ;
//uncomment to use logging
//birtEngineFactory.setLogLevel( Level.FINEST);
//birt engine logs will be created under this directory.
//currently this line is commented
//birtEngineFactory.setLogDirectory( new File("E:/WorkSpaces/PracticeWorkspace/BirtIntegration/birtlogs"));
return birtEngineFactory;
}
public void shutDownBirtEngine(){
birtEngineFactory.destroy();
}
public void processReport(HttpServletRequest request,
HttpServletResponse response) {
reportRenderer.processReportDesignDocAndRenderReport(request, response);
}
public static ReportProcessor getReportProcessor() {
if(reportProcessor !=null){
return reportProcessor;
}
reportProcessor = new ReportProcessor();
return reportProcessor;
}
}
</pre>
</div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<b id="internal-source-marker_0.6839245653245598"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><i>3) ReportRenderer</i><span style="font-weight: normal;"> </span></span><br /><span style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span><br /><span style="font-size: 15px; font-weight: normal; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span>This class actually process the report request. This class has method processReportDesignDocAndRenderReport(request,response), the request object has following parameters :</span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;">
<li style="font-size: 15px; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.6839245653245598" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif; vertical-align: baseline; white-space: pre-wrap;">ReportName :ReportName which is processed (e.g books_report.rptdesign).</span></b></li>
<li style="font-size: 15px; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.6839245653245598" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif; vertical-align: baseline; white-space: pre-wrap;">ReportFormat : Html,Pdf,Xls,word. If it is other than html then it’s download request.</span></b></li>
<li style="font-size: 15px; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.6839245653245598" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif; vertical-align: baseline; white-space: pre-wrap;">pageNumber : This used to render particular page request in pagination.</span></b></li>
<li style="font-size: 15px; list-style-type: disc; vertical-align: baseline;"><b id="internal-source-marker_0.6839245653245598" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif; vertical-align: baseline; white-space: pre-wrap;">Other Request Parameter in request object will be converted in report parameter ,which will be given to query or other data sources as per the need.These parameters are used for filtering the reports data.</span></b></li>
</ul>
<b id="internal-source-marker_0.6839245653245598" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> All the reports (.rptdesign ) are located in </span><span style="font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">BirtIntegration\WebContent\Reports </span><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">folder.</span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; white-space: pre-wrap;"><br /></span><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> The report is processed in two phases by</span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> 1)IRunTask : Process .repdesign and generates </span><span style="font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">temp.rptdocument</span><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> and it also converts </span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> request parameter to report parameter.</span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; white-space: pre-wrap;"><br /></span><span style="vertical-align: baseline;"></span><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> 2)IRenderTask : Processes </span><span style="font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">temp.rptdocument </span><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">document and renders report to response </span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> object based on type html,pdf,xls. It is responsible for setting the current page </span></span></b><br />
<b style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> and also getting the total count of pages.</span><span style="font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> Code of processReportDesignDocAndRenderRepor() is below for whole class code download the <a href="https://dl.dropbox.com/u/108524814/BirtIntegration.rar">example project</a> :</span></span></b><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><b style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b>
<b style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">code:</span></b>
<b style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b>
<b style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><br /></span></b>
</span><br />
<span style="font-family: Arial, Helvetica, sans-serif;">Code:
</span><br />
<div style="height: 400px; overflow: auto;">
<pre class="java" name="code">/**
* This is overridden method which responsible for processing report i.e .rptdesign document.and also rendering the report.
*
It also handles downloading the report.
*
*/
protected void processReportDesignDocAndRenderReport(HttpServletRequest request,
HttpServletResponse response) {
try{
//get report name from request object.
String reportName = request.getParameter( this.reportNameRequestParameter );
//logger.info("Processing report:"+reportName);
//get format in which we are going to render report i.e:html,pdf,excel
String format = request.getParameter( this.reportFormatRequestParameter );
//pagination handling
String pageNumber = request.getParameter("pageNumber");
int currentPageNumber=0;
if(pageNumber!=null&&!pageNumber.equals(""))
{
currentPageNumber = Integer.valueOf(pageNumber);
}
//give the download report Name here.
String downloadFileName = "MyReport";
//Base URL
String baseUrl = request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort()+request.getContextPath();
ServletContext sc = request.getSession().getServletContext();
if( format == null ){
format="html";//default format
}
IReportRunnable runnable = null;
//opend design document
runnable = birtEngine.openReportDesign( sc.getRealPath("/Reports")+"/"+reportName );
//first process the report using Iruntask which will create the temp.rptdocument
IRunTask iRunTask = birtEngine.createRunTask(runnable);
iRunTask.getAppContext().put( EngineConstants.APPCONTEXT_BIRT_VIEWER_HTTPSERVET_REQUEST, request );
//put the parameter values from request to the report parameter
iRunTask.setParameterValues(discoverAndSetParameters( runnable, request ));
//create temp rpddocument
iRunTask.run(sc.getRealPath("/Reports")+"/temp.rptdocument");
iRunTask.close();
//now do the rendering operation
IReportDocument reportDoc = birtEngine.openReportDocument( sc.getRealPath("/Reports")+"/temp.rptdocument" );
IRenderTask iRenderTask= birtEngine.createRenderTask(reportDoc);
//set the format
response.setContentType( birtEngine.getMIMEType( format ));
IRenderOption options = null == this.renderOptions ? new RenderOption() : this.renderOptions;
//if html set html related options
if( format.equalsIgnoreCase("html")){
HTMLRenderOption htmlOptions = new HTMLRenderOption( options);
htmlOptions.setOutputFormat("html");
htmlOptions.setOutputStream(response.getOutputStream());
htmlOptions.setImageHandler(new HTMLServerImageHandler());
htmlOptions.setHtmlPagination(true);
htmlOptions.setBaseImageURL(baseUrl+"/images");//TODO:Change from local host to actual path
htmlOptions.setImageDirectory(sc.getRealPath("/images"));
htmlOptions.setSupportedImageFormats("PNG");
htmlOptions.setEmbeddable(true);
iRenderTask.setRenderOption(htmlOptions);
//if pdf set pdf related downloading options
}else if( format.equalsIgnoreCase("pdf") ){
PDFRenderOption pdfOptions = new PDFRenderOption( options );
pdfOptions.setSupportedImageFormats("PNG;GIF;JPG;BMP");
pdfOptions.setOutputFormat("pdf");
pdfOptions.setImageHandler(new HTMLServerImageHandler());
pdfOptions.setBaseURL(baseUrl);
//pdfOptions.setOutputFileName("my.pdf");
pdfOptions.setOption(IPDFRenderOption.PAGE_OVERFLOW, IPDFRenderOption.FIT_TO_PAGE_SIZE);
response.setHeader( "Content-Disposition", "attachment; filename="+downloadFileName );
pdfOptions.setOutputStream(response.getOutputStream());
iRenderTask.setRenderOption(pdfOptions);
//if XLS set XLS related downloading options
}else if(format.equalsIgnoreCase("xls")){
EXCELRenderOption xlsOptions = new EXCELRenderOption(options);
xlsOptions.setOutputFormat("xls");
response.setHeader( "Content-Disposition", "attachment; filename="+downloadFileName);
xlsOptions.setImageHandler(new HTMLServerImageHandler());
xlsOptions.setOutputStream(response.getOutputStream());
//xlsOptions.setOption(IRenderOption.EMITTER_ID, "org.uguess.birt.report.engine.emitter.xls");
xlsOptions.setOption(IRenderOption.EMITTER_ID, "org.eclipse.birt.report.engine.emitter.prototype.excel");
iRenderTask.setRenderOption(xlsOptions);
}else{
response.setHeader( "Content-Disposition", "attachment; filename=\"" + downloadFileName + "\"" );
options.setOutputStream(response.getOutputStream());
options.setOutputFormat(format);
iRenderTask.setRenderOption(options);
}
/*
* This is used for pagination and setting the page number we want to display
*/
long pageCount = iRenderTask.getTotalPage();
if(currentPageNumber!=0)
{
if(pageCount >=currentPageNumber){
iRenderTask.setPageNumber(currentPageNumber);
}
}
//save the page count in session to use for pagination.
//using this page count we can implement pagination.
request.getSession().setAttribute("pageCount", pageCount);
//render report
iRenderTask.render();
//close task and doc
iRenderTask.close();
reportDoc.close();
//logger.info("Processing report completed successfully:"+reportName);
}catch (Exception e) {
//logger.error("Exception while proceessing report ",e);
e.printStackTrace();
}
}
</pre>
</div>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">BirtEngineFactory and ReportParameterConverter classes are pretty straight forward.</span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">Please click <a href="https://dl.dropbox.com/u/108524814/BirtIntegration.rar">here </a>to download source.</span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span><b id="internal-source-marker_0.17691890825517476"><span style="color: #3d85c6; font-family: Arial, Helvetica, sans-serif; font-size: 16px; vertical-align: baseline; white-space: pre-wrap;"><b id="internal-source-marker_0.17691890825517476"><span style="vertical-align: baseline;">Jsp and </span></b>Sample Reports</span></b></b><br />
<br />
<span style="font-family: Arial, Helvetica, sans-serif;"><b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;">
</b>
</span><br />
<div>
<b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"> There is one Reports.jsp located in /WebContent/jsp/Reports.jsp which used for handling report loading . This is simple jsp which has left navigation div and center div. When report is selected from the left navigation it will be loaded in center div and this is an ajax call for loading report.Also download option are above the center div which allows user to download report in pdf,xls and doc format. Screen shots of jsp is in below section.</span></b></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;">
</b>
</span><br />
<div>
<b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></b></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;">
</b>
</span><br />
<div>
<b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">I have created two sample reports. These reports are located in </span><span style="font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">/WebContent/Reports </span><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">directory.</span></span></b></div>
<span style="font-family: Arial, Helvetica, sans-serif;"><b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /></b>
</span><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;"><b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;">
<li style="font-size: 15px; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">First_Report.rptdesign (Hello World Report)</span></li>
</span></b></ul>
<b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span><span class="Apple-tab-span" style="white-space: pre;"> </span></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span>This is simple report contains one Hello world message and one image.</span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU92LEfh1qOISjGmZhZMq5bmzZ7lmMgJUi7fijQpJzt8TFlPden8mJBh-9jlrxFo_YmgkA3MezPNNPEWu7WChsQDEoPGolqJLS5JP3XW9YP0goyku1vZZ4Rfxpu09UXJ1vgQ_TxDHiBmU/s1600/Birt+Integration+Hello+world.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgU92LEfh1qOISjGmZhZMq5bmzZ7lmMgJUi7fijQpJzt8TFlPden8mJBh-9jlrxFo_YmgkA3MezPNNPEWu7WChsQDEoPGolqJLS5JP3XW9YP0goyku1vZZ4Rfxpu09UXJ1vgQ_TxDHiBmU/s1600/Birt+Integration+Hello+world.PNG" height="196" width="640" /></a><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"><span class="Apple-tab-span" style="white-space: pre;"> </span></span></span></b><br />
<ul style="margin-bottom: 0pt; margin-top: 0pt;"><b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;">
<li style="font-size: 15px; list-style-type: disc; vertical-align: baseline;"><span style="vertical-align: baseline; white-space: pre-wrap;">books_report.rptdesign</span></li>
</span></b></ul>
<b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span></b>
<br />
<div dir="ltr" style="margin-bottom: 0pt; margin-left: 36pt; margin-top: 0pt;">
<b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">This report will show the details books in table and it will show pie chart of total price by book type below the table.This reports uses xml data source to load the details.The books.xml is located in </span><span style="font-size: 15px; font-weight: bold; vertical-align: baseline; white-space: pre-wrap;">/WebContent/ReportXmlDatasource/books.xml. </span><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span></span></b></div>
<b id="internal-source-marker_0.17691890825517476" style="font-weight: normal;"><span style="font-family: Arial, Helvetica, sans-serif;">
<span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"></span><br /><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> To locate the books.xml check the data source url is working by hitting test connection</span></span></b><br />
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><b style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;"> as </span></b><b style="font-weight: normal;"><span style="font-size: 15px; vertical-align: baseline; white-space: pre-wrap;">shown below. If it is not working then browse to the books.xm manually.</span></b></span><br />
<div>
<span style="font-family: Arial, Helvetica, sans-serif;"><span style="font-size: 15px; white-space: pre-wrap;"> </span><span style="font-size: 15px; white-space: pre-wrap;"> Currently url is :</span><span style="font-size: 15px; white-space: pre-wrap;">http://localhost:8080/BirtIntegration/ReportXmlDatasource/books.xml</span></span><br />
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span>
<span style="font-family: Arial, Helvetica, sans-serif;">Data Source window:</span><br />
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjipAUlrxdZSeS4j0-4B8rB0-vJ8wZMpZqISRb9GbOq6_eJtkRq4Y5UHvbuyR_iy_4xZpjtlMA1xohENjL8zfZVJprCfNJSu2N6XL707_yaEPP_MB4ivJYwS0SeefW51TOGg9QeHs3KX2k/s1600/DataSource_Birt+Integration.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjipAUlrxdZSeS4j0-4B8rB0-vJ8wZMpZqISRb9GbOq6_eJtkRq4Y5UHvbuyR_iy_4xZpjtlMA1xohENjL8zfZVJprCfNJSu2N6XL707_yaEPP_MB4ivJYwS0SeefW51TOGg9QeHs3KX2k/s1600/DataSource_Birt+Integration.PNG" height="351" width="640" /></span></a></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; white-space: pre-wrap;"> </span><br />
<div class="separator" style="clear: both; text-align: left;">
</div>
<div style="text-align: center;">
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; white-space: pre-wrap;">Screen Shot for Books Details Report:</span></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrNLWVnZ4ofLNulG6AT3t4ZmzM2Dx4ejBVzIYVjKIZpR6ejCllXH51OaRwTCLZneewWQMwKRvLNZiS7p6EQM7gvN8oWCz6iTXtcmqEnyEZeXATRibCjAGXbd5m9mDFqU3EluPEjuGNRDw/s1600/Birt+Integration+Books+Report.PNG" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><span style="font-family: Arial, Helvetica, sans-serif;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhrNLWVnZ4ofLNulG6AT3t4ZmzM2Dx4ejBVzIYVjKIZpR6ejCllXH51OaRwTCLZneewWQMwKRvLNZiS7p6EQM7gvN8oWCz6iTXtcmqEnyEZeXATRibCjAGXbd5m9mDFqU3EluPEjuGNRDw/s1600/Birt+Integration+Books+Report.PNG" height="444" width="640" /></span></a><br />
<div>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; white-space: pre-wrap;"> </span></div>
<div>
<span style="font-family: Arial, Helvetica, sans-serif; font-size: 15px; white-space: pre-wrap;"><br /></span></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<div>
Visit below link for part2 and downloading example project:<br />
<a href="http://birtgrip.blogspot.com/2012/10/birt-integration-with-web-application-part2.html">Birt Integration With Web Application Part2</a></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
Anonymoushttp://www.blogger.com/profile/09229733023353092498noreply@blogger.com83