/*
* Ejemplo de uso Wicket Stuff Jasperreport con JPA con parametros
*/
class Ejemplo implements Serializable {
....
//Declaracion de variables
private transient InputStream is = null;
private JRResource jreport = null;
....
protected IResourceStream getResourceStream() {
//Parametros del informe
EntityManager em = createEntityManager();
final Map<String,Object> params = new HashMap<String, Object>();
params.put("PARAM_JPA1", "UN VALOR");
params.put("PARAM_JPA2", "OTRO VALOR");
//IMPORTANTE!!! Pasar el acceso a base de datos en los parametros
params.put(JRJpaQueryExecuterFactory.PARAMETER_JPA_ENTITY_MANAGER, em);
//Obtenemos la plantilla del informe
is = Ejemplo.class.getResourceAsStream("informe.jasper");
//Generamos el informe
jreport = new JRConcreteResource<XlsResourceHandler>(is, new XlsResourceHandler());
jreport.setReportParameters(params);
return jreport.getResourceStream();