Ayuda. como generar reporte con Wavemaker + iReport

176 views
Skip to first unread message

Marco Suazo

unread,
Jun 27, 2013, 4:51:24 PM6/27/13
to wavemake...@googlegroups.com
Buen dia.

estoy tratando de generar un reporte en pdf y encontre el siguiente codigo de los amigos de mavirroco.

este es el codigo:


import net.sf.jasperreports.engine.JRResultSetDataSource;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.engine.design.JasperDesign;
import net.sf.jasperreports.engine.xml.JRXmlLoader;

import java.util.*;
import java.io.*;
import java.net.URL;
import org.hibernate.Session;
import com.*;
import com.wavemaker.runtime.RuntimeAccess;


public class GenedadorReporte extends com.wavemaker.runtime.javaservice.JavaServiceSuperClass {

public DownloadResponse getReport() throws Exception {

DownloadResponse ret=new DownloadResponse();
ConfigurableMimeFileTypeMap mimeFileTypeMap = new ConfigurableMimeFileTypeMap();

try {

//para recoger la conexion de la base de datos
preapgoDB service = (preapgoDB) RuntimeAccess.getInstance().getService(preapgoDB.class);
service.begin();

Session session = service.getDataServiceManager().getSession();

URL fileUrl = this.getClass().getResource("report1.jasper");

//para cargar el jasper
JasperReport report2 = (JasperReport)JRLoader.loadObject(fileUrl);

//para cargar: la conexion de la base de datos al reporte, parametros y el archivo jasper
JasperPrint jasperPrint = JasperFillManager.fillReport(report2,null,session.connection());

//exportar el projeco a pdf
ByteArrayOutputStream out = new ByteArrayOutputStream();
JasperExportManager.exportReportToPdfStream(jasperPrint, out);

//para cargar el PDF
ret.setContentType(mimeFileTypeMap.getContentType("report1.pdf"));
ret.setContents(new ByteArrayInputStream(out.toByteArray()));
ret.setFileName("report1.pdf");

} catch (Exception e){
e.printStackTrace();
}
return ret;
}

}

estos son las errores que me muestran:


Fallo la compilacion del servicio a las 14:39:15


    [javac] Compiling 1 source file to C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\webapproot\WEB-INF\classes
    [javac] C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java:18: class GenedadorReporte is public, should be declared in a file named GenedadorReporte.java
    [javac] public class GenedadorReporte extends com.wavemaker.runtime.javaservice.JavaServiceSuperClass {
    [javac]        ^
    [javac] C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java:14: package com does not exist
    [javac] import com.*;
    [javac] ^
    [javac] C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java:20: cannot find symbol
    [javac] symbol  : class DownloadResponse
    [javac] location: class GenedadorReporte
    [javac] public DownloadResponse getReport() throws Exception {
    [javac]        ^
    [javac] C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java:22: cannot find symbol
    [javac] symbol  : class DownloadResponse
    [javac] location: class GenedadorReporte
    [javac] DownloadResponse ret=new DownloadResponse();
    [javac] ^
    [javac] C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java:22: cannot find symbol
    [javac] symbol  : class DownloadResponse
    [javac] location: class GenedadorReporte
    [javac] DownloadResponse ret=new DownloadResponse();
    [javac]                          ^
    [javac] C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java:23: cannot find symbol
    [javac] symbol  : class ConfigurableMimeFileTypeMap
    [javac] location: class GenedadorReporte
    [javac] ConfigurableMimeFileTypeMap mimeFileTypeMap = new ConfigurableMimeFileTypeMap();
    [javac] ^
    [javac] C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java:23: cannot find symbol
    [javac] symbol  : class ConfigurableMimeFileTypeMap
    [javac] location: class GenedadorReporte
    [javac] ConfigurableMimeFileTypeMap mimeFileTypeMap = new ConfigurableMimeFileTypeMap();
    [javac]                                                   ^
    [javac] C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java:28: cannot find symbol
    [javac] symbol  : class preapgoDB
    [javac] location: class GenedadorReporte
    [javac] preapgoDB service = (preapgoDB) RuntimeAccess.getInstance().getService(preapgoDB.class);
    [javac] ^
    [javac] C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java:28: cannot find symbol
    [javac] symbol  : class preapgoDB
    [javac] location: class GenedadorReporte
    [javac] preapgoDB service = (preapgoDB) RuntimeAccess.getInstance().getService(preapgoDB.class);
    [javac]                      ^
    [javac] C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java:28: cannot find symbol
    [javac] symbol  : class preapgoDB
    [javac] location: class GenedadorReporte
    [javac] preapgoDB service = (preapgoDB) RuntimeAccess.getInstance().getService(preapgoDB.class);
    [javac]                                                                        ^
    [javac] C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java:36: cannot find symbol
    [javac] symbol  : variable JRLoader
    [javac] location: class GenedadorReporte
    [javac] JasperReport report2 = (JasperReport)JRLoader.loadObject(fileUrl);
    [javac]                                      ^
    [javac] Note: C:\Users\Marco.suazo\Documents\WaveMaker 6.4.5GA\projects\PMS\services\GeneradorReporte\src\GeneradorReporte.java uses or overrides a deprecated API.
    [javac] Note: Recompile with -Xlint:deprecation for details.
    [javac] 11 errors

message: Compile failed; see the compiler error output for details.

favor su ayuda, esto me esta volviendo loco.

Giuseppe

unread,
Jun 27, 2013, 5:09:36 PM6/27/13
to wavemake...@googlegroups.com
Pues si te fijas, el primer error de todos, tienes un typo en el nombre de la clase.
Desconozco de donde sacas ese código, pero hacer
Import com.*
No tiene sentido importar un paquete completo a ese nivel, aparte de no ser óptimo, debió ser un error de mavirroco.

Has añadido los jar de jasper a la carpeta lib?

Has creado el servicio desde wavemaker, y luego añadido el código? El método correcto sería, crear el servicio desde wavemaker, grabar, y posteriormente añadir los import faltantes y el código.

Saludos.

Enviado desde mi iPad

/Giuseppe
--
Has recibido este mensaje porque estás suscrito al grupo "WaveMaker Hispano" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a wavemaker-hisp...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a wavemake...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/wavemaker-hispano.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
 
 

CESAR BUSTOS

unread,
Jun 27, 2013, 5:29:40 PM6/27/13
to wavemake...@googlegroups.com
depronto este articulo del foro les ayude yo descargue el proyecto y lo probe y funciono de maravilla

Marco Suazo

unread,
Jun 27, 2013, 6:21:18 PM6/27/13
to wavemake...@googlegroups.com
Gracias por su pronta respuesta

Giuseppe, el codigo que envio es el el java service de Wavemaker y ya añadi las liberias a mi proyecto.

Cesar: de hecho de ahi saque la informacion yo tambien y no lo puedo abrir me muestra el siguient error.





lo que hice fue generar el reporte en IReport. copie la librerias en la carpeta lib de mi proyecto de Wavemaker, cree el Java service y al copilar es que da error  yo cuento con la version 6.4.5 de Wavemaker
Error: Can't open project "wavemakerjasperreports" because it is is newer than the studio (project version "0.54", studio project version "0.48")

CESAR BUSTOS

unread,
Jun 27, 2013, 6:53:21 PM6/27/13
to wavemake...@googlegroups.com
yo lo importe desde WM 6.5.3

Marco Suazo

unread,
Jun 27, 2013, 8:00:02 PM6/27/13
to wavemake...@googlegroups.com
Ya los reducirlo lo errores lo me nuestra el siguiente error.
Fallo la compilacion del servicio a las 17:49:31

failed with output:

----------
1. ERROR in \services\WebService_PMS\src\pms\webservice_pms\WebServicePMSSoap.java (at line 0)
	

	^
Internal compiler error: java.lang.IllegalArgumentException: Unknown location : SOURCE_PATH at org.eclipse.jdt.internal.compiler.tool.EclipseFileManager.getJavaFileForInput(EclipseFileManager.java:443)
----------
1 problem (1 error)
Reply all
Reply to author
Forward
0 new messages