Foros del Web » Programación para mayores de 30 ;) » Java »

Eclipse-Birt

Estas en el tema de Eclipse-Birt en el foro de Java en Foros del Web. Hola, soy nueva en esto de birt y no he encontrado mucha documentacion y ejemplos en castellano. Lo que quiero hacer es crear un documento ...
  #1 (permalink)  
Antiguo 16/05/2007, 02:27
 
Fecha de Ingreso: mayo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Eclipse-Birt

Hola,
soy nueva en esto de birt y no he encontrado mucha documentacion y ejemplos en castellano.
Lo que quiero hacer es crear un documento que muestre un bar chart y una tabla de datos.

He ido poco a poco y lo primero que he hecho es incluir el chart y la tabla en mi .rptdesign, pero cuando lo previsualizo desde Eclipse veo la tabla y NO el chart.
El chart se crea, el problema es que no se visualiza cuando le doy a "Preview".
Cual es mi error? Como consigo que se previsualice el chart?

Espero que alguno pueda ayudarme.

Gracias por adelantado.
  #2 (permalink)  
Antiguo 17/05/2007, 09:54
 
Fecha de Ingreso: mayo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Un poco mas de informacion

Hola,
he buscado por todas partes y no he encontrado solución a mi problema.
Mi clase es:

public class BarChart
{
ReportDesignHandle designHandle = null;
ElementFactory designFactory = null;
StructureFactory structFactory = null;
String[] cols = {"CITY", "CUSTOMERNUMBER"};
OdaDataSetHandle dsHandle = null;
MetaDataDictionary dict;
public static void main( String[] args )
{
try
{
BarChart bc = new BarChart();

bc.buildReport( );
}
catch ( IOException e )
{
// TODO Auto-generated catch block
e.printStackTrace();
}
catch ( SemanticException e )
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}

void buildDataSource( ) throws SemanticException
{

OdaDataSourceHandle dsHandle = designFactory.newOdaDataSource(
"ChartDataSource", "org.eclipse.birt.report.data.oda.jdbc" );
dsHandle.setProperty( "odaDriverClass",
"org.eclipse.birt.report.data.oda.sampledb.Dri ver" );
dsHandle.setProperty( "odaURL", "jdbc:classicmodels:sampledb" );
dsHandle.setProperty( "odaUser", "ClassicModels" );
dsHandle.setProperty( "odaPassword", "" );

designHandle.getDataSources( ).add( dsHandle );

}

void buildDataSet( ) throws SemanticException
{

dsHandle = designFactory.newOdaDataSet( "ChartData",
"org.eclipse.birt.report.data.oda.jdbc.JdbcSelectD ataSet" );
dsHandle.setDataSource( "ChartDataSource" );
String qry = "SELECT CITY, CUSTOMERNUMBER FROM CUSTOMERS WHERE CUSTOMERNUMBER < 125";

dsHandle.setQueryText( qry );

designHandle.getDataSets( ).add( dsHandle );

}
void buildReport( ) throws IOException, SemanticException
{
//Configure the Engine and start the Platform
DesignConfig config = new DesignConfig( );

config.setProperty("BIRT_HOME", "C:/Archivos de programa/birt-runtime-2_1_2/ReportEngine");

IDesignEngine engine = null;
try{


Platform.startup( config );
IDesignEngineFactory factory = (IDesignEngineFactory) Platform.createFactoryObject( IDesignEngineFactory.EXTENSION_DESIGN_ENGINE_FACTO RY );
engine = factory.createDesignEngine( config );

}catch( Exception ex){
ex.printStackTrace();
}

SessionHandle session = engine.newSessionHandle( ULocale.ENGLISH ) ;

try{
//open a design or a template
designHandle = session.createDesign();

designFactory = designHandle.getElementFactory( );

DesignElementHandle simpleMasterPage = designFactory.newSimpleMasterPage( "Master Page" );//$NON-NLS-1$
designHandle.getMasterPages( ).add( simpleMasterPage );

buildDataSource();
buildDataSet();

createBody();
createTable();

// Save the design and close it.
designHandle.saveAs( "E:/stage/MyChart.rptdesign" ); //$NON-NLS-1$

designHandle.close( );
Platform.shutdown();

System.out.println("Finished");
}catch (Exception e){
e.printStackTrace();
}
}


private void createBody() throws SemanticException{

designHandle.getBody().add(createMultiYSeriesChart ());

}

protected ExtendedItemHandle createMultiYSeriesChart( )
{

ExtendedItemHandle eih = designFactory.newExtendedItem ( null, "Chart" );//$NON-NLS-1$
try
{
eih.setHeight( "7.51in" );//$NON-NLS-1$
eih.setWidth( "4.447in" );//$NON-NLS-1$
eih.setProperty ( ExtendedItemHandle.DATA_SET_PROP, "ChartData" );//$NON-NLS-1$
}
catch ( SemanticException e )
{
e.printStackTrace( );
}

ChartWithAxes cwaBar = ChartWithAxesImpl.create( );
cwaBar.setType("Bar Chart");
cwaBar.setSubType("Side-by-side");

// Plot
cwaBar.getBlock( ).setBackground( ColorDefinitionImpl.WHITE( ) );
Plot p = cwaBar.getPlot( );
p.getClientArea( )
.setBackground( GradientImpl.create( ColorDefinitionImpl.create( 225,
225,
255 ),
ColorDefinitionImpl.create( 255, 255, 225 ),
-35,
false ) );
p.getOutline( ).setVisible( true );

// Title
cwaBar.getTitle( )
.getLabel( )
.getCaption( )
.setValue( "Bar Chart with Multiple Y Series" );//$NON-NLS-1$

// Legend
Legend lg = cwaBar.getLegend( );
lg.getText( ).getFont( ).setSize( 16 );
lg.getText( ).getFont( ).setBold( true );
lg.getInsets( ).set( 10, 5, 0, 0 );
lg.setAnchor( Anchor.NORTH_LITERAL );
lg.setVisible(true);

// X-Axis
Axis xAxisPrimary = cwaBar.getPrimaryBaseAxes( )[0];
xAxisPrimary.setType( AxisType.TEXT_LITERAL );
xAxisPrimary.getMajorGrid( ).setTickStyle( TickStyle.BELOW_LITERAL );
xAxisPrimary.getOrigin( ).setType( IntersectionType.VALUE_LITERAL );
xAxisPrimary.getTitle( ).getCaption( ).setValue( "Eje X" ); //$NON-NLS-1$
xAxisPrimary.setLabelPosition ( Position.BELOW_LITERAL );
xAxisPrimary.setTitlePosition( Position.BELOW_LITERAL );

// Y-Axis
Axis yAxisPrimary = cwaBar.getPrimaryOrthogonalAxis( xAxisPrimary );
yAxisPrimary.getMajorGrid( ).setTickStyle( TickStyle.LEFT_LITERAL );
yAxisPrimary.getTitle( )
.getCaption( )
.setValue( "Eje Y" );//$NON-NLS-1$

// X-Series
Series seCategory = SeriesImpl.create( );
Query query = QueryImpl.create( "row[\"" + (String)cols[0] + "\"]" );//$NON-NLS-1$
seCategory.getDataDefinition( ).add( query );
//seCategory.setDataSet( categoryValues );

SeriesDefinition sdX = SeriesDefinitionImpl.create( );
xAxisPrimary.getSeriesDefinitions( ).add( sdX );
sdX.getSeries( ).add( seCategory );

// Y-Series (1)
BarSeries bs = (BarSeries) BarSeriesImpl.create( );
bs.setSeriesIdentifier( "Sales" );//$NON-NLS-1$
Query query1 = QueryImpl.create( "row[\"" + (String)cols[1] + "\"]" );//$NON-NLS-1$
bs.getDataDefinition( ).add( query1 );

//bs.setDataSet( orthoValues1 );
bs.setRiserOutline( null );
bs.getLabel( ).setVisible( true );
bs.setLabelPosition( Position.INSIDE_LITERAL );

SeriesDefinition sdY1 = SeriesDefinitionImpl.create( );
sdY1.getSeriesPalette( ).update( -2 );
yAxisPrimary.getSeriesDefinitions( ).add( sdY1 );
sdY1.getSeries( ).add( bs );

ChartReportItemImpl crii = null;

try
{
//Add ChartReportItemImpl to ExtendedItemHandle
crii = (ChartReportItemImpl) eih.getReportItem( );
//Add chart instance to ChartReportItemImpl
crii.setProperty( "chart.instance", cwaBar );//$NON-NLS-1$
}
catch ( ExtendedElementException e )
{
e.printStackTrace( );
}

return eih;
}

void createTable(){

try{
TableHandle table = designFactory.newTableItem( "table", cols.length);
table.setWidth( "100%" );
table.setDataSet( designHandle.findDataSet( "ChartData" ) );

PropertyHandle computedSet = table.getColumnBindings( );
ComputedColumn cs1 = null;

for( int i=0; i < cols.length; i++){
cs1 = StructureFactory.createComputedColumn();
cs1.setName((String)cols[i]);
cs1.setExpression("dataSetRow[\"" + (String)cols[i] + "\"]");
computedSet.addItem(cs1);
}


// table header
RowHandle tableheader = (RowHandle) table.getHeader( ).get( 0 );

tableheader.setProperty( StyleHandle.BACKGROUND_COLOR_PROP, "Gray" );
tableheader.setProperty(IStyleModel.TEXT_ALIGN_PRO P,DesignChoiceConstants.BACKGROUND_POSITION_CENTER );

for( int i=0; i < cols.length; i++){
LabelHandle label1 = designFactory.newLabel( (String)cols[i] );
label1.setText((String)cols[i]);
CellHandle cell = (CellHandle) tableheader.getCells( ).get( i );
cell.getContent( ).add( label1 );
}

// table detail
RowHandle tabledetail = (RowHandle) table.getDetail( ).get( 0 );
for( int i=0; i < cols.length; i++){
CellHandle cell = (CellHandle) tabledetail.getCells( ).get( i );
DataItemHandle data = designFactory.newDataItem( "data_"+(String)cols[i] );
data.setResultSetColumn( (String)cols[i]);
cell.getContent( ).add( data );
}

designHandle.getBody( ).add( table );
}catch(Exception e){
System.out.println("Exception at createTable: " + e);
}
}

}


Cuando hago la previsualización de mi diseño solo veo la tabla. No entiendo po qué. Además si después sobre el diseño hago cualquier modificación (por ejemplo: borrar la tabla, añadir una etiqueta o redimensionar el chart con el raton) puedo ver ya el chart. Eso significa que el chart se crea, pero lo que no hace es visualizarse.

Estoy utilizando la version Eclipse 3.2.2 y la version 2.1.2 tanto de BirtRuntime , BirtCharts y "BirtReportDesinger all in one". No se si se puede tratar de un error de estas versiones

POR FAVOR, PUEDE ALGUIEN AYUDARME?????????

Muchas gracias.
  #3 (permalink)  
Antiguo 17/05/2007, 15:46
 
Fecha de Ingreso: mayo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Re: Eclipse-Birt

Hola,
veo que hay pocos interesados en birt....
Yo continuo igual y lo unico que ya se me ocurre es que haya un fallo a la hora de instalar birt y todas estas cosas
¿Alguien me puede decir con exactitud qué debo bajarme de la pagina de eclipse?
Yo he instalado en el mismo directorio:
Birt Report Designer all in one 2.1.2
BirtRunTime 2.1.2
birt-charts-2.1.2
birt-sample-plugins-2.1.2

Alguien me puede decir si me falta algo??
Espero que me podais ayudar, se me acaban las ideas
  #4 (permalink)  
Antiguo 19/05/2007, 07:15
 
Fecha de Ingreso: mayo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Re: Eclipse-Birt

Hola
aun no he encontrado el error. He probado con varios ejemplos que he encontrado en internet, pero todos me dan el mismo resultado. No puedo previsualizar los diseños con la opcion "Preview" de Eclipse.
No tengo ninguna excepcion, por lo que estoy pensando si quiza el error se encuentra en la configuracion del Java Build Path.

Por favor, alguien me puede decir con exactitud que *.jar debo colocar aqui par poder ver mi diseño??

Necesito resolver este problema lo antes posible, espero que me sepais ayudar....
Si alguien tiene alguna sugerencia que tambien me pueda ayudar a solucionar le agradeceria que tambien lo expusiera aqui.

MUCHAS GRACIAS.
  #5 (permalink)  
Antiguo 20/05/2007, 22:18
Avatar de NUCKLEAR
Moderador radioactivo
 
Fecha de Ingreso: octubre-2005
Ubicación: Cordoba-Argentina
Mensajes: 5.688
Antigüedad: 18 años, 6 meses
Puntos: 890
Re: Eclipse-Birt

Busca ayuda en algun lugar especifico para usuarios avanzados de java, que es lo que necesitas, te recomiendo javahispano, o en el canal #java del servidor iRC-Hispano.org que de seguro vas a encontrar quien te ayude.
Suerte.
__________________
Drupal Argentina
  #6 (permalink)  
Antiguo 21/05/2007, 04:17
 
Fecha de Ingreso: mayo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Re: Eclipse-Birt

Hola,
NUCKLEAR muchas gracias por tu respuesta...
Gracias tambien por la informacion. Espero que me puedan ayudar a solucionar eso.
No obstante espero que desde aqui alguien me sepa tambien ayudar.
Creo que poco a poco voy acercandome, solo necesito saber cuales son los *.jar necesarios para convertir el formato SVG para que pueda ser visualizado desde una pagina HTML.

Si alguien tiene alguna idea....
Gracias
  #7 (permalink)  
Antiguo 22/05/2007, 04:17
 
Fecha de Ingreso: mayo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Re: Eclipse-Birt

Hola,
en mi enesimo intento de encontrar mi error me ha surgido una nueva duda.
Aun no he obtenido respuesta a ninguna de mis cuestiones, espero que en esta me podais ayudar.
Para poder conseguir que se visualicen los chart en mi informe, he leido que se utiliza el jar org.eclipse.birt.core
Bien, pues le he anadido a mi Java Build Path, pero al ejecutar obtengo una excepcion "NullPointerException" en la linea 'engine = factory.createDesignEngine( config );', porque factory es nulo. El codigo de mi clase esta mas arriba.
Alguien me puede confirmar si es necesario anadir este jar al Java Build Path? En caso de que sea necesario como evito la excepcion??

Por favor, necesito que me echeis una mano. Espero vuestras respuestas

Gracias
  #8 (permalink)  
Antiguo 23/05/2007, 02:49
 
Fecha de Ingreso: mayo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Re: Eclipse-Birt

Consegui resolverlo, gracias a Jason.
El tema es que habia que anadir la linea siguiente al codigo
cwaBar.getBlock( ).setBounds( BoundsImpl.create( 0, 0, 300, 300));

Con esto, los paquetes de BirtRuntime/lib y Reportitem.jar deberia funcionar.
  #9 (permalink)  
Antiguo 29/05/2008, 05:40
 
Fecha de Ingreso: mayo-2008
Mensajes: 1
Antigüedad: 16 años
Puntos: 0
Respuesta: Eclipse-Birt

Hola Locuelas

Hace unos días he encontrado tu post, y hasta hoy tengo el link por aquí sin escribir...

Buscando librerìas para dibujar gráficas lineales con SWT he encontrado referencias a Birt, pero por mucho que he buscado no he encontrado la manera de integrar Birt en mi aplicacion java, he visto el designer desde eclipse, como diseñar el report (.rptdesign).... pero cómo hago para poder lanzar el pdf desde mi aplicación, para dibujar gráficas en una shell de SWT (de eso tengo localizado un tutorial, pero no encuentro como enlazar la librería al proyecto, ya que viene como un plugin del eclipse y no se como va, con lo que las invocaciones a métodos del birt no funcionan obviamente...), etc..

¿Podrías echarme una mano con esto? unas ideas generales que no he encontrado a pesar de buscar o algún enlace donde me pueda mirar el tema que te comento?


Gracias

Saludos
Nico
  #10 (permalink)  
Antiguo 28/08/2008, 01:40
 
Fecha de Ingreso: agosto-2008
Mensajes: 1
Antigüedad: 15 años, 8 meses
Puntos: 0
Respuesta: Eclipse-Birt

Hola Buenos dias, tengo un problemilla con el birt a ver si alguien sabe solucionarlo. Alguien sabe como hacer en un informe de 10 hojas un master page para todo el informe y añadir para una parte del informe (2 o 3 hojas concretas) otro master page?

Muchas Gracias

Un saludo
  #11 (permalink)  
Antiguo 09/07/2009, 04:14
 
Fecha de Ingreso: julio-2009
Mensajes: 2
Antigüedad: 14 años, 9 meses
Puntos: 0
Sonrisa Respuesta: Eclipse-Birt

Buenas!!

Estoy trabajando con Birt para la generacion de informes y me he encontrado con un problema.
Cuando tu activas la leyenda del gráfico los valores que te aparecen son los que tu les ha puesto a mano. Pero a mi me hace falta que la leyenda lleve el valor de un campo de un data Set y no encuentro la manera de hacerlo.
¿Alguien podria darme alguna idea?

Muchas gracias!

  #12 (permalink)  
Antiguo 13/08/2009, 16:00
 
Fecha de Ingreso: agosto-2009
Mensajes: 1
Antigüedad: 14 años, 8 meses
Puntos: 0
Respuesta: Eclipse-Birt

Alguien podria decirme como controlo los saltos de paginas en Birt report, los hace pero al final simpre me muestra una pagina en blanco.... como controlaria esa parte o que me podrian recomendar le agradeceria
  #13 (permalink)  
Antiguo 20/11/2009, 08:29
 
Fecha de Ingreso: noviembre-2009
Mensajes: 1
Antigüedad: 14 años, 5 meses
Puntos: 0
Respuesta: Eclipse-Birt

Hola a todos....
Bueno llevo bastante tiempo trabajando con BIRT, yo utilizo la version 2.5 que es la ultima y el Apache tomcat en el servidor para visualizar los reportes junto al Eclipse Galileo
Creo que es importante que mencionen las herramientas con las que trabajan las cuales pueden diferir y las soluciones son diferentes para cada una....

para Jams1983 si estas trabajando con las mismas herramientas mias.... fijate primero en lo que estas haciendo... si es una tabla, un crosstab o una grid...

Si miras cuando le das click a la tabla o a lo que estes haciendo, cambian las propiedades... en Page Break, hay algo que dice Page Break Interval: ahi debes poner un numero que supere la cantidad de registros, porque ese es un salto de pagina para la tabla, sin importar la cantidad de registros que hayan....

cambialo y resuelto el problema.... yo por lo genreal pongo 1000 asi respetara el salto de pagina que le haya predefinido.
  #14 (permalink)  
Antiguo 04/02/2010, 15:11
 
Fecha de Ingreso: febrero-2010
Mensajes: 26
Antigüedad: 14 años, 3 meses
Puntos: 0
Respuesta: Eclipse-Birt

Hola

He comenzado a trabajar con Birt Report, y para la solucion de mi problema me parece muy util la cross tab, pero mi cliente no esta de acuerdo con sus resultados, y que en la cabecera devuelve los datos del campo en un orden que no conviene. Mi pregunta es como hacer que los resultados de la cabecera salgan en un orden que yo disponga, y ademas poderle poner labels encima. He tratado de mil maneras pero no resuelvo el diseño del reporte

Gracias de antemano

Saludos, Raisel
  #15 (permalink)  
Antiguo 17/02/2010, 19:12
 
Fecha de Ingreso: febrero-2010
Mensajes: 1
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Eclipse-Birt

RayCast no se si depronto ya sabes como hacr que los datos salgan organizados en tu reporte.
pero pienso que lo mas importante para realizar los reportes en el birt es realizar buenas consultas a la base de datos mediante sql, es decir al final de la cosltal das "ORDER BY primer_criterio, segundo_criterio...

Birt es una herramienta que a mi parecer es buena y permite hacer reportes muy agradables, pero lo mas importante para poderlos hacer y que no quede complicado manipularlos es hacer los query adecuadamente para tener toda la informacion que quiere manipular
  #16 (permalink)  
Antiguo 23/02/2011, 02:51
 
Fecha de Ingreso: febrero-2011
Mensajes: 1
Antigüedad: 13 años, 2 meses
Puntos: 0
Busqueda Respuesta: Eclipse-Birt

Hola

Soy nueva en esto.

Tengo que utilizar BIRT y mi problema es que no se muy bien como configurarlo.

Necesito que Birt se conecte con la BBDD de testLink.

¿Alguien puede ayudarme?

Muchas gracias
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 3 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 09:47.