[#5609] - Conditional Styles are not evaluated correctly

Category:
Bug report
Priority:
High
Status:
New
Project: Severity:
Major
Resolution:
Reopened
Component: Reproducibility:
Always
Assigned to:
0

I have a report that contains multiple subreports, the report runs fine with 4.0.1 lib jar but fails with a ClassCastException.

[java] SEVERE: Fill 1: exception
[java] java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Boolean
[java] at net.sf.jasperreports.engine.fill.JRFillElementContainer.buildConsolidatedStyle(JRFillElementContainer.java:773)
[java] at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluateConditionalStyle(JRFillElementContainer.java:730)
[java] at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluateConditionalStyles(JRFillElementContainer.java:718)
[java] at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:472)
[java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2021)
[java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:755)
[java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:265)
[java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
[java] at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)
[java] at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746)
[java] at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:640)
[java] at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59)
[java] at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:205)
[java] at java.lang.Thread.run(Thread.java:679)
[java] java.lang.Double cannot be cast to java.lang.Boolean
[java] java.lang.ClassCastException: java.lang.Double cannot be cast to java.lang.Boolean
[java] at net.sf.jasperreports.engine.fill.JRFillElementContainer.buildConsolidatedStyle(JRFillElementContainer.java:773)
[java] at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluateConditionalStyle(JRFillElementContainer.java:730)
[java] at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluateConditionalStyles(JRFillElementContainer.java:718)
[java] at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:472)
[java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2021)
[java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:755)
[java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:265)
[java] at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:128)
[java] at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:836)
[java] at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:746)
[java] at net.sf.jasperreports.engine.fill.JRFillSubreport.fillSubreport(JRFillSubreport.java:640)
[java] at net.sf.jasperreports.engine.fill.JRSubreportRunnable.run(JRSubreportRunnable.java:59)
[java] at net.sf.jasperreports.engine.fill.JRThreadSubreportRunner.run(JRThreadSubreportRunner.java:205)
[java] at java.lang.Thread.run(Thread.java:679)

AttachmentSize
Package icon ------report.zip65.3 KB
Package icon report_run_in_ireport.zip183.88 KB
munga's picture
60
Joined: Jan 14 2008 - 4:12pm
Last seen: 3 years 4 months ago

12 Comments:

#1

Fails against version 4.5.0
mysql was 5.1
java version "1.6.0_23"
OpenJDK Runtime Environment (IcedTea6 1.11pre) (6b23~pre11-0ubuntu1.11.10)
OpenJDK 64-Bit Server VM (build 20.0-b11, mixed mode)

Bug was reproduced on both Linux and Windows Vista Bussiness.

I have added a more user friendly test report which can now be run from ireport.

#2

I've encountered the same stack trace as well as "java.lang.Integer cannot be cast to java.lang.Boolean" and "java.lang.String cannot be cast to java.lang.Boolean".

A workaround for me was to ensure that the names of subreport styles with conditional elements were unique. For example, a report containing two subreports 'SubreportA' and 'SubreportB' both with a style 'Row' (with conditional styling) would generate the exception; changing the name of the style in 'SubreportA' to 'RowA' and in 'SubreportB' to 'RowB' allowed the report to run successfully.

The original report ran successfully in iReport 4.1.2/JasperServer 4.2.1 CE and failed in iReport 4.5.0/JasperServer 4.5.0 CE. iReport was running on:
Windows 7
java version "1.7.0"
Java(TM) SE Runtime Environment (build 1.7.0-b147)
Java HotSpot(TM) 64-Bit Server VM (build 21.0-b17, mixed mode)

JasperServer on:
Debian Squeeze
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)

Same MySQL 5.1 server in both instances.

(For the record, I tried cerating a simple example with an XML datasource but could not replicate the bug.)

#3

I too had this problem with non-unique conditional style names in JasperReport Server 4.5.0. I renamed the style in all 21 subreports as a workaround.

I encountered a "Date cannot be cast to java.lang.Boolean" as well as String. The reality is my conditions are all of type Integer, mostly automated REPORT_COUNT and group_COUNT variables.

#4

This has been fixed in JasperReports 4.5.1 (SVN revision 5004).

Please upgrade to 4.5.1 and retest the case.

Regards,
Lucian

#5
  • Status:Resolved» Closed
#6
  • Severity:Critical» Major
  • Resolution:Fixed» Reopened
  • Status:Closed» New

Reproduced in JasperReports 5.0.0
Expression is: Boolean.valueOf(1==1)

java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Boolean
at net.sf.jasperreports.engine.fill.JRFillElementContainer.buildConsolidatedStyle(JRFillElementContainer.java:783)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluateConditionalStyle(JRFillElementContainer.java:745)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluateConditionalStyles(JRFillElementContainer.java:733)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:458)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillFixedBand(JRVerticalFiller.java:2095)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageFooter(JRVerticalFiller.java:1030)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummaryNoLastFooterSamePage(JRVerticalFiller.java:1160)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:1055)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:319)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:158)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:909)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:841)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:88)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:969)
at com.cibil.crs.service.report.service.ReportService.generatePDFReport(ReportService.java:242)
at com.cibil.crs.service.report.service.ReportService.generate(ReportService.java:126)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:606)
at com.sun.jersey.spi.container.JavaMethodInvokerFactory$1.invoke(JavaMethodInvokerFactory.java:60)
at com.sun.jersey.server.impl.model.method.dispatch.AbstractResourceMethodDispatchProvider$TypeOutInvoker._dispatch(AbstractResourceMethodDispatchProvider.java:185)
at com.sun.jersey.server.impl.model.method.dispatch.ResourceJavaMethodDispatcher.dispatch(ResourceJavaMethodDispatcher.java:75)
at com.sun.jersey.server.impl.uri.rules.HttpMethodRule.accept(HttpMethodRule.java:302)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.ResourceClassRule.accept(ResourceClassRule.java:108)
at com.sun.jersey.server.impl.uri.rules.RightHandPathRule.accept(RightHandPathRule.java:147)
at com.sun.jersey.server.impl.uri.rules.RootResourceClassesRule.accept(RootResourceClassesRule.java:84)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1542)
at com.sun.jersey.server.impl.application.WebApplicationImpl._handleRequest(WebApplicationImpl.java:1473)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1419)
at com.sun.jersey.server.impl.application.WebApplicationImpl.handleRequest(WebApplicationImpl.java:1409)
at com.sun.jersey.spi.container.servlet.WebComponent.service(WebComponent.java:409)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:540)
at com.sun.jersey.spi.container.servlet.ServletContainer.service(ServletContainer.java:715)
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.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:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
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:724)

#7

Please attach a full JRXML that can be used to reproduce the issue.

Regards,
Lucian

#8

Hi we're upgrading our jasper reports server from 3.7 ( I know very bad but we've struggled with resource) to v5. We have a number of semi complex reports which are currently erroring the same as above. please can someone help

Heres the xml of the main report
<?xml version="1.0" encoding="UTF-8"?>
<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="DevelopmentPlanIndividual" language="groovy" pageWidth="1200" pageHeight="842" columnWidth="1160" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isIgnorePagination="true">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="ireport.jasperserver.reportUnit" value="/reports/MELIOLive/OpDevelopmentPlanIndividual"/>
<property name="ireport.jasperserver.url" value=" http://wm-srv-geo-01:8180/jasperserver/services/repository"/>
<style name="Crosstab Data Text" hAlign="Center"/>
<parameter name="_area_ops_fc" class="java.lang.String"/>
<parameter name="_date_from" class="java.util.Date"/>
<parameter name="_date_to" class="java.util.Date"/>
<parameter name="_command_ops_fc" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_watch_crew" class="java.lang.String"/>
<parameter name="_role_level_ops_fc" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_station_ops_fc" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="p_user" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_module_type" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_module" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_assessment_result" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_employee" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_standard_achieved" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="RoleLevelOpsAll" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<queryString>
<![CDATA[SELECT distinct madv.module_type,
madv.module_name,
madv.review_daterecorded,
'('||madv.current_job_grade||') '||madv.full_name||' ['||madv.employee_number||']' X_AXIS,
madv.module_id
FROM melio_all_devplans_view madv
WHERE nvl(madv.standard_achieved_decoded,'%') like nvl($P{_standard_achieved},'%')
AND madv.review_daterecorded between TO_DATE($P{_date_from},'DD-MON-YY') AND TO_DATE($P{_date_to},'DD-MON-YY')
AND ireports_utilities.mgr_view_emp($P{p_user},madv.employee_number) = 'Y'
AND madv.current_job_watch LIKE nvl($P{_watch_crew},'%')
AND madv.module_type like decode($P{_module_type},' ALL Module Types','%',$P{_module_type})
AND madv.module_name like decode($P{_module},' ALL Modules','%',$P{_module})
AND madv.command_id LIKE nvl($P{_command_ops_fc},'%')
AND madv.area_id LIKE nvl($P{_area_ops_fc},'%')
AND madv.current_job_role LIKE decode($P{RoleLevelOpsAll},'All Operational Roles','%',$P{RoleLevelOpsAll})
AND madv.current_job_org_id LIKE nvl($P{_station_ops_fc},'%')
AND madv.employee_number LIKE nvl($P{_employee},'%')
AND madv.status = '1'
UNION
select DISTINCT null "module_type", null "module_name", null "date_recorded",
'('||e.job_grade_skill_coded||') '||e.full_name||' ['||e.employee_number||']' X_AXIS,
null "module_id"
FROM GN_EMPLOYEE_DATA e
WHERE e.employee_number in
(SELECT e.employee_number FROM GN_EMPLOYEE_DATA e, melio_roles mr, melio_rolesgrades mrg
WHERE mr.role_id = mrg.role_id
AND e.job_grade_skill_coded = mrg.job_grade_skill_coded
AND mr.name LIKE decode($P{RoleLevelOpsAll},'All Operational Roles','%',$P{RoleLevelOpsAll})
AND (SELECT org.organization_id FROM gn_organizations org WHERE org.organization_id =
(SELECT org2.parent_org_id FROM gn_organizations org2
WHERE org2.organization_id = e.job_org_id)) LIKE nvl($P{_command_ops_fc},'%')
AND (SELECT orga.organization_id FROM gn_organizations orga WHERE orga.organization_id =
(SELECT org3.parent_org_id FROM gn_organizations org3 WHERE org3.organization_id =
(SELECT org2.parent_org_id FROM gn_organizations org2 WHERE org2.organization_id =
e.job_org_id))) LIKE nvl($P{_area_ops_fc},'%')
AND ireports_utilities.mgr_view_emp($P{p_user},e.employee_number) = 'Y'
AND e.employee_number LIKE nvl($P{_employee},'%')
AND e.job_watch LIKE nvl($P{_watch_crew},'%')
AND e.job_org_id LIKE nvl($P{_station_ops_fc},'%')
MINUS
SELECT distinct madv.employee_number
FROM melio_all_devplans_view madv
WHERE nvl(madv.standard_achieved_decoded,'%') like nvl($P{_standard_achieved},'%')
AND madv.review_daterecorded between TO_DATE($P{_date_from},'DD-MON-YY') AND TO_DATE($P{_date_to},'DD-MON-YY')
AND madv.current_job_watch LIKE nvl($P{_watch_crew},'%')
AND madv.module_type like decode($P{_module_type},' ALL Module Types','%',$P{_module_type})
AND madv.module_name like decode($P{_module},' ALL Modules','%',$P{_module})
AND madv.command_id LIKE nvl($P{_command_ops_fc},'%')
AND madv.area_id LIKE nvl($P{_area_ops_fc},'%')
AND ireports_utilities.mgr_view_emp($P{p_user},madv.employee_number) = 'Y'
AND madv.current_job_role LIKE decode($P{RoleLevelOpsAll},'All Operational Roles','%',$P{RoleLevelOpsAll})
AND madv.current_job_org_id LIKE nvl($P{_station_ops_fc},'%')
AND madv.employee_number LIKE nvl($P{_employee},'%')
AND madv.status = '1')
UNION
(SELECT DISTINCT mmv.module_type, mmv.module_name, null "date_recorded", null X_AXIS, null "module_id"
FROM melio_modules_view mmv
WHERE mmv.module_type like decode($P{_module_type},' ALL Module Types','%',$P{_module_type})
AND mmv.module_name like decode($P{_module},' ALL Modules','%',$P{_module})
MINUS
select distinct madv.module_type, madv.module_name, null "date_recorded", null X_AXIS, null "module_id"
FROM melio_all_devplans_view madv
WHERE nvl(madv.standard_achieved_decoded,'%') like nvl($P{_standard_achieved},'%')
AND madv.review_daterecorded between TO_DATE($P{_date_from},'DD-MON-YY') AND TO_DATE($P{_date_to},'DD-MON-YY')
AND madv.current_job_watch LIKE nvl($P{_watch_crew},'%')
AND madv.module_type like decode($P{_module_type},' ALL Module Types','%',$P{_module_type})
AND madv.module_name like decode($P{_module},' ALL Modules','%',$P{_module})
AND madv.command_id LIKE nvl($P{_command_ops_fc},'%')
AND madv.area_id LIKE nvl($P{_area_ops_fc},'%')
AND ireports_utilities.mgr_view_emp($P{p_user},madv.employee_number) = 'Y'
AND madv.current_job_role LIKE decode($P{RoleLevelOpsAll},'All Operational Roles','%',$P{RoleLevelOpsAll})
AND madv.current_job_org_id LIKE nvl($P{_station_ops_fc},'%')
AND madv.employee_number LIKE nvl($P{_employee},'%')
AND madv.status = '1')
order by 1,2,4]]>
</queryString>
<field name="MODULE_TYPE" class="java.lang.String"/>
<field name="MODULE_NAME" class="java.lang.String"/>
<field name="REVIEW_DATERECORDED" class="java.sql.Timestamp"/>
<field name="X_AXIS" class="java.lang.String"/>
<field name="MODULE_ID" class="java.math.BigDecimal"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="257" splitType="Stretch">
<staticText>
<reportElement x="0" y="34" width="600" height="20"/>
<textElement>
<font fontName="Arial" size="13" isBold="true" isUnderline="false"/>
</textElement>
<text><![CDATA[Completed Development Plans - Individual Level Report for Operational Staff]]></text>
</staticText>
<staticText>
<reportElement x="0" y="136" width="132" height="18"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[ROLE LEVEL]]></text>
</staticText>
<image>
<reportElement x="0" y="0" width="132" height="34"/>
<imageExpression class="java.lang.String"><![CDATA["repo:/images/Melio_Logo"]]></imageExpression>
</image>
<staticText>
<reportElement x="0" y="216" width="132" height="18"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[WATCH]]></text>
</staticText>
<staticText>
<reportElement x="0" y="196" width="132" height="18"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[STATION]]></text>
</staticText>
<staticText>
<reportElement x="0" y="176" width="132" height="18"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[COMMAND]]></text>
</staticText>
<staticText>
<reportElement x="0" y="156" width="132" height="18"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[AREA]]></text>
</staticText>
<staticText>
<reportElement x="0" y="56" width="132" height="18"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[TIMESCALE]]></text>
</staticText>
<staticText>
<reportElement x="0" y="116" width="132" height="18"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[STANDARD ACHIEVED]]></text>
</staticText>
<staticText>
<reportElement x="0" y="96" width="132" height="18"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[MODULE]]></text>
</staticText>
<staticText>
<reportElement x="0" y="76" width="132" height="18"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[MODULE TYPE]]></text>
</staticText>
<staticText>
<reportElement x="0" y="236" width="132" height="18"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[EMPLOYEE]]></text>
</staticText>
<subreport>
<reportElement x="152" y="56" width="448" height="198"/>
<subreportParameter name="_date_to">
<subreportParameterExpression><![CDATA[$P{_date_to}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_module">
<subreportParameterExpression><![CDATA[$P{_module}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="RoleLevelOpsAll">
<subreportParameterExpression><![CDATA[$P{RoleLevelOpsAll}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_station_ops_fc">
<subreportParameterExpression><![CDATA[$P{_station_ops_fc}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_module_type">
<subreportParameterExpression><![CDATA[$P{_module_type}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_command_ops_fc">
<subreportParameterExpression><![CDATA[$P{_command_ops_fc}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_employee">
<subreportParameterExpression><![CDATA[$P{_employee}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_watch_crew">
<subreportParameterExpression><![CDATA[$P{_watch_crew}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_area_ops_fc">
<subreportParameterExpression><![CDATA[$P{_area_ops_fc}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_date_from">
<subreportParameterExpression><![CDATA[$P{_date_from}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_standard_achieved">
<subreportParameterExpression><![CDATA[$P{_standard_achieved}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression class="java.lang.String"><![CDATA["repo:DevPlanIndSubRepNew.jrxml"]]></subreportExpression>
</subreport>
</band>
</title>
<pageFooter>
<band splitType="Stretch"/>
</pageFooter>
<summary>
<band height="75">
<crosstab ignoreWidth="false">
<reportElement stretchType="RelativeToBandHeight" x="0" y="0" width="1160" height="75" isRemoveLineWhenBlank="true"/>
<rowGroup name="MODULE_TYPE" width="152">
<bucket>
<bucketExpression class="java.lang.String"><![CDATA[$F{MODULE_TYPE}]]></bucketExpression>
</bucket>
<crosstabRowHeader>
<cellContents backcolor="#D9D9E9" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isBlankWhenNull="true">
<reportElement style="Crosstab Data Text" x="0" y="0" width="152" height="25"/>
<textElement textAlignment="Left" verticalAlignment="Middle" rotation="None">
<font fontName="Arial" isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$V{MODULE_TYPE}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabRowHeader>
<crosstabTotalRowHeader>
<cellContents/>
</crosstabTotalRowHeader>
</rowGroup>
<rowGroup name="MODULE_NAME" width="144">
<bucket>
<bucketExpression class="java.lang.String"><![CDATA[$F{MODULE_NAME}]]></bucketExpression>
</bucket>
<crosstabRowHeader>
<cellContents backcolor="#D9D9E9" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isBlankWhenNull="true">
<reportElement style="Crosstab Data Text" x="0" y="0" width="144" height="25"/>
<textElement textAlignment="Left" verticalAlignment="Middle" rotation="None">
<font fontName="Arial" isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$V{MODULE_NAME}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabRowHeader>
<crosstabTotalRowHeader>
<cellContents/>
</crosstabTotalRowHeader>
</rowGroup>
<columnGroup name="X_AXIS" height="30">
<bucket>
<bucketExpression class="java.lang.String"><![CDATA[$F{X_AXIS}]]></bucketExpression>
</bucket>
<crosstabColumnHeader>
<cellContents backcolor="#D9D9E9" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isBlankWhenNull="true">
<reportElement x="0" y="0" width="115" height="30"/>
<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None">
<font fontName="Arial" size="10" isBold="true"/>
</textElement>
<textFieldExpression class="java.lang.String"><![CDATA[$V{X_AXIS}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabColumnHeader>
<crosstabTotalColumnHeader>
<cellContents/>
</crosstabTotalColumnHeader>
</columnGroup>
<measure name="MODULE_IDMeasure" class="java.lang.Integer" calculation="Count">
<measureExpression><![CDATA[$F{MODULE_ID}]]></measureExpression>
</measure>
<measure name="measureDateFrom" class="java.util.Date">
<measureExpression><![CDATA[$P{_date_from}]]></measureExpression>
</measure>
<measure name="measureDateTo" class="java.util.Date">
<measureExpression><![CDATA[$P{_date_to}]]></measureExpression>
</measure>
<measure name="COMPLETEDATEMeasure" class="java.sql.Timestamp" calculation="Highest">
<measureExpression><![CDATA[$F{REVIEW_DATERECORDED}]]></measureExpression>
</measure>
<crosstabCell width="115" height="25">
<cellContents>
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isBlankWhenNull="true" hyperlinkType="ReportExecution">
<reportElement style="Crosstab Data Text" x="0" y="0" width="115" height="13">
<printWhenExpression><![CDATA[$V{MODULE_IDMeasure}.compareTo(0)]]></printWhenExpression>
</reportElement>
<textElement verticalAlignment="Middle">
<font fontName="Arial" size="10"/>
</textElement>
<textFieldExpression class="java.lang.Integer"><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
<hyperlinkParameter name="_report">
<hyperlinkParameterExpression><![CDATA["/reports/MELIOTest/OpDevPlanDrillDown1"]]></hyperlinkParameterExpression>
</hyperlinkParameter>
<hyperlinkParameter name="_x_axis">
<hyperlinkParameterExpression><![CDATA[$V{X_AXIS}]]></hyperlinkParameterExpression>
</hyperlinkParameter>
<hyperlinkParameter name="_module_type">
<hyperlinkParameterExpression><![CDATA[$V{MODULE_TYPE}]]></hyperlinkParameterExpression>
</hyperlinkParameter>
<hyperlinkParameter name="_date_from">
<hyperlinkParameterExpression class="java.util.Date"><![CDATA[$V{measureDateFrom}]]></hyperlinkParameterExpression>
</hyperlinkParameter>
<hyperlinkParameter name="_date_to">
<hyperlinkParameterExpression class="java.util.Date"><![CDATA[$V{measureDateTo}]]></hyperlinkParameterExpression>
</hyperlinkParameter>
<hyperlinkParameter name="_module">
<hyperlinkParameterExpression><![CDATA[$V{MODULE_NAME}]]></hyperlinkParameterExpression>
</hyperlinkParameter>
</textField>
<textField isBlankWhenNull="true" hyperlinkTarget="Blank">
<reportElement style="Crosstab Data Text" x="0" y="0" width="115" height="13" forecolor="#FF0000">
<printWhenExpression><![CDATA[$V{MODULE_IDMeasure}.equals(0)]]></printWhenExpression>
</reportElement>
<textElement verticalAlignment="Middle">
<font fontName="Arial" size="10"/>
</textElement>
<textFieldExpression class="java.lang.Integer"><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="dd-MMM-yy" isBlankWhenNull="true">
<reportElement style="Crosstab Data Text" x="0" y="13" width="115" height="12"/>
<textElement>
<font fontName="Arial" size="10"/>
</textElement>
<textFieldExpression class="java.sql.Timestamp"><![CDATA[$V{COMPLETEDATEMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell height="25" rowTotalGroup="MODULE_NAME">
<cellContents backcolor="#AF6400" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25" forecolor="#FFFFFF"/>
<textElement/>
<textFieldExpression class="java.lang.Integer"><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell width="50" columnTotalGroup="X_AXIS">
<cellContents backcolor="#FFE4BF" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25"/>
<textElement/>
<textFieldExpression class="java.lang.Integer"><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell rowTotalGroup="MODULE_NAME" columnTotalGroup="X_AXIS">
<cellContents backcolor="#AF6400" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25" forecolor="#FFFFFF"/>
<textElement/>
<textFieldExpression class="java.lang.Integer"><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell height="25" rowTotalGroup="MODULE_TYPE">
<cellContents backcolor="#FFE4BF" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25"/>
<textElement/>
<textFieldExpression class="java.lang.Integer"><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell rowTotalGroup="MODULE_TYPE" columnTotalGroup="X_AXIS">
<cellContents backcolor="#FFE4BF" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25"/>
<textElement/>
<textFieldExpression class="java.lang.Integer"><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
</crosstab>
</band>
</summary>
</jasperReport>

Heres the jrxml of the cross tab subreport

<?xml version="1.0" encoding="UTF-8"?>
<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="DevelopmentPlanIndividual" language="groovy" pageWidth="1200" pageHeight="842" columnWidth="1160" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isIgnorePagination="true" uuid="5a3b5c9d-7963-4011-8f93-a83642d238eb">
<property name="ireport.zoom" value="1.0"/>
<property name="ireport.x" value="0"/>
<property name="ireport.y" value="0"/>
<property name="ireport.jasperserver.reportUnit" value="/reports/MELIOLive/OpDevelopmentPlanIndividual"/>
<property name="ireport.jasperserver.url" value=" http://wm-vms-aa-01:8180/jasperserver/services/repository"/>
<style name="Crosstab Data Text" hAlign="Center"/>
<parameter name="_area_ops_fc" class="java.lang.String"/>
<parameter name="_date_from" class="java.util.Date"/>
<parameter name="_date_to" class="java.util.Date"/>
<parameter name="_command_ops_fc" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_watch_crew" class="java.lang.String"/>
<parameter name="_role_level_ops_fc" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_station_ops_fc" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="p_user" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_module_type" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_module" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_assessment_result" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_employee" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="_standard_achieved" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<parameter name="RoleLevelOpsAll" class="java.lang.String">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>
<queryString>
<![CDATA[SELECT distinct madv.module_type,
madv.module_name,
madv.review_daterecorded,
'('||madv.current_job_grade||') '||madv.full_name||' ['||madv.employee_number||']' X_AXIS,
madv.module_id
FROM melio_all_devplans_view madv
WHERE nvl(madv.standard_achieved_decoded,'%') like nvl($P{_standard_achieved},'%')
AND madv.review_daterecorded between TO_DATE($P{_date_from},'DD-MON-YY') AND TO_DATE($P{_date_to},'DD-MON-YY')
AND ireports_utilities.mgr_view_emp($P{p_user},madv.employee_number) = 'Y'
AND madv.current_job_watch LIKE nvl($P{_watch_crew},'%')
AND madv.module_type like decode($P{_module_type},' ALL Module Types','%',$P{_module_type})
AND madv.module_name like decode($P{_module},' ALL Modules','%',$P{_module})
AND madv.command_id LIKE nvl($P{_command_ops_fc},'%')
AND madv.area_id LIKE nvl($P{_area_ops_fc},'%')
AND madv.current_job_role LIKE decode($P{RoleLevelOpsAll},'All Operational Roles','%',$P{RoleLevelOpsAll})
AND madv.current_job_org_id LIKE nvl($P{_station_ops_fc},'%')
AND madv.employee_number LIKE nvl($P{_employee},'%')
AND madv.status = '1'
UNION
select DISTINCT null "module_type", null "module_name", null "date_recorded",
'('||e.job_grade_skill_coded||') '||e.full_name||' ['||e.employee_number||']' X_AXIS,
null "module_id"
FROM GN_EMPLOYEE_DATA e
WHERE e.employee_number in
(SELECT e.employee_number FROM GN_EMPLOYEE_DATA e, melio_roles mr, melio_rolesgrades mrg
WHERE mr.role_id = mrg.role_id
AND e.job_grade_skill_coded = mrg.job_grade_skill_coded
AND mr.name LIKE decode($P{RoleLevelOpsAll},'All Operational Roles','%',$P{RoleLevelOpsAll})
AND (SELECT org.organization_id FROM gn_organizations org WHERE org.organization_id =
(SELECT org2.parent_org_id FROM gn_organizations org2
WHERE org2.organization_id = e.job_org_id)) LIKE nvl($P{_command_ops_fc},'%')
AND (SELECT orga.organization_id FROM gn_organizations orga WHERE orga.organization_id =
(SELECT org3.parent_org_id FROM gn_organizations org3 WHERE org3.organization_id =
(SELECT org2.parent_org_id FROM gn_organizations org2 WHERE org2.organization_id =
e.job_org_id))) LIKE nvl($P{_area_ops_fc},'%')
AND ireports_utilities.mgr_view_emp($P{p_user},e.employee_number) = 'Y'
AND e.employee_number LIKE nvl($P{_employee},'%')
AND e.job_watch LIKE nvl($P{_watch_crew},'%')
AND e.job_org_id LIKE nvl($P{_station_ops_fc},'%')
MINUS
SELECT distinct madv.employee_number
FROM melio_all_devplans_view madv
WHERE nvl(madv.standard_achieved_decoded,'%') like nvl($P{_standard_achieved},'%')
AND madv.review_daterecorded between TO_DATE($P{_date_from},'DD-MON-YY') AND TO_DATE($P{_date_to},'DD-MON-YY')
AND madv.current_job_watch LIKE nvl($P{_watch_crew},'%')
AND madv.module_type like decode($P{_module_type},' ALL Module Types','%',$P{_module_type})
AND madv.module_name like decode($P{_module},' ALL Modules','%',$P{_module})
AND madv.command_id LIKE nvl($P{_command_ops_fc},'%')
AND madv.area_id LIKE nvl($P{_area_ops_fc},'%')
AND ireports_utilities.mgr_view_emp($P{p_user},madv.employee_number) = 'Y'
AND madv.current_job_role LIKE decode($P{RoleLevelOpsAll},'All Operational Roles','%',$P{RoleLevelOpsAll})
AND madv.current_job_org_id LIKE nvl($P{_station_ops_fc},'%')
AND madv.employee_number LIKE nvl($P{_employee},'%')
AND madv.status = '1')
UNION
(SELECT DISTINCT mmv.module_type, mmv.module_name, null "date_recorded", null X_AXIS, null "module_id"
FROM melio_modules_view mmv
WHERE mmv.module_type like decode($P{_module_type},' ALL Module Types','%',$P{_module_type})
AND mmv.module_name like decode($P{_module},' ALL Modules','%',$P{_module})
MINUS
select distinct madv.module_type, madv.module_name, null "date_recorded", null X_AXIS, null "module_id"
FROM melio_all_devplans_view madv
WHERE nvl(madv.standard_achieved_decoded,'%') like nvl($P{_standard_achieved},'%')
AND madv.review_daterecorded between TO_DATE($P{_date_from},'DD-MON-YY') AND TO_DATE($P{_date_to},'DD-MON-YY')
AND madv.current_job_watch LIKE nvl($P{_watch_crew},'%')
AND madv.module_type like decode($P{_module_type},' ALL Module Types','%',$P{_module_type})
AND madv.module_name like decode($P{_module},' ALL Modules','%',$P{_module})
AND madv.command_id LIKE nvl($P{_command_ops_fc},'%')
AND madv.area_id LIKE nvl($P{_area_ops_fc},'%')
AND ireports_utilities.mgr_view_emp($P{p_user},madv.employee_number) = 'Y'
AND madv.current_job_role LIKE decode($P{RoleLevelOpsAll},'All Operational Roles','%',$P{RoleLevelOpsAll})
AND madv.current_job_org_id LIKE nvl($P{_station_ops_fc},'%')
AND madv.employee_number LIKE nvl($P{_employee},'%')
AND madv.status = '1')
order by 1,2,4]]>
</queryString>
<field name="MODULE_TYPE" class="java.lang.String"/>
<field name="MODULE_NAME" class="java.lang.String"/>
<field name="REVIEW_DATERECORDED" class="java.sql.Timestamp"/>
<field name="X_AXIS" class="java.lang.String"/>
<field name="MODULE_ID" class="java.math.BigDecimal"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="257" splitType="Stretch">
<staticText>
<reportElement x="0" y="34" width="600" height="20" uuid="0a28b177-6b4c-46a5-ac0c-852a3a76899f"/>
<textElement>
<font fontName="Arial" size="13" isBold="true" isUnderline="false"/>
</textElement>
<text><![CDATA[Completed Development Plans - Individual Level Report for Operational Staff]]></text>
</staticText>
<staticText>
<reportElement x="0" y="136" width="132" height="18" uuid="2ffa64c7-b505-4cf3-8b14-b56f2490d0c0"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[ROLE LEVEL]]></text>
</staticText>
<image>
<reportElement x="0" y="0" width="132" height="34" uuid="5b6f478e-d500-44db-a1c1-1d504910c8b9"/>
<imageExpression><![CDATA["repo:/images/Melio_Logo"]]></imageExpression>
</image>
<staticText>
<reportElement x="0" y="216" width="132" height="18" uuid="574d8826-039b-415e-a518-37807891da39"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[WATCH]]></text>
</staticText>
<staticText>
<reportElement x="0" y="196" width="132" height="18" uuid="b0f9ad44-45c9-4e9d-8027-2f588c04b0ec"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[STATION]]></text>
</staticText>
<staticText>
<reportElement x="0" y="176" width="132" height="18" uuid="50e393a3-bcc1-4b21-8f66-2ae624112639"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[COMMAND]]></text>
</staticText>
<staticText>
<reportElement x="0" y="156" width="132" height="18" uuid="b0f3c01d-97b3-4b42-a12a-527d3459a9fd"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[AREA]]></text>
</staticText>
<staticText>
<reportElement x="0" y="56" width="132" height="18" uuid="27e1443c-f82e-4c36-959b-6f426dffead9"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[TIMESCALE]]></text>
</staticText>
<staticText>
<reportElement x="0" y="116" width="132" height="18" uuid="9c91115e-3f79-4891-8ecc-33583fc8922b"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[STANDARD ACHIEVED]]></text>
</staticText>
<staticText>
<reportElement x="0" y="96" width="132" height="18" uuid="71f233d8-8d37-4ace-8517-7000ebc39925"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[MODULE]]></text>
</staticText>
<staticText>
<reportElement x="0" y="76" width="132" height="18" uuid="be5fdb35-b819-4a23-bbde-6b41a3ea675a"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[MODULE TYPE]]></text>
</staticText>
<staticText>
<reportElement x="0" y="236" width="132" height="18" uuid="89b3de63-7905-4f0c-ac53-94176006ef33"/>
<textElement textAlignment="Left" verticalAlignment="Middle">
<font fontName="Arial" size="11" isBold="true"/>
</textElement>
<text><![CDATA[EMPLOYEE]]></text>
</staticText>
<subreport>
<reportElement x="152" y="56" width="448" height="198" uuid="651ddd33-4e92-4b06-915e-a25d603df47e"/>
<subreportParameter name="_date_to">
<subreportParameterExpression><![CDATA[$P{_date_to}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_module">
<subreportParameterExpression><![CDATA[$P{_module}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="RoleLevelOpsAll">
<subreportParameterExpression><![CDATA[$P{RoleLevelOpsAll}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_station_ops_fc">
<subreportParameterExpression><![CDATA[$P{_station_ops_fc}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_module_type">
<subreportParameterExpression><![CDATA[$P{_module_type}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_command_ops_fc">
<subreportParameterExpression><![CDATA[$P{_command_ops_fc}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_employee">
<subreportParameterExpression><![CDATA[$P{_employee}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_watch_crew">
<subreportParameterExpression><![CDATA[$P{_watch_crew}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_area_ops_fc">
<subreportParameterExpression><![CDATA[$P{_area_ops_fc}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_date_from">
<subreportParameterExpression><![CDATA[$P{_date_from}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="_standard_achieved">
<subreportParameterExpression><![CDATA[$P{_standard_achieved}]]></subreportParameterExpression>
</subreportParameter>
<connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
<subreportExpression><![CDATA["repo:DevPlanIndSubRepNew.jrxml"]]></subreportExpression>
</subreport>
</band>
</title>
<pageFooter>
<band splitType="Stretch"/>
</pageFooter>
<summary>
<band height="75">
<crosstab ignoreWidth="false">
<reportElement stretchType="RelativeToBandHeight" x="0" y="0" width="1160" height="75" isRemoveLineWhenBlank="true" uuid="d304d72b-380c-416b-a231-4564baf92625"/>
<rowGroup name="MODULE_TYPE" width="152">
<bucket class="java.lang.String">
<bucketExpression><![CDATA[$F{MODULE_TYPE}]]></bucketExpression>
</bucket>
<crosstabRowHeader>
<cellContents backcolor="#D9D9E9" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isBlankWhenNull="true">
<reportElement style="Crosstab Data Text" x="0" y="0" width="152" height="25" uuid="3cd219aa-5dec-4b2f-a464-34b718aebfc8"/>
<textElement textAlignment="Left" verticalAlignment="Middle" rotation="None">
<font fontName="Arial" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{MODULE_TYPE}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabRowHeader>
<crosstabTotalRowHeader>
<cellContents/>
</crosstabTotalRowHeader>
</rowGroup>
<rowGroup name="MODULE_NAME" width="144">
<bucket class="java.lang.String">
<bucketExpression><![CDATA[$F{MODULE_NAME}]]></bucketExpression>
</bucket>
<crosstabRowHeader>
<cellContents backcolor="#D9D9E9" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isBlankWhenNull="true">
<reportElement style="Crosstab Data Text" x="0" y="0" width="144" height="25" uuid="3152c986-8ef4-401b-a4d0-270441ff25d0"/>
<textElement textAlignment="Left" verticalAlignment="Middle" rotation="None">
<font fontName="Arial" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{MODULE_NAME}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabRowHeader>
<crosstabTotalRowHeader>
<cellContents/>
</crosstabTotalRowHeader>
</rowGroup>
<columnGroup name="X_AXIS" height="30">
<bucket class="java.lang.String">
<bucketExpression><![CDATA[$F{X_AXIS}]]></bucketExpression>
</bucket>
<crosstabColumnHeader>
<cellContents backcolor="#D9D9E9" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isBlankWhenNull="true">
<reportElement x="0" y="0" width="115" height="30" uuid="a12e7e82-e573-491b-959c-7893ac4e3b82"/>
<textElement textAlignment="Center" verticalAlignment="Middle" rotation="None">
<font fontName="Arial" size="10" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA[$V{X_AXIS}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabColumnHeader>
<crosstabTotalColumnHeader>
<cellContents/>
</crosstabTotalColumnHeader>
</columnGroup>
<measure name="MODULE_IDMeasure" class="java.lang.Integer" calculation="Count">
<measureExpression><![CDATA[$F{MODULE_ID}]]></measureExpression>
</measure>
<measure name="measureDateFrom" class="java.util.Date">
<measureExpression><![CDATA[$P{_date_from}]]></measureExpression>
</measure>
<measure name="measureDateTo" class="java.util.Date">
<measureExpression><![CDATA[$P{_date_to}]]></measureExpression>
</measure>
<measure name="COMPLETEDATEMeasure" class="java.sql.Timestamp" calculation="Highest">
<measureExpression><![CDATA[$F{REVIEW_DATERECORDED}]]></measureExpression>
</measure>
<crosstabCell width="115" height="25">
<cellContents>
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField isBlankWhenNull="true" hyperlinkType="ReportExecution">
<reportElement style="Crosstab Data Text" x="0" y="0" width="115" height="13" uuid="63da5aef-aec3-4d7f-bc9d-837e62a03a30">
<printWhenExpression><![CDATA[$V{MODULE_IDMeasure}.compareTo(0)]]></printWhenExpression>
</reportElement>
<textElement verticalAlignment="Middle">
<font fontName="Arial" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
<hyperlinkParameter name="_report">
<hyperlinkParameterExpression><![CDATA["/reports/MELIOTest/OpDevPlanDrillDown1"]]></hyperlinkParameterExpression>
</hyperlinkParameter>
<hyperlinkParameter name="_x_axis">
<hyperlinkParameterExpression><![CDATA[$V{X_AXIS}]]></hyperlinkParameterExpression>
</hyperlinkParameter>
<hyperlinkParameter name="_module_type">
<hyperlinkParameterExpression><![CDATA[$V{MODULE_TYPE}]]></hyperlinkParameterExpression>
</hyperlinkParameter>
<hyperlinkParameter name="_date_from">
<hyperlinkParameterExpression><![CDATA[$V{measureDateFrom}]]></hyperlinkParameterExpression>
</hyperlinkParameter>
<hyperlinkParameter name="_date_to">
<hyperlinkParameterExpression><![CDATA[$V{measureDateTo}]]></hyperlinkParameterExpression>
</hyperlinkParameter>
<hyperlinkParameter name="_module">
<hyperlinkParameterExpression><![CDATA[$V{MODULE_NAME}]]></hyperlinkParameterExpression>
</hyperlinkParameter>
</textField>
<textField isBlankWhenNull="true" hyperlinkTarget="Blank">
<reportElement style="Crosstab Data Text" x="0" y="0" width="115" height="13" forecolor="#FF0000" uuid="e18398f1-ae6d-4bbf-bd11-f80ef806c0d2">
<printWhenExpression><![CDATA[$V{MODULE_IDMeasure}.equals(0)]]></printWhenExpression>
</reportElement>
<textElement verticalAlignment="Middle">
<font fontName="Arial" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
<textField isStretchWithOverflow="true" pattern="dd-MMM-yy" isBlankWhenNull="true">
<reportElement style="Crosstab Data Text" x="0" y="13" width="115" height="12" uuid="f903ad0d-e0a3-47f5-8822-3a00ef15f524"/>
<textElement>
<font fontName="Arial" size="10"/>
</textElement>
<textFieldExpression><![CDATA[$V{COMPLETEDATEMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell height="25" rowTotalGroup="MODULE_NAME">
<cellContents backcolor="#AF6400" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25" forecolor="#FFFFFF" uuid="8c574a1b-916a-4c97-b81a-5e79a4368a1b"/>
<textFieldExpression><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell width="50" columnTotalGroup="X_AXIS">
<cellContents backcolor="#FFE4BF" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25" uuid="6702fd0e-a6dd-41cd-91ee-be3227e0bea8"/>
<textFieldExpression><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell rowTotalGroup="MODULE_NAME" columnTotalGroup="X_AXIS">
<cellContents backcolor="#AF6400" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25" forecolor="#FFFFFF" uuid="9cdd5659-b4c5-4317-91e0-95f408fdf8cf"/>
<textFieldExpression><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell height="25" rowTotalGroup="MODULE_TYPE">
<cellContents backcolor="#FFE4BF" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25" uuid="8bdc3f71-eaba-4717-941d-80b2605f78c9"/>
<textFieldExpression><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
<crosstabCell rowTotalGroup="MODULE_TYPE" columnTotalGroup="X_AXIS">
<cellContents backcolor="#FFE4BF" mode="Opaque">
<box>
<pen lineWidth="0.5" lineStyle="Solid" lineColor="#000000"/>
</box>
<textField>
<reportElement style="Crosstab Data Text" x="0" y="0" width="50" height="25" uuid="2bebf649-fa11-43aa-9b82-bd8324a86d3a"/>
<textFieldExpression><![CDATA[$V{MODULE_IDMeasure}]]></textFieldExpression>
</textField>
</cellContents>
</crosstabCell>
</crosstab>
</band>
</summary>
</jasperReport>

#9
  • Resolution:Reopened» Open
  • Status:New» Feedback Requested

Amanda,

Seems like you uploaded almost identical JRXMLs for master and subreport. Maybe you could attach the files, instead of copy/paste them in the comment.

Since the error occurs at fill time and we do not have your database, we cannot actually reproduce the problem on our side.
Maybe you can provide some modified version of your report that would run with empty data source and still show the error.

Thanks,
Teodor

#10
  • Resolution:Open» Fixed
  • Status:Feedback Requested» Closed
#11
  • Resolution:Fixed» Reopened
  • Assigned:nobody»

I reproduce this bug when using a list element with conditional style. Check JRXML-file, please.
Tool: TIBCO Jaspersoft® Studio 6.13.0

JRXML file:
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.13.0.final using JasperReports Library version 6.13.0-46ada4d1be8f3c5985fd0b6146f3ed44caed6f05 -->
<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="conditional_style" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="67f2117f-0f6b-48b6-8e5f-25f9d66f0328">
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/>
<style name="Style1" isDefault="true">
<conditionalStyle>
<conditionExpression><![CDATA[true]]></conditionExpression>
<style/>
</conditionalStyle>
</style>
<subDataset name="Dataset1" uuid="c58649df-5337-4bd1-87e8-d7f4baed16d5">
<queryString>
<![CDATA[]]>
</queryString>
</subDataset>
<queryString>
<![CDATA[]]>
</queryString>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="84" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="555" height="84" uuid="518787f3-3b91-49fa-8ce3-435b3cf5a85f"/>
<textFieldExpression><![CDATA["Title"]]></textFieldExpression>
</textField>
</band>
</title>
<columnHeader>
<band height="71" splitType="Stretch">
<componentElement>
<reportElement x="0" y="0" width="555" height="71" uuid="8673849b-7e58-4242-80fd-979000f4f5c4"/>
<jr:list xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd">
<datasetRun subDataset="Dataset1" uuid="0312e203-3211-4b01-ad38-6b7c28eaa360">
<dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.JREmptyDataSource()]]></dataSourceExpression>
</datasetRun>
<jr:listContents height="71" width="555"/>
</jr:list>
</componentElement>
</band>
</columnHeader>
</jasperReport>

Error text:
net.sf.jasperreports.engine.JRException: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Boolean
at com.jaspersoft.studio.editor.preview.view.control.ReportController.fillReport(ReportController.java:551)
at com.jaspersoft.studio.editor.preview.view.control.ReportController.access$18(ReportController.java:526)
at com.jaspersoft.studio.editor.preview.view.control.ReportController$1.run(ReportController.java:444)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:63)
Caused by: java.lang.ClassCastException: java.lang.Integer cannot be cast to java.lang.Boolean
at net.sf.jasperreports.engine.fill.JRFillElementContainer.buildConsolidatedStyle(JRFillElementContainer.java:1267)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluateConditionalStyle(JRFillElementContainer.java:1228)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluateConditionalStyles(JRFillElementContainer.java:1216)
at net.sf.jasperreports.components.list.FillListContents.evaluateContents(FillListContents.java:84)
at net.sf.jasperreports.components.list.VerticalFillList.prepare(VerticalFillList.java:110)
at net.sf.jasperreports.engine.fill.JRFillComponentElement.prepare(JRFillComponentElement.java:152)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.prepareElements(JRFillElementContainer.java:542)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:453)
at net.sf.jasperreports.engine.fill.JRFillBand.fill(JRFillBand.java:428)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBandNoOverflow(JRVerticalFiller.java:450)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnHeader(JRVerticalFiller.java:498)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:262)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:110)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:621)
at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:135)
at java.lang.Thread.run(Thread.java:748)

I am not sure about tables and subreports. Hope they work well.

#12
  • Status:Closed» New
Feedback
randomness