He actualizado las librerías a:
jasperreports-6.0.0.jar
commons-beanutils-1.9.2.jar
commons-collections-3.2.1.jar
commons-digester-2.1.jar
commons-logging-1.2.jar
poi-3.10.1.jar
itextpdf-5.5.0.jar
Simplificado el jrxml a:
Código:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.0.0.final using JasperReports Library version 6.0.0 -->
<!-- 2015-04-26T11:15:04 -->
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="Borrame" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="ee2fe6f1-1fea-4055-94e3-21980d798e43">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="606"/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="encuestas local"/>
<parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false"/>
<parameter name="id_encuesta" class="java.lang.String"/>
<parameter name="id_entidad" class="java.lang.String"/>
<parameter name="fecha" class="java.lang.String"/>
<queryString language="SQL">
<![CDATA[select e.nombre nombre_encuesta, p.texto pregunta_texto
from encuesta e, pregunta p, respuesta r, voto_anonimo v
where e.id_encuesta = $P{id_encuesta}
and e.id_entidad = $P{id_entidad}
and e.id_encuesta = p.id_encuesta
and e.id_entidad = p.id_entidad
and p.id_pregunta = r.id_pregunta
and p.id_entidad = r.id_entidad
and v.id_respuesta = r.id_respuesta
and v.id_entidad = r.id_entidad
group by v.id_encuesta, v.id_pregunta, v.id_respuesta
order by v.id_encuesta, v.id_pregunta, v.id_respuesta desc]]>
</queryString>
<field name="nombre_encuesta" class="java.lang.String"/>
<field name="pregunta_texto" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="61">
<textField>
<reportElement x="0" y="0" width="280" height="30" uuid="2577bfae-1e02-4fce-b2f9-4ef21fba324f">
<property name="local_mesure_unitx" value="pixel"/>
<property name="com.jaspersoft.studio.unit.x" value="px"/>
<property name="local_mesure_unity" value="pixel"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
</reportElement>
<textFieldExpression><![CDATA[$F{nombre_encuesta}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="455" y="0" width="100" height="30" uuid="ba4b05cb-994d-47af-828c-54cc71ccb641">
<property name="local_mesure_unity" value="pixel"/>
<property name="com.jaspersoft.studio.unit.y" value="px"/>
<property name="local_mesure_unitx" value="pixel"/>
<property name="com.jaspersoft.studio.unit.x" value="px"/>
</reportElement>
<textFieldExpression><![CDATA[$P{fecha}]]></textFieldExpression>
</textField>
</band>
</title>
<detail>
<band height="47" splitType="Stretch">
<property name="local_mesure_unitheight" value="pixel"/>
<property name="com.jaspersoft.studio.unit.height" value="px"/>
<textField>
<reportElement x="72" y="17" width="100" height="30" uuid="7e2321da-e0cb-4805-b7ce-e3b6c9078ba7"/>
<textFieldExpression><![CDATA[$F{pregunta_texto}]]></textFieldExpression>
</textField>
<staticText>
<reportElement x="0" y="0" width="100" height="30" uuid="d5ed9768-3c4d-4527-8497-a93878e5462c"/>
<text><![CDATA[pregunta_texto]]></text>
</staticText>
</band>
</detail>
</jasperReport>
cambiado la parte de java a:
Código:
public String getInformeReport(String idEncuesta, String urlJrxml,
String urlPDFs, Entidad entidad) throws EncuestasException {
//LOG
util.Log.log("getInformeReport(idEncuesta: "+idEncuesta+", " +
"urlJrxml: "+urlJrxml+", urlPDFs: "+urlPDFs+", entidad: "+entidad+")");
Connection conn = null;
try {
JasperReport report = JasperCompileManager.compileReport(urlJrxml+"Informe20150424.jrxml");
conn = this.abrirConexion();
//
Map parameters = new HashMap();
parameters.put("id_encuesta", idEncuesta);
parameters.put("id_entidad", entidad.getIdEntidad() );
parameters.put("fecha", Util.devuelveFechaActual() );
parameters.put("SUBREPORT_DIR",urlJrxml);//Necesario para imágenes y subreports
//
String nombreFichero = util.Util.generaNumeroAleatorioDe8Cifras() ;
JasperPrint print = JasperFillManager.fillReport(report, parameters, conn);
JasperExportManager.exportReportToPdfFile(print, urlPDFs+nombreFichero+".pdf");
return nombreFichero;
} catch (JRException e) {
Log.log("No pudo obtenerse el informe. JRException: " + e.getMessage());
e.printStackTrace();
throw new EncuestasException("No pudo obtenerse el informe", e);
} catch(Exception e){
Log.log("No pudo obtenerse el informe. Exception: " + e.getMessage());
e.printStackTrace();
throw new EncuestasException("No pudo obtenerse el informe", e);
}finally{
if(conn != null){try{conn.close();}catch(Exception e){util.Log.log("No se pudo cerrar la coneción " + e.getMessage());}}
}
}
y el error y la traza varían:
Código:
Sun Apr 26 11:43:18 CEST 2015 Encuestas No pudo obtenerse el informe. Exception: null
java.lang.NullPointerException
at sun.misc.FloatingDecimal.readJavaFormatString(FloatingDecimal.java:1008)
at java.lang.Float.parseFloat(Float.java:452)
at net.sf.jasperreports.engine.util.JRProperties.asFloat(JRProperties.java:422)
at net.sf.jasperreports.engine.util.JRProperties.getFloatProperty(JRProperties.java:389)
at net.sf.jasperreports.engine.util.JRStyleResolver.getLineSpacingSize(JRStyleResolver.java:620)
at net.sf.jasperreports.engine.base.JRBaseParagraph.getLineSpacingSize(JRBaseParagraph.java:170)
at net.sf.jasperreports.engine.fill.CachingParagraph.<init>(CachingParagraph.java:55)
at net.sf.jasperreports.engine.fill.JRFillTextElement.setFillStyleObjects(JRFillTextElement.java:208)
at net.sf.jasperreports.engine.fill.JRFillTextElement.evaluateStyle(JRFillTextElement.java:176)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:571)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:557)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:455)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillTitle(JRVerticalFiller.java:320)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:256)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:124)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:540)
at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:393)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:89)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:457)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:864)
at Modelo.Modelo.getInformeReport(Modelo.java:578)
at Controlador.Delegate.getInforme(Delegate.java:257)
at Controlador.Controlador.processRequest(Controlador.java:655)
at Controlador.Controlador.doGet(Controlador.java:812)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:621)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at Filtros.Filtro.doFilter(Filtro.java:98)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:936)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:722)
pero sigo sin saber porqué falla. El preview desde jasperstudio sigue funcionando
ideas?