slavkor Posted June 1, 2018 Share Posted June 1, 2018 Hi,I am getting this exception when i try to run a report containg a subreportnet.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: ((com.jaspersoft.webservice.data.query.IWSDataSource)$P{REPORT_DATA_SOURCE}).clone("employee(id =="+$F{id}+")", $P{SubFieldsMap}) at com.jaspersoft.studio.editor.preview.view.control.ReportController.fillReport(ReportController.java:596) at com.jaspersoft.studio.editor.preview.view.control.ReportController.access$20(ReportController.java:571) at com.jaspersoft.studio.editor.preview.view.control.ReportController$5.run(ReportController.java:449) at org.eclipse.core.internal.jobs.Worker.run(Worker.java:55)Caused by: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: ((com.jaspersoft.webservice.data.query.IWSDataSource)$P{REPORT_DATA_SOURCE}).clone("employee(id =="+$F{id}+")", $P{SubFieldsMap}) at net.sf.jasperreports.engine.fill.JREvaluator.handleEvaluationException(JREvaluator.java:287) at net.sf.jasperreports.compilers.GroovyEvaluator.handleEvaluationException(GroovyEvaluator.java:98) at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:319) at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:616) at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:584) at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:1164) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluateSubreport(JRFillSubreport.java:463) at net.sf.jasperreports.engine.fill.JRFillSubreport.evaluate(JRFillSubreport.java:354) at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383) at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:506) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2412) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:761) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:240) at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:99) at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:607) at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:123) at java.lang.Thread.run(Thread.java:748)Caused by: org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'net.sf.jasperreports.engine.fill.SortedDataSource@19b04952' with class 'net.sf.jasperreports.engine.fill.SortedDataSource' to class 'com.jaspersoft.webservice.data.query.IWSDataSource' at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnSAM(DefaultTypeTransformation.java:405) at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.continueCastOnNumber(DefaultTypeTransformation.java:319) at org.codehaus.groovy.runtime.typehandling.DefaultTypeTransformation.castToType(DefaultTypeTransformation.java:232) at org.codehaus.groovy.runtime.ScriptBytecodeAdapter.castToType(ScriptBytecodeAdapter.java:603) at employee_list_009_1527852523107_550766.evaluate(calculator_employee_list_009_1527852523107_550766:210) at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:305) ... 14 more the source of main report<?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.4.3.final using JasperReports Library version 6.4.3 --><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="employee_list_009" language="groovy" pageWidth="842" pageHeight="595" orientation="Landscape" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="bddf4b77-0b5d-42ee-9071-e44225accaa3"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="ISM.xml"/> <property name="com.jaspersoft.studio.report.description" value=""/> <property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver/"/> <property name="ireport.jasperserver.user" value="jasperadmin"/> <property name="ireport.jasperserver.reportUnit" value="/reports/ISM/employee_list_006"/> <property name="net.sf.jasperreports.data.adapter" value="ISM.xml"/> <property name="ireport.jasperserver.report.resource" value="/reports/ISM/employee_list_006_files/main_jrxml"/> <parameter name="url" class="java.lang.String"/> <parameter name="company" class="java.lang.String"/> <parameter name="token" class="java.lang.String"/> <parameter name="reportid" class="java.lang.String"/> <parameter name="SubFieldsMap" class="java.util.Map"> <defaultValueExpression><![CDATA[["company":"company.shortname","project":"project.name","site":"employee.occuancies.project.site.name"]]]></defaultValueExpression> </parameter> <queryString language="WebServiceQuery"> <![CDATA[{ "getparameters" : { }, "fields" : [ { "name" : "id", "expression" : "employee.id" }, { "name" : "name", "expression" : "employee.name" }, { "name" : "lastname", "expression" : "employee.lastname" } ], "options" : { "contentType" : "application/json", "rootPath" : "", "baseUrl" : "dev.api.ismvuzem.si/rpt/20e3a564-f6d5-4936-8499-9698db5a1479/employees/listhome" }, "headersMap" : { "reportid" : "$P{reportid}" }, "queryData" : "", "GETParameters" : { }}]]> </queryString> <field name="id" class="java.lang.String"/> <field name="name" class="java.lang.String"/> <field name="lastname" class="java.lang.String"/> <sortField name="lastname"/> <columnHeader> <band height="22"> <property name="com.jaspersoft.studio.unit.height" value="mm"/> </band> </columnHeader> <detail> <band height="101" splitType="Stretch"> <textField isBlankWhenNull="true"> <reportElement x="0" y="17" width="82" height="14" uuid="9788dc79-4fa7-4bde-b438-6f1fa1893879"> <property name="com.jaspersoft.studio.unit.height" value="mm"/> <property name="com.jaspersoft.studio.unit.leftIndent" value="mm"/> </reportElement> <box> <leftPen lineWidth="0.25"/> <bottomPen lineWidth="0.25"/> <rightPen lineWidth="0.25"/> </box> <textElement verticalAlignment="Middle"> <font fontName="DejaVu Sans"/> <paragraph leftIndent="2"/> </textElement> <textFieldExpression><![CDATA[$F{lastname}]]></textFieldExpression> </textField> <textField isBlankWhenNull="true"> <reportElement x="82" y="17" width="80" height="14" uuid="d4a1c69f-4925-4115-b2ae-55eeb842d64f"> <property name="com.jaspersoft.studio.unit.height" value="mm"/> <property name="com.jaspersoft.studio.unit.leftIndent" value="mm"/> </reportElement> <box> <leftPen lineWidth="0.25"/> <bottomPen lineWidth="0.25"/> <rightPen lineWidth="0.25"/> </box> <textElement verticalAlignment="Middle"> <font fontName="DejaVu Sans"/> <paragraph leftIndent="2"/> </textElement> <textFieldExpression><![CDATA[$F{name}]]></textFieldExpression> </textField> <staticText> <reportElement mode="Opaque" x="162" y="0" width="640" height="17" backcolor="#E8E6E6" uuid="d24e1122-31aa-4a6a-a7a8-6d7e251fe990"> <property name="com.jaspersoft.studio.unit.height" value="mm"/> <property name="com.jaspersoft.studio.unit.leftIndent" value="mm"/> </reportElement> <box> <topPen lineWidth="0.75"/> <leftPen lineWidth="0.75"/> <bottomPen lineWidth="0.75"/> <rightPen lineWidth="0.75"/> </box> <textElement verticalAlignment="Middle"> <font fontName="DejaVu Sans"/> <paragraph leftIndent="2"/> </textElement> <text><![CDATA[]]></text> </staticText> <staticText> <reportElement mode="Opaque" x="0" y="0" width="82" height="17" backcolor="#E8E6E6" uuid="ff3d52ee-1943-4561-983b-43b075d542cb"> <property name="com.jaspersoft.studio.unit.height" value="mm"/> <property name="com.jaspersoft.studio.unit.leftIndent" value="mm"/> </reportElement> <box> <topPen lineWidth="0.75"/> <leftPen lineWidth="0.75"/> <bottomPen lineWidth="0.75"/> <rightPen lineWidth="0.75"/> </box> <textElement verticalAlignment="Middle"> <font fontName="DejaVu Sans"/> <paragraph leftIndent="2"/> </textElement> <text><![CDATA[Priimek]]></text> </staticText> <staticText> <reportElement mode="Opaque" x="82" y="0" width="80" height="17" backcolor="#E8E6E6" uuid="2e9d4089-77b3-404d-bf56-282e83a6a17a"> <property name="com.jaspersoft.studio.unit.height" value="mm"/> <property name="com.jaspersoft.studio.unit.leftIndent" value="mm"/> </reportElement> <box> <topPen lineWidth="0.75"/> <leftPen lineWidth="0.75"/> <bottomPen lineWidth="0.75"/> <rightPen lineWidth="0.75"/> </box> <textElement verticalAlignment="Middle"> <font fontName="DejaVu Sans"/> <paragraph leftIndent="2"/> </textElement> <text><![CDATA[ime]]></text> </staticText> <subreport> <reportElement x="0" y="38" width="490" height="42" uuid="78d11903-1892-4db7-99d2-e07829149104"/> <parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression> <subreportParameter name="id"> <subreportParameterExpression><![CDATA[$F{id}]]></subreportParameterExpression> </subreportParameter> <dataSourceExpression><![CDATA[((com.jaspersoft.webservice.data.query.IWSDataSource)$P{REPORT_DATA_SOURCE}).clone("employee(id =="+$F{id}+")", $P{SubFieldsMap})]]></dataSourceExpression> <subreportExpression><![CDATA["empl/employee_list_009_sub_1.jasper"]]></subreportExpression> </subreport> </band> </detail></jasperReport>[/code]the source of the subreport<?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.4.3.final using JasperReports Library version 6.4.3 --><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="employee_list_009_sub_1" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="2547a737-aea4-4f3b-b4e8-84fb7325aa5e"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="One Empty Record"/> <parameter name="id" class="java.lang.String"/> <queryString language="WebServiceQuery"> <![CDATA[{ "getparameters" : { }, "fields" : [ { "name" : "company", "expression" : "company.shortname" }, { "name" : "project", "expression" : "project.name" } ], "options" : { "contentType" : "application/json", "rootPath" : "employee(id == $P{id}).occupancies", "baseUrl" : "dev.api.ismvuzem.si/rpt/20e3a564-f6d5-4936-8499-9698db5a1479/employees/listhome" }, "headersMap" : { }, "queryData" : "", "GETParameters" : { }}]]> </queryString> <field name="company" class="java.lang.String"/> <field name="project" class="java.lang.String"/> <background> <band splitType="Stretch"/> </background> <columnHeader> <band height="34"> <staticText> <reportElement x="0" y="0" width="185" height="30" uuid="2902af56-6049-4ebc-bf25-8d9f4d6f4679"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="ebd27f34-fa5b-4d79-aca2-d205d6a0b090"/> </reportElement> <text><![CDATA[company]]></text> </staticText> <staticText> <reportElement x="185" y="0" width="185" height="30" uuid="1ea0e641-8853-4873-bdaa-aec6ebb857ff"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="1db2e868-9605-4715-99bc-d07d2774368c"/> </reportElement> <text><![CDATA[project]]></text> </staticText> </band> </columnHeader> <detail> <band height="33" splitType="Stretch"> <textField> <reportElement x="0" y="0" width="185" height="30" uuid="37ec138b-de4b-4409-9848-6a0d04c0bf91"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="ebd27f34-fa5b-4d79-aca2-d205d6a0b090"/> </reportElement> <textFieldExpression><![CDATA[$F{company}]]></textFieldExpression> </textField> <textField> <reportElement x="185" y="0" width="185" height="30" uuid="ee11f71b-7c5b-43b6-b97d-6182fbc31147"> <property name="com.jaspersoft.studio.spreadsheet.connectionID" value="1db2e868-9605-4715-99bc-d07d2774368c"/> </reportElement> <textFieldExpression><![CDATA[$F{project}]]></textFieldExpression> </textField> </band> </detail></jasperReport>[/code]what am i doing wrong? Can somebody help me? Link to comment Share on other sites More sharing options...
Anibal D. Posted July 26, 2018 Share Posted July 26, 2018 Hi, I have the same problem., but using a table.Hi have made another report and everything is working, then I made a new report and get this errornet.sf.jasperreports.engine.JRException: net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression for source text: ((com.jaspersoft.webservice.data.query.IWSDataSource)$P{REPORT_DATA_SOURCE}).clone("", $P{SubFieldsMap})I don't know why this error is happened.Could you solve this problem? Link to comment Share on other sites More sharing options...
kothany Posted November 20, 2018 Share Posted November 20, 2018 Did you find what causing this. Link to comment Share on other sites More sharing options...
sebj Posted December 14, 2022 Share Posted December 14, 2022 Hy, i post similar question "one sevice call + sub report" on documentation page : https://community.jaspersoft.com/wiki/multiple-datasets-exactly-same-json-only-one-webservice-call-extension-and-another-exampleHave you solved the problem ?And so, how ? Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now