BIRT Exchange Forum: pdf is generated with empty - BIRT Exchange Forum

Jump to content


 

BIRT Poll: To best make a table fill a pdf page before breaking (PL=page layout, PBI=page break interval) set:

PL: auto, PBI: 0PL: fixed, PBI: 0PL: auto, PBI: 1000000PL: fixed, PBI: 1000000
Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

pdf is generated with empty pdf is generated with empty Rate Topic: -----

#1 User is offline   chandu07 Icon

  • Newbie
  • Pip
  • Group: Members
  • Posts: 3
  • Joined: 02-April 12


Posted 09 April 2012 - 07:59 AM

Hi,

Same class is generating pdf in standalone but when i try with spring then it is not diplaying data in PDF.

Can some one help me please.

code:

package com.crimsonlogic.govt.oib.service;

import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
import java.util.logging.Level;

import org.eclipse.birt.core.framework.Platform;
import org.eclipse.birt.report.engine.api.EXCELRenderOption;
import org.eclipse.birt.report.engine.api.EngineConfig;
import org.eclipse.birt.report.engine.api.EngineException;
import org.eclipse.birt.report.engine.api.IPDFRenderOption;
import org.eclipse.birt.report.engine.api.IRenderOption;
import org.eclipse.birt.report.engine.api.IRenderTask;
import org.eclipse.birt.report.engine.api.IReportDocument;
import org.eclipse.birt.report.engine.api.IReportEngine;
import org.eclipse.birt.report.engine.api.IReportEngineFactory;
import org.eclipse.birt.report.engine.api.IReportRunnable;
import org.eclipse.birt.report.engine.api.IRunTask;
import org.eclipse.birt.report.engine.api.PDFRenderOption;
import org.eclipse.birt.report.engine.api.RenderOption;
import org.eclipse.birt.report.engine.emitter.csv.CSVRenderOption;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;

import com.crimsonlogic.govt.oib.dao.ReportDAO;
import com.crimsonlogic.govt.oib.domain.dto.AdminPortalUsersReportDTO;
import com.crimsonlogic.govt.oib.domain.dto.AdminReportModel;
import com.crimsonlogic.govt.oib.util.ServiceException;

@Service("reportService")
@Transactional
public class ReportServiceImpl implements ReportService
{


static IReportEngine birtEngine = null;
static {

try {
final EngineConfig config = new EngineConfig();
// delete the following line if using BIRT 3.7 or later
config.setEngineHome("G:\\SVN19-02\\batchprocessing\\Template\\src\\docs\\ReportEngine");
config.setLogConfig("F:\\REPORT_LOG.txt", Level.FINE);

Platform.startup(config); // If using RE API in Eclipse/RCP
// application this is not needed.
IReportEngineFactory factory = (IReportEngineFactory) Platform
.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
birtEngine = factory.createReportEngine(config);

} catch (Exception ex) {
/* logger.fatal("NOT able to create Rule engine instance "
+ ex.getMessage());*/
ex.printStackTrace();
throw new RuntimeException(ex.getMessage());
}
}

private static ReportDAO reportDAO;
@Autowired
public void setReportDAO(ReportDAO reportDAO)
{
ReportServiceImpl.reportDAO=reportDAO;
}

//private static List<AdminReportModel> adminReportModel=null;

private static AdminPortalUsersReportDTO adminPortalUsersReportDTO1;
private static List<Object[]> userReportData;
@Override
public boolean generateAdminPortalUserReport(
AdminPortalUsersReportDTO adminPortalUsersReportDTO) throws ServiceException
{
boolean result=false;
System.out.println(" inside ReportService generateAdminPortalUserReport()");
//List<AdminReportModel> adminReportModel1=null;
//boolean result=false;
adminPortalUsersReportDTO1=adminPortalUsersReportDTO;
try {

userReportData=ReportServiceImpl.reportDAO.getAdminPortalUsersReportData(adminPortalUsersReportDTO);
if(userReportData.size()>0){
generateAdminUsersReport();
String reportFilePath="F:\\Sai\\ADMIN_BIRT\\OneInBox_Pramod\\web\\templates\\AdminUser.rptdesign";
//String reportFilePath="G:\\BIRT Reporttools\\BIRTEXAMPLE\\POJODemo\\POJODemo\\new_report_3.rptdesign";
//String fileFormat="PDF";
String outputFilePath="G:/temp/a"+System.currentTimeMillis()+".pdf";
result=generateReport(adminPortalUsersReportDTO.getReportGenerateType(),reportFilePath,outputFilePath);
if(result)
{
System.out.println("Success Report Generation");

String status="Report Generated Successfully";
String modileName="Report Generation";

}
else
{
System.out.println("Error Report Generation");

}
}

} catch (ServiceException e) {
System.out.println("ServiceException=="+e.getMessage());
// TODO Auto-generated catch block
e.printStackTrace();
throw e;
}catch(Exception e){
e.printStackTrace();
}


/*List<Object[]> userReportData=this.reportDAO.getAdminPortalUsersReportData(adminPortalUsersReportDTO1);
if(userReportData.size()>0)
{
HashMap<String,Object> map=new HashMap<String,Object>();

adminReportModel=new ArrayList<AdminReportModel>();

if(Integer.parseInt(adminPortalUsersReportDTO.getCriteriaUsergroup())!=2)
{ for(Object[] obj : userReportData)
{
if(obj!=null)
{
AdminReportModel arm=new AdminReportModel();

System.out.println("OBJ[0] : "+obj[0]);
arm.setSenderCode(null);

System.out.println("OBJ[1] : "+obj[1]);
arm.setUserID((String)obj[1]);

System.out.println("OBJ[2] : "+obj[2]);
arm.setRole((String)obj[2]);

System.out.println("OBJ[3] : "+obj[3]);
arm.setSurName((String)obj[3]);

System.out.println("OBJ[4] : "+obj[4]);
arm.setGivenName((String)obj[4]);

System.out.println("OBJ[5] : "+obj[5]);
arm.setEffectiveDate((Date)obj[5]);

System.out.println("OBJ[6] : "+obj[6]);
arm.setEndDate((Date)obj[6]);


arm.setCorrespondence(null);


arm.setAccessLevel(null);




arm.setSurName((String)obj[3]);
arm.setGivenName((String)obj[4]);
arm.setEffectiveDate((Date)obj[5]);
arm.setEndDate((Date)obj[6]);



adminReportModel.add(arm);
}
}
}
else
{
for(Object[] obj : userReportData)
{
if(obj!=null)
{
AdminReportModel arm=new AdminReportModel();

System.out.println("OBJ[0] : "+obj[0]);
arm.setSenderCode((String)obj[0]);

System.out.println("OBJ[1] : "+obj[1]);
arm.setUserID((String)obj[1]);

System.out.println("OBJ[2] : "+obj[2]);
arm.setRole((String)obj[2]);

System.out.println("OBJ[3] : "+obj[3]);
arm.setSurName((String)obj[3]);

System.out.println("OBJ[4] : "+obj[4]);
arm.setGivenName((String)obj[4]);

System.out.println("OBJ[5] : "+obj[5]);
arm.setEffectiveDate((Date)obj[5]);

System.out.println("OBJ[6] : "+obj[6]);
arm.setEndDate((Date)obj[6]);

System.out.println("OBJ[7] : "+obj[7]);
arm.setCorrespondence((String)obj[7]);

System.out.println("OBJ[8] : "+obj[8]);
arm.setAccessLevel((String)obj[8]);

adminReportModel.add(arm);
}
}
}
int len;
System.out.println("Admin Report Model Total Size : "+(len=adminReportModel.size()));

System.out.print("Sender Code\t");
System.out.print("user Id\t");
System.out.print("Role\t");
System.out.print("SurName\t");
System.out.print("Given Name\t");
System.out.print("Effective Date\t");
System.out.print("End Date\t");
System.out.print("Correspondence List\t");
System.out.print("Access Level\t");
for(int i=0;i<len;i++)
{
System.out.println();
System.out.print(adminReportModel.get(i).getSenderCode());
System.out.print(adminReportModel.get(i).getUserID());
System.out.print(adminReportModel.get(i).getRole());
System.out.print(adminReportModel.get(i).getSurName());
System.out.print(adminReportModel.get(i).getGivenName());
System.out.print(adminReportModel.get(i).getEffectiveDate());
System.out.print(adminReportModel.get(i).getEndDate());
System.out.print(adminReportModel.get(i).getCorrespondence());
System.out.print(adminReportModel.get(i).getAccessLevel());
}
//result=true;
}

*/
return result;
}
public static List<AdminReportModel> generateAdminUsersReport()throws Exception {
System.out.println(" ENTERED INTO generateAdminUsersReport()");
//List<AdminReportModel> adminReportModel=null;
List<AdminReportModel> reportmodel = new ArrayList<AdminReportModel>();
System.out.println(" Before DAO call");
try{

System.out.println(" after DAO call");
System.out.println("userReportData size =="+userReportData.size());
AdminReportModel arm1=new AdminReportModel();
Calendar day = Calendar.getInstance();
arm1.setCorrespondence("corres");
arm1.setAccessLevel("1");
arm1.setEffectiveDate(day.getTime());
arm1.setEndDate(day.getTime());
arm1.setRole("Sender");
arm1.setSenderCode("IRAS");
arm1.setUserID("csbuser001");
arm1.setGivenName("vemu");
arm1.setSurName("cc");
arm1.setUserGroup("system");
arm1.setSenderName("test");
reportmodel.add(arm1);
System.out.println("reportmodel size == "+reportmodel.size());
if(userReportData.size()>0)
{
/*HashMap<String,Object> map=new HashMap<String,Object>();*/

/*AdminReportModel arm1=new AdminReportModel();
Calendar day = Calendar.getInstance();
arm1.setCorrespondence("corres");
arm1.setAccessLevel("1");
arm1.setEffectiveDate(day.getTime());
arm1.setEndDate(day.getTime());
arm1.setRole("Sender");
arm1.setSenderCode("IRAS");
arm1.setUserID("csbuser001");
arm1.setGivenName("vemu");
arm1.setSurName("cc");
arm1.setUserGroup("system");
arm1.setSenderName("test");
reportmodel.add(arm1);
System.out.println("reportmodel size == "+reportmodel.size());*/
/*if(Integer.parseInt(adminPortalUsersReportDTO1.getCriteriaUsergroup())!=2)
{ for(Object[] obj : userReportData)
{
if(obj!=null)
{
AdminReportModel arm=new AdminReportModel();

System.out.println("OBJ[0] : "+obj[0]);
arm.setSenderCode(null);

System.out.println("OBJ[1] : "+obj[1]);
arm.setUserID((String)obj[1]);

System.out.println("OBJ[2] : "+obj[2]);
arm.setRole((String)obj[2]);

System.out.println("OBJ[3] : "+obj[3]);
arm.setSurName((String)obj[3]);

System.out.println("OBJ[4] : "+obj[4]);
arm.setGivenName((String)obj[4]);

System.out.println("OBJ[5] : "+obj[5]);
arm.setEffectiveDate((Date)obj[5]);

System.out.println("OBJ[6] : "+obj[6]);
arm.setEndDate((Date)obj[6]);


arm.setCorrespondence(null);


arm.setAccessLevel(null);




arm.setSurName((String)obj[3]);
arm.setGivenName((String)obj[4]);
arm.setEffectiveDate((Date)obj[5]);
arm.setEndDate((Date)obj[6]);



adminReportModel.add(arm);
}
}
}
else
{
for(Object[] obj : userReportData)
{
if(obj!=null)
{
AdminReportModel arm=new AdminReportModel();

System.out.println("OBJ[0] : "+obj[0]);
arm.setSenderCode((String)obj[0]);

System.out.println("OBJ[1] : "+obj[1]);
arm.setUserID((String)obj[1]);

System.out.println("OBJ[2] : "+obj[2]);
arm.setRole((String)obj[2]);

System.out.println("OBJ[3] : "+obj[3]);
arm.setSurName((String)obj[3]);

System.out.println("OBJ[4] : "+obj[4]);
arm.setGivenName((String)obj[4]);

System.out.println("OBJ[5] : "+obj[5]);
arm.setEffectiveDate((Date)obj[5]);

System.out.println("OBJ[6] : "+obj[6]);
arm.setEndDate((Date)obj[6]);

System.out.println("OBJ[7] : "+obj[7]);
arm.setCorrespondence((String)obj[7]);

System.out.println("OBJ[8] : "+obj[8]);
arm.setAccessLevel((String)obj[8]);

adminReportModel.add(arm);
}
}
}*/
int len;
System.out.println("Admin Report Model Total Size : "+(len=reportmodel.size()));

System.out.print("Sender Code\t");
System.out.print("user Id\t");
System.out.print("Role\t");
System.out.print("SurName\t");
System.out.print("Given Name\t");
System.out.print("Effective Date\t");
System.out.print("End Date\t");
System.out.print("Correspondence List\t");
System.out.print("Access Level\t");
for(int i=0;i<len;i++)
{
System.out.println("test inside for loop");
System.out.print(reportmodel.get(i).getSenderCode());
System.out.print(reportmodel.get(i).getUserID());
System.out.print(reportmodel.get(i).getRole());
System.out.print(reportmodel.get(i).getSurName());
System.out.print(reportmodel.get(i).getGivenName());
System.out.print(reportmodel.get(i).getEffectiveDate());
System.out.print(reportmodel.get(i).getEndDate());
System.out.print(reportmodel.get(i).getCorrespondence());
System.out.print(reportmodel.get(i).getAccessLevel());
}
//result=true;
}
}catch(Exception e){
System.out.println("Exception in ReportServer impl "+e.getMessage());
e.printStackTrace();
throw e;
}
return reportmodel;
}
private boolean generateReport(String formatType,String reportfilePath,String outputFilePath ){
// logger.info("InterfaceController.generatePDFReport()");
System.out.println(" in side generateReport:::"+formatType + " :: reportfilePath::"+reportfilePath+" :::outputFilePath::"+outputFilePath);
String rptDocument = "temp.rptdocument";


String status = "";
String errorDescription = "";
List errors = null;

IRenderTask renderTask = null;

String defaultformat;
//if(format.getFormatType()==null || reportmodel.getFormatType().equals("") ){
defaultformat="PDF";
//}else{
//defaultformat=format.getFormatType();
//}

try {
//birtEngine.changeLogLevel(Level.class);
/*try {
final EngineConfig config = new EngineConfig();
// delete the following line if using BIRT 3.7 or later
config.setEngineHome("G:\\SVN19-02\\batchprocessing\\Template\\src\\docs\\ReportEngine");
config.setLogConfig("F:\\log.txt", Level.FINE);

Platform.startup(config); // If using RE API in Eclipse/RCP
// application this is not needed.
IReportEngineFactory factory = (IReportEngineFactory) Platform.createFactoryObject(IReportEngineFactory.EXTENSION_REPORT_ENGINE_FACTORY);
birtEngine = factory.createReportEngine(config);

} catch (Exception ex) {
logger.fatal("NOT able to create Rule engine instance "
+ ex.getMessage());
ex.printStackTrace();
throw new RuntimeException(ex.getMessage());
}*/

IReportRunnable ireportDocument = birtEngine
.openReportDesign(new FileInputStream(new File( reportfilePath)));


IRunTask iRunTask = birtEngine.createRunTask(ireportDocument);
//iRunTask.setParameterValue("RP_param",1);
/*iRunTask.setParameterValue("RP_param", (new Integer(2)));
iRunTask.validateParameters();*/
iRunTask.run(rptDocument);
IReportDocument ird = birtEngine.openReportDocument(rptDocument);

IRenderOption options = new RenderOption();
System.out.println("formatType=="+formatType);
System.out.println("formatType length=="+formatType.length());
System.out.println("formatType upperCase=="+formatType.toUpperCase());
if("PDF".equals(formatType.toUpperCase())){
System.out.println("generateReport --- PDF");
options.setOutputFormat(IRenderOption.OUTPUT_FORMAT_PDF);

options.setOutputFileName(outputFilePath);
PDFRenderOption pdfOptions = new PDFRenderOption(options);
pdfOptions.setOption(String
.valueOf(IPDFRenderOption.OUTPUT_TO_MULTIPLE_PAGES),
new Boolean(true));

renderTask = birtEngine.createRenderTask(ird);

renderTask.setRenderOption(pdfOptions);

}else if("XLS".equals(formatType.toUpperCase())){
System.out.println("generateReport --- XLS");
EXCELRenderOption xls = new EXCELRenderOption();
xls.setOutputFormat("xls");
xls.setOutputFileName(outputFilePath);
renderTask = birtEngine.createRenderTask(ird);
renderTask.setRenderOption(xls);
}else{
System.out.println("generateReport --- CSV");
CSVRenderOption csv=new CSVRenderOption();

csv.setOutputFormat("csv");
csv.setOutputFileName(outputFilePath);
renderTask = birtEngine.createRenderTask(ird);
renderTask.setRenderOption(csv);
}
renderTask.render();


status = "SUCCESS";
String errorCode = null;
/*if (errorCode == null)
lineNo = -1;*/
// String errorDescription = "";
// String expiryDate = "";

ird.close();
renderTask.close();
} catch (Exception ex) {
System.out.println("generateReport===="+ex.getMessage());
ex.printStackTrace();
//logger.error(ex.getMessage());
errorDescription = "Not able to generate report, "
+ ex.getMessage();
errors = renderTask.getErrors();
if (errors != null && errors.size() > 0) {
// logger.error(errors);
for (int i = 0; i < errors.size(); i++) {
Object obj = errors.get(i);
if (obj instanceof EngineException) {
EngineException ee = (EngineException) obj;
System.out.println("ee.getErrorCode() "
+ ee.getErrorCode());

System.out.println("ee.getSeverity() "
+ ee.getSeverity());
}
}
}
}
return true;
}
}


<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.15" id="1">
<property name="createdBy">Eclipse BIRT Designer Version 2.2.2.r222_v20071226 Build &lt;2.2.2.v20080227-1131></property>
<property name="units">in</property>
<property name="comments">Copyright © 2007 &lt;&lt;Your Company Name here>></property>
<html-property name="description">Creates a blank report with no predefined content.</html-property>
<text-property name="displayName">Blank Report</text-property>
<property name="iconFile">/templates/blank_report.gif</property>
<data-sources>
<script-data-source name="AdminDataSource" id="187"/>
</data-sources>
<data-sets>
<script-data-set name="Data Set" id="188">
<list-property name="resultSetHints">
<structure>
<property name="position">1</property>
<property name="name">UserID</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">Role</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">EffectiveDate</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">EndDate</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">Correspondence</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">AccessLevel</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">SenderCode</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">UserGroup</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">SenderName</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">SurName</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">GivenName</property>
<property name="dataType">string</property>
</structure>
</list-property>
<list-property name="columnHints">
<structure>
<property name="columnName">UserID</property>
</structure>
<structure>
<property name="columnName">Role</property>
</structure>
<structure>
<property name="columnName">EffectiveDate</property>
</structure>
<structure>
<property name="columnName">EndDate</property>
</structure>
<structure>
<property name="columnName">Correspondence</property>
</structure>
<structure>
<property name="columnName">AccessLevel</property>
</structure>
<structure>
<property name="columnName">SenderCode</property>
</structure>
<structure>
<property name="columnName">UserGroup</property>
</structure>
<structure>
<property name="columnName">SenderName</property>
</structure>
<structure>
<property name="columnName">SurName</property>
</structure>
<structure>
<property name="columnName">GivenName</property>
</structure>
</list-property>
<structure name="cachedMetaData">
<list-property name="resultSet">
<structure>
<property name="position">1</property>
<property name="name">UserID</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">2</property>
<property name="name">Role</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">3</property>
<property name="name">EffectiveDate</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">4</property>
<property name="name">EndDate</property>
<property name="dataType">date</property>
</structure>
<structure>
<property name="position">5</property>
<property name="name">Correspondence</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">6</property>
<property name="name">AccessLevel</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">7</property>
<property name="name">SenderCode</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">8</property>
<property name="name">UserGroup</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">9</property>
<property name="name">SenderName</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">10</property>
<property name="name">SurName</property>
<property name="dataType">string</property>
</structure>
<structure>
<property name="position">11</property>
<property name="name">GivenName</property>
<property name="dataType">string</property>
</structure>
</list-property>
</structure>
<property name="dataSource">AdminDataSource</property>
<method name="open"><![CDATA[count = 0;
report = new Packages.com.crimsonlogic.govt.oib.service.ReportServiceImpl();
admir=report.generateAdminUsersReport();]]></method>
<method name="fetch"><![CDATA[if(count < admir.size()){
row["UserID"] =admir.get(count).getUserID();
row["Role"] = admir.get(count).getRole();
row["EffectiveDate"] = admir.get(count).getEffectiveDate();
row["EndDate"] = null;
row["Correspondence"] = admir.get(count).getCorrespondence();
row["AccessLevel"] = "";
row["SenderCode"] = admir.get(count).getSenderCode();
row["SenderName"] = admir.get(count).getSenderName();
row["UserGroup"] = admir.get(count).getUserGroup();
row["SurName"] = admir.get(count).getSurName();
row["GivenName"] = admir.get(count).getGivenName();
count++;
return true;
}

return false;]]></method>
</script-data-set>
</data-sets>
<styles>
<style name="crosstab-cell" 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" id="5">
<property name="fontSize">small</property>
<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>
</styles>
<page-setup>
<simple-master-page name="Simple MasterPage" id="2">
<property name="leftMargin">0.03in</property>
<property name="rightMargin">0in</property>
<page-header>
<grid id="6">
<property name="width">100%</property>
<column id="7"/>
<column id="8"/>
<column id="9"/>
<row id="10">
<cell id="11">
<grid id="27">
<property name="width">100%</property>
<column id="28"/>
<row id="29">
<cell id="30">
<text id="35">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[<VALUE-OF>new Date()</VALUE-OF>]]></text-property>
</text>
</cell>
</row>
<row id="31">
<cell id="32">
<property name="paddingTop">1pt</property>
<property name="paddingLeft">6pt</property>
<image id="36"/>
</cell>
</row>
</grid>
</cell>
<cell id="12">
<grid id="49">
<property name="width">100%</property>
<column id="50"/>
<row id="51">
<cell id="52">
<text id="59">
<property name="contentType">auto</property>
</text>
</cell>
</row>
<row id="53">
<cell id="54">
<text id="58">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[<CENTER><B><span style="font-size: larger">
Admin Portal Users Report
</B></span><BR>
</CENTER><BR><BR>]]></text-property>
</text>
</cell>
</row>
</grid>
</cell>
<cell id="13">
<grid id="610">
<property name="width">100%</property>
<column id="611"/>
<column id="612">
<property name="width">0.375in</property>
</column>
<column id="613">
<property name="width">0.7708333333in</property>
</column>
<column id="614"/>
<row id="615">
<cell id="616"/>
<cell id="617"/>
<cell id="618">
<text id="620">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[Page No:]]></text-property>
</text>
</cell>
<cell id="619">
<auto-text id="633">
<property name="type">page-number</property>
</auto-text>
</cell>
</row>
</grid>
</cell>
</row>
</grid>
</page-header>
<page-footer>
<text id="3">
<property name="contentType">html</property>
</text>
</page-footer>
</simple-master-page>
</page-setup>
<body>
<grid id="88">
<property name="borderBottomColor">#000000</property>
<property name="borderBottomStyle">solid</property>
<property name="borderBottomWidth">medium</property>
<property name="borderLeftColor">#000000</property>
<property name="borderLeftStyle">solid</property>
<property name="borderLeftWidth">medium</property>
<property name="borderRightColor">#000000</property>
<property name="borderRightStyle">solid</property>
<property name="borderRightWidth">medium</property>
<property name="borderTopColor">#000000</property>
<property name="borderTopStyle">solid</property>
<property name="borderTopWidth">medium</property>
<property name="width">8.2708333333in</property>
<column id="89">
<property name="width">2.5104166667in</property>
</column>
<column id="90"/>
<row id="91">
<cell id="92">
<grid id="478">
<property name="width">100%</property>
<column id="479">
<property name="width">2.03125in</property>
</column>
<column id="480"/>
<row id="481">
<cell id="482">
<text id="484">
<list-property name="visibility">
<structure>
<property name="format">all</property>
</structure>
</list-property>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[USER GROUP]]></text-property>
</text>
</cell>
<cell id="483">
<text id="485">
<property name="contentType">auto</property>
<text-property name="content"><![CDATA[:]]></text-property>
</text>
</cell>
</row>
</grid>
</cell>
<cell id="93">
<data id="477">
<property name="marginTop">0pt</property>
<property name="marginLeft">15pt</property>
<property name="marginBottom">0pt</property>
<property name="dataSet">Data Set</property>
<list-property name="visibility">
<structure>
<property name="format">all</property>
<expression name="valueExpr">true</expression>
</structure>
</list-property>
<list-property name="boundDataColumns">
<structure>
<property name="name">UserGroup</property>
<expression name="expression">dataSetRow["UserGroup"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<property name="resultSetColumn">UserGroup</property>
</data>
</cell>
</row>
<row id="94">
<cell id="95">
<grid id="486">
<property name="width">100%</property>
<column id="487">
<property name="width">2.0520833333in</property>
</column>
<column id="488"/>
<row id="489">
<cell id="490">
<text id="492">
<property name="contentType">auto</property>
<text-property name="content"><![CDATA[SENDER NAME]]></text-property>
</text>
</cell>
<cell id="491">
<text id="493">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[:]]></text-property>
</text>
</cell>
</row>
</grid>
</cell>
<cell id="96">
<data id="476">
<property name="marginTop">0pt</property>
<property name="marginLeft">15pt</property>
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">SenderName</property>
<expression name="expression">dataSetRow["SenderName"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<property name="resultSetColumn">SenderName</property>
</data>
</cell>
</row>
<row id="97">
<cell id="98">
<grid id="494">
<property name="width">100%</property>
<column id="495">
<property name="width">2.0520833333in</property>
</column>
<column id="496"/>
<row id="497">
<cell id="498">
<text id="500">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[EFFECTIVE DATE]]></text-property>
</text>
</cell>
<cell id="499">
<text id="501">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[:]]></text-property>
</text>
</cell>
</row>
</grid>
</cell>
<cell id="99">
<grid id="442">
<property name="width">100%</property>
<column id="443">
<property name="width">1.03125in</property>
</column>
<column id="444"/>
<column id="445">
<property name="width">0.5416666667in</property>
</column>
<column id="446"/>
<row id="447">
<cell id="448">
<text id="462">
<property name="marginTop">0pt</property>
<property name="marginLeft">15pt</property>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[FROM:]]></text-property>
</text>
</cell>
<cell id="449">
<data id="464">
<property name="marginTop">0pt</property>
<property name="marginLeft">20pt</property>
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">EffectiveDate</property>
<expression name="expression">dataSetRow["EffectiveDate"]</expression>
<property name="dataType">date</property>
</structure>
</list-property>
<property name="resultSetColumn">EffectiveDate</property>
</data>
</cell>
<cell id="450">
<text id="463">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[TO:]]></text-property>
</text>
</cell>
<cell id="451">
<data id="465">
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">EndDate</property>
<expression name="expression">dataSetRow["EndDate"]</expression>
<property name="dataType">date</property>
</structure>
</list-property>
<property name="resultSetColumn">EndDate</property>
</data>
</cell>
</row>
</grid>
</cell>
</row>
</grid>
<grid id="466">
<property name="width">100%</property>
<column id="467"/>
<row id="468">
<cell id="469">
<text id="474">
<property name="contentType">auto</property>
</text>
</cell>
</row>
</grid>
<table id="530">
<property name="width">100%</property>
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">UserID</property>
<expression name="expression">dataSetRow["UserID"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">Role</property>
<expression name="expression">dataSetRow["Role"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">EffectiveDate</property>
<expression name="expression">dataSetRow["EffectiveDate"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">EndDate</property>
<expression name="expression">dataSetRow["EndDate"]</expression>
<property name="dataType">date</property>
</structure>
<structure>
<property name="name">Correspondence</property>
<expression name="expression">dataSetRow["Correspondence"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">AccessLevel</property>
<expression name="expression">dataSetRow["AccessLevel"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">SenderCode</property>
<expression name="expression">dataSetRow["SenderCode"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">UserGroup</property>
<expression name="expression">dataSetRow["UserGroup"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">SenderName</property>
<expression name="expression">dataSetRow["SenderName"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">Aggregation</property>
<property name="dataType">any</property>
<property name="aggregateFunction">COUNT</property>
</structure>
<structure>
<property name="name">total</property>
<property name="dataType">any</property>
<property name="aggregateFunction">COUNT</property>
</structure>
<structure>
<property name="name">SurName</property>
<expression name="expression">dataSetRow["SurName"]</expression>
<property name="dataType">string</property>
</structure>
<structure>
<property name="name">GivenName</property>
<expression name="expression">dataSetRow["GivenName"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<column id="552">
<property name="width">0.9583333333in</property>
</column>
<column id="553">
<property name="width">1.0416666667in</property>
</column>
<column id="554"/>
<column id="555"/>
<column id="556">
<property name="width">1.7708333333in</property>
</column>
<column id="557"/>
<column id="639">
<property name="canShrink">true</property>
</column>
<column id="645"/>
<header>
<row id="531">
<property name="backgroundColor">#00FF00</property>
<cell id="532">
<text id="179">
<property name="marginTop">3pt</property>
<property name="marginLeft">0pt</property>
<property name="paddingTop">1pt</property>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[USER ID]]></text-property>
</text>
</cell>
<cell id="533">
<text id="180">
<property name="marginTop">3pt</property>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[ROLE]]></text-property>
</text>
</cell>
<cell id="534">
<text id="181">
<property name="marginTop">3pt</property>
<property name="paddingTop">1pt</property>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[EFFECTIVE DATE]]></text-property>
</text>
</cell>
<cell id="535">
<text id="183">
<property name="marginTop">3pt</property>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[END DATE]]></text-property>
</text>
</cell>
<cell id="536">
<text id="184">
<property name="marginTop">3pt</property>
<property name="paddingTop">1pt</property>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[CORRESPONDENCE]]></text-property>
</text>
</cell>
<cell id="537">
<text id="185">
<property name="marginTop">3pt</property>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[ACCESS LEVEL]]></text-property>
</text>
</cell>
<cell id="634">
<property name="display">block</property>
<property name="canShrink">true</property>
<text id="646">
<property name="marginTop">3pt</property>
<property name="canShrink">false</property>
<structure name="toc">
<expression name="expressionValue">row["SurName"]=="" || row["SurName"]==null
</expression>
</structure>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[SURNAME]]></text-property>
</text>
</cell>
<cell id="640">
<property name="paddingTop">1pt</property>
<text id="647">
<property name="marginTop">3pt</property>
<property name="contentType">html</property>
<text-property name="content"><![CDATA[GIVEN NAME]]></text-property>
</text>
</cell>
</row>
</header>
<detail>
<row id="538">
<cell id="539">
<data id="189">
<property name="marginTop">0pt</property>
<property name="marginLeft">17pt</property>
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">UserID</property>
<expression name="expression">dataSetRow["UserID"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<property name="resultSetColumn">UserID</property>
</data>
</cell>
<cell id="540">
<data id="191">
<property name="marginTop">0pt</property>
<property name="marginLeft">17pt</property>
<property name="marginRight">0pt</property>
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">Role</property>
<expression name="expression">dataSetRow["Role"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<property name="resultSetColumn">Role</property>
</data>
</cell>
<cell id="541">
<data id="192">
<property name="marginTop">0pt</property>
<property name="marginLeft">5pt</property>
<property name="textAlign">center</property>
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">EffectiveDate</property>
<expression name="expression">dataSetRow["EffectiveDate"]</expression>
<property name="dataType">date</property>
</structure>
</list-property>
<property name="resultSetColumn">EffectiveDate</property>
</data>
</cell>
<cell id="542">
<property name="textAlign">center</property>
<data id="193">
<property name="marginTop">0pt</property>
<property name="marginLeft">20pt</property>
<property name="marginBottom">0pt</property>
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">EndDate</property>
<expression name="expression">dataSetRow["EndDate"]</expression>
<property name="dataType">date</property>
</structure>
</list-property>
<property name="resultSetColumn">EndDate</property>
</data>
</cell>
<cell id="543">
<data id="653">
<property name="resultSetColumn">Correspondence</property>
</data>
</cell>
<cell id="544">
<property name="paddingTop">1pt</property>
<property name="textAlign">center</property>
<data id="195">
<property name="marginTop">0pt</property>
<property name="marginLeft">0pt</property>
<property name="paddingTop">1pt</property>
<property name="textAlign">center</property>
<property name="dataSet">Data Set</property>
<list-property name="boundDataColumns">
<structure>
<property name="name">AccessLevel</property>
<expression name="expression">dataSetRow["AccessLevel"]</expression>
<property name="dataType">string</property>
</structure>
</list-property>
<property name="resultSetColumn">AccessLevel</property>
</data>
</cell>
<cell id="636">
<property name="paddingTop">1pt</property>
<property name="textAlign">center</property>
<data id="649">
<property name="marginTop">0pt</property>
<property name="paddingTop">1pt</property>
<property name="resultSetColumn">SurName</property>
</data>
</cell>
<cell id="642">
<property name="paddingTop">1pt</property>
<property name="textAlign">center</property>
<data id="650">
<property name="resultSetColumn">GivenName</property>
</data>
</cell>
</row>
</detail>
<footer>
<row id="545">
<property name="borderBottomColor">#000000</property>
<property name="borderBottomStyle">double</property>
<property name="borderBottomWidth">medium</property>
<property name="borderTopColor">#808080</property>
<property name="borderTopStyle">dotted</property>
<property name="borderTopWidth">medium</property>
<cell id="546">
<text id="198">
<property name="contentType">html</property>
<text-property name="content"><![CDATA[TOTAL:]]></text-property>
</text>
</cell>
<cell id="547"/>
<cell id="548"/>
<cell id="549"/>
<cell id="550"/>
<cell id="551"/>
<cell id="638"/>
<cell id="644">
<data id="622">
<property name="resultSetColumn">total</property>
</data>
</cell>
</row>
</footer>
</table>
</body>
</report>
0

#2 User is offline   cbrell Icon

  • Member
  • Group: Members
  • Posts: 523
  • Joined: 17-March 09


Posted 10 April 2012 - 05:55 AM

Hi,

the PDF is most likely empty because there is a serious problem inside your report design file. If BIRT generates a report only very serious exceptions are thrown to the application level. Everything else gets caught inside the report engine.

If you want to know if there was a exception thrown during the generation you have to use the getErrors() method on the task after you called run but before you call close.

eg:

RunTask myRunTask
...
myRunTask.run(..);
List errors = myRunTask.getErrors();
if(!errors.isEmpty()) {
//there where exceptions! iterate over list to get them one after the other
}
task.close();

The getErrors method exists for all tasks and should be used for all of them because you will never know if there was a problem during generation without using these methods (except if you like to read the read the engine log files) manually
Interested to join BIRT User Group Mannheim (Germany)?
Have a look at: http://www.xing.com/...-group-mannheim or write me an email
0

#3 User is offline   bwinter Icon

  • Member
  • PipPip
  • Group: Members
  • Posts: 23
  • Joined: 11-January 13


Posted 28 January 2013 - 05:54 PM

Thanks for this! I'm finally seeing my errors!!!
0

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users