Skip to main content

Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.

Jump to: navigation, search

Difference between revisions of "Simple Create"

 
 
(2 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
== Simple Create ==
 
== Simple Create ==
  
This example demonstrate using the DE API to create a simple report.
+
Moved to new BIRT Examples location. [[Java - Simple Design Engine API (BIRT)]]
Add comments at the bottom of the example.
+
  
[[BIRT Design Engine API]] Return to the BIRT Design Engine API examples
+
[[Category:BIRT]]
 
+
[[Category:BIRT Example OLD]]
== Source ==
+
===SimpleCreate.java===
+
 
+
 
+
+
import java.io.IOException;
+
+
import org.eclipse.birt.core.framework.Platform;
+
import org.eclipse.birt.report.model.api.CellHandle;
+
import org.eclipse.birt.report.model.api.DesignConfig;
+
import org.eclipse.birt.report.model.api.DesignElementHandle;
+
import org.eclipse.birt.report.model.api.ElementFactory;
+
import org.eclipse.birt.report.model.api.GridHandle;
+
import org.eclipse.birt.report.model.api.IDesignEngine;
+
import org.eclipse.birt.report.model.api.IDesignEngineFactory;
+
import org.eclipse.birt.report.model.api.ImageHandle;
+
import org.eclipse.birt.report.model.api.LabelHandle;
+
import org.eclipse.birt.report.model.api.ReportDesignHandle;
+
import org.eclipse.birt.report.model.api.RowHandle;
+
import org.eclipse.birt.report.model.api.SessionHandle;
+
import org.eclipse.birt.report.model.api.activity.SemanticException;
+
+
import com.ibm.icu.util.ULocale;
+
+
/**
+
  * Simple BIRT Design Engine API (DEAPI) demo.
+
  */
+
+
public class SimpleCreate
+
{
+
+
  public static void main( String[] args )
+
{
+
try
+
{
+
buildReport( );
+
}
+
catch ( IOException e )
+
{
+
// TODO Auto-generated catch block
+
e.printStackTrace();
+
}
+
catch ( SemanticException e )
+
{
+
// TODO Auto-generated catch block
+
e.printStackTrace();
+
}
+
}
+
+
// This function shows how to build a very simple BIRT report with a
+
// minimal set of content: a simple grid with an image and a label.
+
 
+
static void buildReport( ) throws IOException, SemanticException
+
{
+
// Create a session handle. This is used to manage all open designs.
+
// Your app need create the session only once.
+
 
+
  //Configure the Engine and start the Platform
+
DesignConfig config = new DesignConfig( );
+
+
config.setProperty("BIRT_HOME", "C:/birt-runtime-2_1_1/birt-runtime-2_1_1/ReportEngine");
+
IDesignEngine engine = null;
+
try{
+
+
+
Platform.startup( config );
+
IDesignEngineFactory factory = (IDesignEngineFactory) Platform
+
.createFactoryObject( IDesignEngineFactory.EXTENSION_DESIGN_ENGINE_FACTORY );
+
engine = factory.createDesignEngine( config );
+
+
}catch( Exception ex){
+
ex.printStackTrace();
+
}
+
+
+
SessionHandle session = engine.newSessionHandle( ULocale.ENGLISH ) ;
+
+
// Create a new report design.
+
+
ReportDesignHandle design = session.createDesign( );
+
+
// The element factory creates instances of the various BIRT elements.
+
+
ElementFactory efactory = design.getElementFactory( );
+
+
// Create a simple master page that describes how the report will
+
// appear when printed.
+
//
+
// Note: The report will fail to load in the BIRT designer
+
// unless you create a master page.
+
+
DesignElementHandle element = efactory.newSimpleMasterPage( "Page Master" );
+
design.getMasterPages( ).add( element );
+
+
// Create a grid and add it to the "body" slot of the report
+
// design.
+
+
GridHandle grid = efactory.newGridItem( null, 2 /* cols */, 1 /* row */ );
+
design.getBody( ).add( grid );
+
+
// Note: Set the table width to 100% to prevent the label
+
// from appearing too narrow in the layout view.
+
+
grid.setWidth( "100%" );
+
+
// Get the first row.
+
+
RowHandle row = (RowHandle) grid.getRows( ).get( 0 );
+
+
// Create an image and add it to the first cell.
+
ImageHandle image = efactory.newImage( null );
+
CellHandle cell = (CellHandle) row.getCells( ).get( 0 );
+
cell.getContent( ).add( image );
+
image.setURL( "\"urlofimage\"" );
+
+
// Create a label and add it to the second cell.
+
LabelHandle label = efactory.newLabel( null );
+
cell = (CellHandle) row.getCells( ).get( 1 );
+
cell.getContent( ).add( label );
+
label.setText( "Hello, world!" );
+
+
// Save the design and close it.
+
+
design.saveAs( "c:/tmp/sample.rptdesign" );
+
design.close( );
+
System.out.println("Finished");
+
+
// We're done!
+
}
+
  }
+
 
+
----
+
 
+
== Comments ==
+
Please enter comments below by selecting the edit icon to the right.
+
You will need a Bugzilla account to add comments.
+
 
+
----
+

Latest revision as of 13:01, 9 April 2007

Simple Create

Moved to new BIRT Examples location. Java - Simple Design Engine API (BIRT)

Back to the top