Jump to content
We've recently updated our Privacy Statement, available here ×

dheeraj.madhu

Members
  • Posts

    12
  • Joined

  • Last visited

 Content Type 

Profiles

Forum

Events

Featured Visualizations

Knowledge Base

Documentation (PDF Downloads)

Blog

Documentation (Test Area)

Documentation

Dr. Jaspersoft Webinar Series

Downloads

Everything posted by dheeraj.madhu

  1. band = new JRDesignBand(); band.setHeight(250); band.setSplitType(SplitTypeEnum.STRETCH); JRDesignSubreport jSubreport = new JRDesignSubreport(jasperDesign); jSubreport.setUsingCache(false); jSubreport.setRemoveLineWhenBlank(true); jSubreport.setPrintRepeatedValues(false); JRDesignExpression expression = new JRDesignExpression(); expression.setText("new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{time})"); jSubreport.setDataSourceExpression(expression); expression = new JRDesignExpression(); expression.setText(""/path/to/sub.jasper""); jSubreport.setExpression(expression); band.addElement(jSubreport);
  2. Issue is solved. When the data set is empty high chart still try to render the chart and it will fail. To prevent it added print when condition for chart element in report jrxml. <printWhenExpression><![CDATA[$V{REPORT_COUNT} > 0]]></printWhenExpression>[/code]
  3. For some reason I can not properly align the xml in here. And I have ommitted few attributes etc fro jrxml. Please assume they are there
  4. While executing report with high chart stacked line. We are getting following exception 2016-08-04 01:32:43,508 ERROR AsyncThumbnailCreatorImpl,pool-29-thread-2:59 - net.sf.jasperreports.engine.JRRuntimeException: org.mozilla.javascript.EcmaError: TypeError: Cannot read property "length" from undefined (com/jaspersoft/jasperreports/highcharts/charts/render/scripts/jquery-1.10.2.min.js#4)net.sf.jasperreports.engine.JRRuntimeException: org.mozilla.javascript.EcmaError: TypeError: Cannot read property "length" from undefined (com/jaspersoft/jasperreports/highcharts/charts/render/scripts/jquery-1.10.2.min.js#4) at com.jaspersoft.jasperreports.highcharts.charts.ChartGraphics2DHandler.exportElement(ChartGraphics2DHandler.java:52) at net.sf.jasperreports.engine.export.draw.FrameDrawer.draw(FrameDrawer.java:246) at net.sf.jasperreports.engine.export.draw.FrameDrawer.draw(FrameDrawer.java:198) at net.sf.jasperreports.engine.export.JRGraphics2DExporter.exportPage(JRGraphics2DExporter.java:342) at net.sf.jasperreports.engine.export.JRGraphics2DExporter.exportReportToGraphics2D(JRGraphics2DExporter.java:311) at net.sf.jasperreports.engine.export.JRGraphics2DExporter.exportReport(JRGraphics2DExporter.java:236) at net.sf.jasperreports.engine.print.JRPrinterAWT.printPageToImage(JRPrinterAWT.java:290) at net.sf.jasperreports.engine.JasperPrintManager.printToImage(JasperPrintManager.java:290) at com.jaspersoft.jasperserver.api.metadata.common.service.impl.ThumbnailGenerationServiceImpl.obtainImage(ThumbnailGenerationServiceImpl.java:71) at com.jaspersoft.jasperserver.api.metadata.common.service.impl.ThumbnailGenerationServiceImpl.createThumbnail(ThumbnailGenerationServiceImpl.java:50) at com.jaspersoft.jasperserver.api.metadata.common.service.impl.ThumbnailGenerationServiceImpl.createThumbnail(ThumbnailGenerationServiceImpl.java:24) at com.jaspersoft.jasperserver.api.metadata.common.service.impl.AsyncThumbnailCreatorImpl$ThumbnailRunnable.run(AsyncThumbnailCreatorImpl.java:55) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at java.lang.Thread.run(Thread.java:745)Caused by: org.mozilla.javascript.EcmaError: TypeError: Cannot read property "length" from undefined (com/jaspersoft/jasperreports/highcharts/charts/render/scripts/jquery-1.10.2.min.js#4) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3785) at org.mozilla.javascript.ScriptRuntime.constructError(ScriptRuntime.java:3763) at org.mozilla.javascript.ScriptRuntime.typeError(ScriptRuntime.java:3791) at org.mozilla.javascript.ScriptRuntime.typeError2(ScriptRuntime.java:3810) at org.mozilla.javascript.ScriptRuntime.undefReadError(ScriptRuntime.java:3823) at org.mozilla.javascript.ScriptRuntime.getObjectProp(ScriptRuntime.java:1508) at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1398) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_svg_renderer_highcharts_js_2._c_anonymous_7(com.jaspersoft.jasperreports.highcharts.render.svg-renderer-highcharts.js:46) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_svg_renderer_highcharts_js_2.call(com.jaspersoft.jasperreports.highcharts.render.svg-renderer-highcharts.js) at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2521) at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:300) at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_99(com.jaspersoft.jasperreports.highcharts.render.r.js:1889) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_55(com.jaspersoft.jasperreports.highcharts.render.r.js:1105) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_67(com.jaspersoft.jasperreports.highcharts.render.r.js:1382) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_49(com.jaspersoft.jasperreports.highcharts.render.r.js:1013) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_89(com.jaspersoft.jasperreports.highcharts.render.r.js:1655) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:57) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_104(com.jaspersoft.jasperreports.highcharts.render.r.js:1996) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_localRequire_88(com.jaspersoft.jasperreports.highcharts.render.r.js:1644) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_102(com.jaspersoft.jasperreports.highcharts.render.r.js:1976) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_svg_renderer_highcharts_js_2._c_anonymous_6(com.jaspersoft.jasperreports.highcharts.render.svg-renderer-highcharts.js:45) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_svg_renderer_highcharts_js_2.call(com.jaspersoft.jasperreports.highcharts.render.svg-renderer-highcharts.js) at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2521) at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:300) at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129) at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1701) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_svg_renderer_highcharts_js_2._c_anonymous_5(com.jaspersoft.jasperreports.highcharts.render.svg-renderer-highcharts.js:41) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_svg_renderer_highcharts_js_2.call(com.jaspersoft.jasperreports.highcharts.render.svg-renderer-highcharts.js) at org.mozilla.javascript.ScriptRuntime.applyOrCall(ScriptRuntime.java:2521) at org.mozilla.javascript.BaseFunction.execIdCall(BaseFunction.java:300) at org.mozilla.javascript.IdFunctionObject.call(IdFunctionObject.java:129) at org.mozilla.javascript.optimizer.OptRuntime.call2(OptRuntime.java:76) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_99(com.jaspersoft.jasperreports.highcharts.render.r.js:1889) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_55(com.jaspersoft.jasperreports.highcharts.render.r.js:1105) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_67(com.jaspersoft.jasperreports.highcharts.render.r.js:1382) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callProp0(OptRuntime.java:119) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_49(com.jaspersoft.jasperreports.highcharts.render.r.js:1013) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_89(com.jaspersoft.jasperreports.highcharts.render.r.js:1655) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.call0(OptRuntime.java:57) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_104(com.jaspersoft.jasperreports.highcharts.render.r.js:1996) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.call1(OptRuntime.java:66) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_localRequire_88(com.jaspersoft.jasperreports.highcharts.render.r.js:1644) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callN(OptRuntime.java:86) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1._c_anonymous_102(com.jaspersoft.jasperreports.highcharts.render.r.js:1976) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_r_js_1.call(com.jaspersoft.jasperreports.highcharts.render.r.js) at org.mozilla.javascript.optimizer.OptRuntime.callName(OptRuntime.java:97) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_svg_renderer_highcharts_js_2._c_renderSVGFromJson_4(com.jaspersoft.jasperreports.highcharts.render.svg-renderer-highcharts.js:31) at org.mozilla.javascript.gen.com_jaspersoft_jasperreports_highcharts_render_svg_renderer_highcharts_js_2.call(com.jaspersoft.jasperreports.highcharts.render.svg-renderer-highcharts.js) at org.mozilla.javascript.Interpreter.interpretLoop(Interpreter.java:1701) at org.mozilla.javascript.Interpreter.interpret(Interpreter.java:854) at org.mozilla.javascript.InterpretedFunction.call(InterpretedFunction.java:164) at org.mozilla.javascript.ContextFactory.doTopCall(ContextFactory.java:426) at org.mozilla.javascript.ScriptRuntime.doTopCall(ScriptRuntime.java:3178) at org.mozilla.javascript.InterpretedFunction.exec(InterpretedFunction.java:175) at org.mozilla.javascript.Context.evaluateString(Context.java:1111) at com.jaspersoft.jasperreports.highcharts.charts.render.RhinoChartSvgProducer.getChartSvg(RhinoChartSvgProducer.java:104) at com.jaspersoft.jasperreports.highcharts.charts.render.DefaultChartSvgProducer.getChartSvg(DefaultChartSvgProducer.java:39) at com.jaspersoft.jasperreports.highcharts.charts.render.ChartSvgImageProducer.createRenderable(ChartSvgImageProducer.java:81) at com.jaspersoft.jasperreports.highcharts.charts.render.ChartSvgImageProducer.getChartImage(ChartSvgImageProducer.java:45) at com.jaspersoft.jasperreports.highcharts.charts.ChartGraphics2DHandler.exportElement(ChartGraphics2DHandler.java:47) ... 16 more[/code]Our Jrxml looks like below <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.2.0.final using JasperReports Library version 6.2.0 --><!-- 2016-08-04T12:04:26 --><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="AbandonedWorkflowPercentage" pageWidth="842" pageHeight="595" orientation="Landscape" whenNoDataType="AllSectionsNoDetail" columnWidth="802" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="fc97a963-c0b6-4c19-a348-7e2773e092a3"> <property name="com.jaspersoft.studio.unit." value="pixel"/> <property name="com.jaspersoft.studio.unit.pageHeight" value="pixel"/> <property name="com.jaspersoft.studio.unit.pageWidth" value="pixel"/> <property name="com.jaspersoft.studio.unit.topMargin" value="pixel"/> <property name="com.jaspersoft.studio.unit.bottomMargin" value="pixel"/> <property name="com.jaspersoft.studio.unit.leftMargin" value="pixel"/> <property name="com.jaspersoft.studio.unit.rightMargin" value="pixel"/> <property name="com.jaspersoft.studio.unit.columnWidth" value="pixel"/> <property name="com.jaspersoft.studio.unit.columnSpacing" value="pixel"/> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="DM"/> <queryString language="SQL"> <![CDATA[sELECT ...]]> </queryString> <field name="INTERVALS" class="java.util.Date"/> <field name="PERCENTAGE_TO_GOAL" class="java.math.BigDecimal"/> <field name="TOTAL" class="java.math.BigDecimal"/> <field name="SERIES" class="java.lang.String"/> <summary> <band height="550" splitType="Stretch"> <property name="local_mesure_unitheight" value="pixel"/> <property name="com.jaspersoft.studio.unit.height" value="px"/> <componentElement> <reportElement x="0" y="50" width="700" height="500" uuid="edf50a68-78c7-45b6-8246-57d927666a3d"> <property name="local_mesure_unitheight" value="pixel"/> <property name="com.jaspersoft.studio.unit.height" value="px"/> <property name="local_mesure_unitwidth" value="pixel"/> <property name="com.jaspersoft.studio.unit.width" value="px"/> <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> <hc:chart xmlns:hc="http://jaspersoft.com/highcharts" xsi:schemaLocation="http://jaspersoft.com/highcharts http://jaspersoft.com/schema/highcharts.xsd" type="StackedLine"> <hc:chartSetting name="default"> <hc:chartProperty name="chart.zoomType"> <hc:propertyExpression><![CDATA["xy"]]></hc:propertyExpression> </hc:chartProperty> <hc:chartProperty name="credits.enabled"> <hc:propertyExpression><![CDATA[false]]></hc:propertyExpression> </hc:chartProperty> <hc:chartProperty name="credits.href"> <hc:propertyExpression><![CDATA[""]]></hc:propertyExpression> </hc:chartProperty> <hc:chartProperty name="credits.text"> <hc:propertyExpression><![CDATA[""]]></hc:propertyExpression> </hc:chartProperty> <hc:chartProperty name="title.text"> <hc:propertyExpression><![CDATA[""]]></hc:propertyExpression> </hc:chartProperty> <hc:chartProperty name="xAxis.labels.rotation"> <hc:propertyExpression><![CDATA[new Integer(-45)]]></hc:propertyExpression> </hc:chartProperty> <hc:chartProperty name="yAxis.title.text"> <hc:propertyExpression><![CDATA["Percent To Goal"]]></hc:propertyExpression> </hc:chartProperty> </hc:chartSetting> <multiAxisData> <multiAxisDataset/> <dataAxis axis="Rows"> <axisLevel name="Interval"> <labelExpression><![CDATA["Level Label expression"]]></labelExpression> <axisLevelBucket class="java.lang.String"> <bucketExpression><![CDATA[$F{INTERVALS}]]></bucketExpression> </axisLevelBucket> </axisLevel> </dataAxis> <dataAxis axis="Columns"> <axisLevel name="series"> <labelExpression><![CDATA[]]></labelExpression> <axisLevelBucket order="None" class="java.lang.String"> <bucketExpression><![CDATA[$F{SERIES}]]></bucketExpression> </axisLevelBucket> </axisLevel> </dataAxis> <multiAxisMeasure name="PercentToGoal" class="java.math.BigDecimal" calculation="Nothing"> <labelExpression><![CDATA[""]]></labelExpression> <valueExpression><![CDATA[$F{PERCENTAGE_TO_GOAL}]]></valueExpression> </multiAxisMeasure> </multiAxisData> <hc:series name="PercentToGoal"/> </hc:chart> </componentElement> <image> <reportElement x="552" y="0" width="146" height="26" uuid="b240b6f0-a715-4d36-8783-935d7ecc0241"> <property name="local_mesure_unitwidth" value="pixel"/> <property name="com.jaspersoft.studio.unit.width" value="px"/> <property name="local_mesure_unitheight" value="pixel"/> <property name="com.jaspersoft.studio.unit.height" value="px"/> <property name="local_mesure_unitx" value="pixel"/> <property name="com.jaspersoft.studio.unit.x" value="px"/> </reportElement> <imageExpression><![CDATA["logo.png"]]></imageExpression> </image> <staticText> <reportElement x="80" y="132" width="570" height="118" uuid="572c742c-d9d7-4893-832c-e106640f41fc"> <printWhenExpression><![CDATA[$V{REPORT_COUNT}==0]]></printWhenExpression> </reportElement> <textElement textAlignment="Center"> <font fontName="Arial" size="14"/> </textElement> <text><![CDATA[The report is empty.]]></text> </staticText> <staticText> <reportElement x="85" y="170" width="570" height="118" uuid="572c742c-d9d7-4893-832c-e106640f41fc"> <printWhenExpression><![CDATA[$P{FromDate}.getStart().getTime()>TODAY().getTime()]]></printWhenExpression> </reportElement> <textElement textAlignment="Center"> <font fontName="Arial" size="14"/> </textElement> <text><![CDATA[From Date should be earlier than Today.]]></text> </staticText> <staticText> <reportElement x="85" y="210" width="570" height="118" uuid="572c742c-d9d7-4893-832c-e106640f41fc"> <printWhenExpression><![CDATA[$P{FromDate}.getStart().getTime()>$P{ToDate}.getStart().getTime()]]></printWhenExpression> </reportElement> <textElement textAlignment="Center"> <font fontName="Arial" size="14"/> </textElement> <text><![CDATA[From Date should be earlier than To Date.]]></text> </staticText> </band> </summary></jasperReport>[/code]Is there somethig wrong with the jrxml? The data returned from the sql statement is empty. So it prints report is empty after that there are exceptions are printed. Jasper server version is 6.1
  5. Ok. Issue is solved. Here is the code block band = new JRDesignBand();band.setHeight(250);band.setSplitType(SplitTypeEnum.STRETCH);JRDesignSubreport jSubreport = new JRDesignSubreport(jasperDesign);jSubreport.setUsingCache(false);jSubreport.setRemoveLineWhenBlank(true);jSubreport.setPrintRepeatedValues(false);JRDesignExpression expression = new JRDesignExpression();expression.setText("new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{time})");jSubreport.setDataSourceExpression(expression);expression = new JRDesignExpression();expression.setText(""/path/to/sub.jasper"");jSubreport.setExpression(expression);band.addElement(jSubreport);[/code]
  6. I am able to create a Master report using Jasper API. However stuck in designing a sub report using Jasper API and add it into Master report design. Master Report JRXML <band height="250" splitType="Stretch"> <subreport> <reportElement isPrintRepeatedValues="false" x="0" y="0" width="550" height="233" isRemoveLineWhenBlank="true" backcolor="#000000"></reportElement> <dataSourceExpression><![CDATA[new net.sf.jasperreports.engine.data.JRBeanCollectionDataSource($F{time})]]></dataSourceExpression> <subreportExpression><![CDATA["subreport.jasper"]]></subreportExpression> </subreport> </band> Sub Report JRXML <field name="count" class="java.lang.String"/> <field name="timeStamp" class="java.lang.String"/> <group name="ProductGroup"> <groupExpression><![CDATA[$F{count}]]></groupExpression> <groupHeader> <band height="250"> <timeSeriesChart> <chart evaluationTime="Report"> <reportElement x="0" y="25" width="550" height="175"/> <chartTitle/> <chartSubtitle/> <chartLegend/> </chart> <timeSeriesDataset timePeriod="Minute"> <dataset incrementType="None"/> <timeSeries> <seriesExpression><![CDATA["Count"]]></seriesExpression> <timePeriodExpression><![CDATA[new Date(Long.valueOf($F{timeStamp})*1000)]]></timePeriodExpression> <valueExpression><![CDATA[integer.valueOf($F{count})]]></valueExpression> </timeSeries> </timeSeriesDataset> <timeSeriesPlot isShowLines="true" isShowShapes="false"> <plot/> <timeAxisFormat> <axisFormat> <labelFont/> <tickLabelFont/> </axisFormat> </timeAxisFormat> <valueAxisFormat> <axisFormat> <labelFont/> <tickLabelFont/> </axisFormat> </valueAxisFormat> </timeSeriesPlot> </timeSeriesChart> </band> </groupHeader> </group> These Stand alone XML's getting compiled and will generate report. However I want to create these using Jasper Report API. I have Just started. But stuck without any example available. JRDesignSubreport jSubreport = new JRDesignSubreport(jasperDesign); jSubreport.setUsingCache(false); jSubreport.setRemoveLineWhenBlank(true); JRDesignExpression subReportDataSourceExpr = new JRDesignExpression();subReportDataSourceExpr.addResourceChunk("");//How to set List Data Source?JRDesignSubreportParameter subReportDataSource = new JRDesignSubreportParameter();subReportDataSource.setExpression(subReportDataSourceExpr);jSubreport.setDataSourceExpression(subReportDataSourceExpr); //How to Add <subreportExpression><![CDATA["subreport.jasper"]]></subreportExpression>[/code]
  7. Hi. I am trying to generate the time series graph using List data source. My JRXML for graph is <group name="timeSeries"> <groupExpression><![CDATA[null]]></groupExpression> <groupHeader> <band height="250"> <!-- Time series chart --> <timeSeriesChart> <chart evaluationTime="Report"> <reportElement positionType="Float" x="0" y="25" width="550" height="175"/> <chartTitle/> <chartSubtitle/> <chartLegend/> </chart> <timeSeriesDataset timePeriod="Minute"> <dataset incrementType="None"/> <timeSeries> <seriesExpression><![CDATA["Count"]]></seriesExpression> <timePeriodExpression><![CDATA[new Date(Long.valueOf($F{timeStamp})*1000)]]></timePeriodExpression> <valueExpression><![CDATA[integer.valueOf($F{count})]]></valueExpression> </timeSeries> </timeSeriesDataset> <timeSeriesPlot isShowLines="true" isShowShapes="false"> <plot/> <timeAxisFormat> <axisFormat> <labelFont/> <tickLabelFont/> </axisFormat> </timeAxisFormat> <valueAxisFormat> <axisFormat> <labelFont/> <tickLabelFont/> </axisFormat> </valueAxisFormat> </timeSeriesPlot> </timeSeriesChart> <!-- Time series chart --> </band> <!-- <band/> --> </groupHeader> </group>[/code] And My List is public class EventBean { private String name; private List<TimeSeriesBean> timeStamps;}public class TimeSeriesBean { private String count; private String timeStamp;}[/code]Data passes to Jasper is List<EventBean>. Each EventBean is having time stamp and count at that time stamp. If i have only one Element in List<EventBean> I get one time line graph. If 2 or more elements it then i can't print the graph. I want to append all data to same tiem series chart. How to achieve this? PS:Sorry Can't format this XML. While editing the post it shows it is already formated.
  8. I am trying to convert a String value to long in jasper report and convert it to Date object. But i always end up getting a class cast exception from String to Long. I am trying following code <variable name="date" class="java.util.Date"> <variableExpression><![CDATA[new Date(Long.getLong($F{field}))]]></variableExpression> </variable>[/code] Long.getLong(String s) gives desired output in Java. But when we use same java expression it gives exception in jasper. Does jasper treats primitive java types differently?
  9. Hi, Is it posible to map the values while generating the reports? Suppose if we have following xml <response id="1074200577"> <results id1="0" id2="0"> <field count="7556">one</field> <field count="7524">two</field> <field count="7402">three</field> <field count="7304">four</field> </results> </response> [/code]Generating the Report will give this as one7556two7523three7402four7304However i dont want the names as in the input xml rather i want them to be mapped to different name as Name 17556Name 27523Name 3 7402Name 4 7304I tried to do this by inserting the mapped names to Paramerter map. But i was unable to get the new name and set it I tried to do following code <textFieldExpression><![CDATA[$P{[$F{field}]}]]></textFieldExpression>[/code]But this doesn't work. How to get the map value depending on a key and replace the value in a report?
  10. Passing the xml path while creating the data source fixed the issue. Used following constructor to create a new xml data source JRXmlDataSource source = new JRXmlDataSource(new File(file,"/response/results/field");[/code] Then removed query String from jrxml. Modified field section looks like below <field name="field" class="java.lang.String"> <fieldDescription><![CDATA[child::text()]]></fieldDescription></field><field name="count" class="java.lang.String"> <fieldDescription><![CDATA[@count]]></fieldDescription></field>[/code]
  11. I am trying to generate a report from XML file using xml data source. However generated report has only one row. Whereas input file has 4 values. My jrxml file is <?xml version="1.0" encoding="UTF-8" ?><!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd"><jasperReport name="simpleReport"> <queryString language="xPath"><![CDATA[/response/results]]></queryString> <field name="field" class="java.lang.String"> <fieldDescription><![CDATA[//field]]></fieldDescription> </field> <field name="count" class="java.lang.String"> <fieldDescription><![CDATA[//field[@count]/@count]]></fieldDescription> </field> <title> <band height="50"> <staticText> <reportElement x="0" y="0" width="180" height="15"/> <textElement/> <text><![CDATA[Report]]></text> </staticText> </band> </title> <pageHeader> <band/> </pageHeader> <columnHeader> <band height="20"> <staticText> <reportElement x="180" y="0" width="180" height="20"/> <textElement> <font isUnderline="true"/> </textElement> <text><![CDATA[Event Name]]></text> </staticText> <staticText> <reportElement x="360" y="0" width="180" height="20"/> <textElement> <font isUnderline="true"/> </textElement> <text><![CDATA[Count]]></text> </staticText> </band> </columnHeader> <detail> <band height="20"> <textField> <reportElement x="180" y="0" width="180" height="15"/> <textElement/> <textFieldExpression><![CDATA[$F{field}]]></textFieldExpression> </textField> <textField> <reportElement x="360" y="0" width="180" height="15"/> <textElement/> <textFieldExpression><![CDATA[$F{count}]]></textFieldExpression> </textField> </band> </detail> <columnFooter> <band/> </columnFooter> <pageFooter> <band height="15"> <staticText> <reportElement x="0" y="0" width="40" height="15"/> <textElement/> <text><![CDATA[Page:]]></text> </staticText> <textField> <reportElement x="40" y="0" width="100" height="15"/> <textElement/> <textFieldExpression class="java.lang.Integer"><![CDATA[$V{PAGE_NUMBER}]]></textFieldExpression> </textField> </band> </pageFooter> <summary> <band/> </summary></jasperReport>[/code]input xml file is <response id="1074200577"> <results id1="0" id2="0"> <field count="7556">one</field> <field count="7524">two</field> <field count="7402">three</field> <field count="7304">four</field> </results></response>[/code]My Java code looks like below JasperCompileManager.compileReportToFile(inpuutjrxml, outputjasper);JRXmlDataSource source = new JRXmlDataSource(new File(sourceFile));HashMap<String, Object> params = new HashMap<String, Object>();JasperPrint jasperPrint = JasperFillManager.fillReport(outputjasper, params, source);JasperExportManager.exportReportToPdfStream(jasperPrint, new FileOutputStream(pefoutput));[/code]Is it a xpath issue or some modification needs to be done for jrxml file when we use xml data source?
×
×
  • Create New...