/** * Genera un archivo jrprint y lo agrega al spool de union */ function completar_con_datos() { if (!isset($this->path_reporte)) { //Lo chequeo aca adentro por si la funcion se llama mas de una vez throw new toba_error_def("Falta definir el .jasper con set_path_reporte"); } if ($this->modo_archivo) { //Si el conjunto de datos viene de un archivo comun $jrl = new JavaClass("net.sf.jasperreports.engine.util.JRLoader"); $jrxmlutil = new JavaClass("net.sf.jasperreports.engine.util.JRXmlUtils"); $jrxpath = new JavaClass("net.sf.jasperreports.engine.query.JRXPathQueryExecuterFactory"); $document = $jrxmlutil->parse($jrl->getLocationInputStream($this->xml_path)); //Pongo el archivo con los datos como parametro y creo el reporte $this->parametros->put($jrxpath->PARAMETER_XML_DATA_DOCUMENT, $document); $print = $this->jasper->fillReport($this->path_reporte, $this->parametros); } else { //El conjunto de datos viene de una db o datasource if (!isset($this->conexion)) { $this->conexion = $this->instanciar_conexion_default(); } if ($this->conexion instanceof toba_db) { //Si es una base toba, le configuro el schema $con1 = $this->configurar_bd($this->conexion); } else { $con1 = $this->conexion; } //Creo el reporte finalmente con la conexion JDBC $print = $this->jasper->fillReport($this->path_reporte, $this->parametros, $con1); $con1->close(); } $this->lista_jrprint[] = $print; }