![](http://content.invisioncic.com/i328763/set_resources_3/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
berlin.brown
Members-
Posts
11 -
Joined
-
Last visited
berlin.brown's Achievements
-
I am trying to include an svg image into a jasper report. I thought it would be simple Jasper Report Library Version 6.3 and version 6.11 I wanted to load off the classpath as a strream but getting different errors parameters.put("Image", loadImageAsStream("com/services/reportgencore/api/fincalc/primerica-color-logo.svg")); parameters.put("Image", loadImageAsBatikRenderer("com/services/reportgencore/api/fincalc/primerica-color-logo.svg")); Caused by: java.lang.ClassCastException: net.sf.jasperreports.renderers.BatikRenderer cannot be cast to java.awt.Image at mobileFna_1596548402682_188567.evaluate(mobileFna_1596548402682_188567:348 import net.sf.jasperreports.engine.util.JRLoader;import net.sf.jasperreports.renderers.BatikRenderer; How can I load a SVG in this approach? Also, loading to the correct size with stretching
-
With this simple configuration, I am passing json data to a table. I see an empty document with this setup. What is mssing. <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.3.1.final using JasperReports Library version 6.3.1 --><!-- 2019-04-12T16:26:16 --><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="NewReportPullTable" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="bf9e7542-323d-4fb8-bea6-e92da2349533"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="FincalcLoanAdapter "/> <style name="Table_TH" mode="Opaque" backcolor="#F0F8FF"> <box> <pen lineWidth="0.5" lineColor="#000000"/> <topPen lineWidth="0.5" lineColor="#000000"/> <leftPen lineWidth="0.5" lineColor="#000000"/> <bottomPen lineWidth="0.5" lineColor="#000000"/> <rightPen lineWidth="0.5" lineColor="#000000"/> </box> </style> <style name="Table_CH" mode="Opaque" backcolor="#BFE1FF"> <box> <pen lineWidth="0.5" lineColor="#000000"/> <topPen lineWidth="0.5" lineColor="#000000"/> <leftPen lineWidth="0.5" lineColor="#000000"/> <bottomPen lineWidth="0.5" lineColor="#000000"/> <rightPen lineWidth="0.5" lineColor="#000000"/> </box> </style> <style name="Table_TD" mode="Opaque" backcolor="#FFFFFF"> <box> <pen lineWidth="0.5" lineColor="#000000"/> <topPen lineWidth="0.5" lineColor="#000000"/> <leftPen lineWidth="0.5" lineColor="#000000"/> <bottomPen lineWidth="0.5" lineColor="#000000"/> <rightPen lineWidth="0.5" lineColor="#000000"/> </box> </style> <subDataset name="Dataset1" uuid="4bf8f7c6-1f32-423a-a26d-c2fb06f19f9c"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="FincalcLoanAdapter "/> <queryString language="json"> <![CDATA[]]> </queryString> <field name="x" class="java.lang.String"> <property name="net.sf.jasperreports.json.field.expression" value="x"/> <fieldDescription><![CDATA[x]]></fieldDescription> </field> <field name="y" class="java.lang.String"> <property name="net.sf.jasperreports.json.field.expression" value="y"/> <fieldDescription><![CDATA[y]]></fieldDescription> </field> </subDataset> <queryString language="json"> <![CDATA[]]> </queryString> <background> <band splitType="Stretch"/> </background> <title> <band height="79" splitType="Stretch"/> </title> <pageHeader> <band height="35" splitType="Stretch"/> </pageHeader> <columnHeader> <band height="61" splitType="Stretch"/> </columnHeader> <detail> <band height="266" splitType="Stretch"> <componentElement> <reportElement x="180" y="30" width="328" height="236" uuid="7271b389-e82a-4720-8296-7e8f73422453"> <property name="com.jaspersoft.studio.layout" value="com.jaspersoft.studio.editor.layout.VerticalRowLayout"/> <property name="com.jaspersoft.studio.table.style.table_header" value="Table_TH"/> <property name="com.jaspersoft.studio.table.style.column_header" value="Table_CH"/> <property name="com.jaspersoft.studio.table.style.detail" value="Table_TD"/> </reportElement> <jr:table 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="be75df4a-ce1e-4fec-8c1e-a98f7e0bcdb3"> <datasetParameter name="JSON_INPUT_STREAM"> <datasetParameterExpression><![CDATA[$P{JSON_INPUT_STREAM}]]></datasetParameterExpression> </datasetParameter> <datasetParameter name="net.sf.jasperreports.json.source"> <datasetParameterExpression><![CDATA[$P{net.sf.jasperreports.json.source}]]></datasetParameterExpression> </datasetParameter> <datasetParameter name="net.sf.jasperreports.json.sources"> <datasetParameterExpression><![CDATA[$P{net.sf.jasperreports.json.sources}]]></datasetParameterExpression> </datasetParameter> <datasetParameter name="net.sf.jasperreports.json.date.pattern"> <datasetParameterExpression><![CDATA[$P{net.sf.jasperreports.json.date.pattern}]]></datasetParameterExpression> </datasetParameter> <datasetParameter name="net.sf.jasperreports.json.number.pattern"> <datasetParameterExpression><![CDATA[$P{net.sf.jasperreports.json.number.pattern}]]></datasetParameterExpression> </datasetParameter> <datasetParameter name="JSON_LOCALE"> <datasetParameterExpression><![CDATA[$P{JSON_LOCALE}]]></datasetParameterExpression> </datasetParameter> <datasetParameter name="net.sf.jasperreports.json.locale.code"> <datasetParameterExpression><![CDATA[$P{net.sf.jasperreports.json.locale.code}]]></datasetParameterExpression> </datasetParameter> <datasetParameter name="JSON_TIME_ZONE"> <datasetParameterExpression><![CDATA[$P{JSON_TIME_ZONE}]]></datasetParameterExpression> </datasetParameter> <datasetParameter name="net.sf.jasperreports.json.timezone.id"> <datasetParameterExpression><![CDATA[$P{net.sf.jasperreports.json.timezone.id}]]></datasetParameterExpression> </datasetParameter> <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression> </datasetRun> <jr:column width="40" uuid="ef1416e4-790a-4527-9302-72d054fdfb83"> <jr:tableHeader style="Table_TH" height="30"/> <jr:tableFooter style="Table_TH" height="30"/> <jr:columnHeader style="Table_CH" height="30"/> <jr:columnFooter style="Table_CH" height="30"/> <jr:detailCell style="Table_TD" height="30"/> </jr:column> </jr:table> </componentElement> </band> </detail> <columnFooter> <band height="45" splitType="Stretch"/> </columnFooter> <pageFooter> <band height="54" splitType="Stretch"/> </pageFooter> <summary> <band height="42" splitType="Stretch"/> </summary></jasperReport>[/code] [ { "x" : "D", "y" : "Z" } ]
-
Connect to the Jasper Reports samples database on localhost
berlin.brown replied to berlin.brown's topic in Products
I am using the "demo" samples from jasper reports. It is clear that the hsqldb is running as standalone server. For example: https://github.com/TIBCOSoftware/jasperreports/blob/master/jasperreports/demo/samples/charts/src/ChartsApp.java https://github.com/TIBCOSoftware/jasperreports/blob/master/jasperreports/src/net/sf/jasperreports/engine/util/AbstractSampleApp.java //Change these settings according to your local configuration String driver = "org.hsqldb.jdbcDriver"; String connectString = "jdbc:hsqldb:hsql://localhost"; String user = "sa"; String password = ""; -
I am trying to connect to the hsqldb database that is running on localhost. I can connect through the runManager fine, but when I try to connect through a jasper reports adapter and hit "Test" I get an error below. When using the runmanager for hsqldb: HSQL Database Engine Server org.hsqldb.jdbcDriver jdbc:hsqldb:hsql://localhost/ user: sa password: empty But when connecting through the database jdbc connector, this does not work: jdbc:hsqldb:hsql://localhost/ Username:sa Password: empty In the jasper client: net.sf.jasperreports.engine.JRException: java.sql.SQLTransientConnectionException: connection exception: connection failure: java.io.EOFException at net.sf.jasperreports.data.jdbc.JdbcDataAdapterService.contributeParameters(JdbcDataAdapterService.java:130) at net.sf.jasperreports.data.AbstractDataAdapterService.test(AbstractDataAdapterService.java:122) at com.jaspersoft.studio.data.wizard.AbstractDataAdapterWizard$3.runOperations(AbstractDataAdapterWizard.java:162) at com.jaspersoft.studio.utils.jobs.CheckedRunnableWithProgress$1.run(CheckedRunnableWithProgress.java:59) at java.lang.Thread.run(Thread.java:745) Caused by: java.sql.SQLTransientConnectionException: connection exception: connection failure: java.io.EOFException at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) at org.hsqldb.jdbc.JDBCUtil.sqlException(Unknown Source) at org.hsqldb.jdbc.JDBCConnection.<init>(Unknown Source) at org.hsqldb.jdbc.JDBCDriver.getConnection(Unknown Source) at org.hsqldb.jdbc.JDBCDriver.connect(Unknown Source) at net.sf.jasperreports.data.jdbc.JdbcDataAdapterService.getConnection(JdbcDataAdapterService.java:168) at net.sf.jasperreports.data.jdbc.JdbcDataAdapterService.contributeParameters(JdbcDataAdapterService.java:128) ... 4 more Caused by: org.hsqldb.HsqlException: connection exception: connection failure: java.io.EOFException at org.hsqldb.error.Error.error(Unknown Source) at org.hsqldb.error.Error.error(Unknown Source) at org.hsqldb.ClientConnection.execute(Unknown Source) at org.hsqldb.ClientConnection.<init>(Unknown Source) ... 9 more And even on the server side, I see this error on the hsql [java] Exception in thread "HSQLDB Connection @56f3bb82" java.lang.NullPointerException [java] at org.hsqldb.ServerConnection.close(Unknown Source) [java] at org.hsqldb.ServerConnection.run(Unknown Source) [java] at java.lang.Thread.run(Thread.java:748)
-
I am trying to feed a simple JSON array into the chart types but I am getting an empty document when testing through studio. How can you pass an array to a document? For example: { "Data": [ { "x":1, "y":2 }, { "x":1, "y":3 } ]}[/code]And then I want to pass to this chart and data: <queryString> <![CDATA[Data]]> </queryString> <field name="x" class="java.lang.Double"> <property name="net.sf.jasperreports.json.field.expression" value="x"/> </field> <field name="y" class="java.lang.Double"> <property name="net.sf.jasperreports.json.field.expression" value="y"/> </field><xyAreaChart> <chart evaluationTime="Report"> <reportElement x="40" y="20" width="200" height="200" uuid="952fc1ba-070b-4171-9007-62cfdf705e5c"/> <chartTitle/> <chartSubtitle/> <chartLegend/> </chart> <xyDataset> <xySeries> <seriesExpression><![CDATA["SERIES 1"]]></seriesExpression> <xValueExpression><![CDATA[$F{x}]]></xValueExpression> <yValueExpression><![CDATA[$F{y}]]></yValueExpression> </xySeries> </xyDataset>[/code]I get a response of an empty document when I try to render. Also, is it possible to have a field of type array? Here is the full jrxml: <?xml version="1.0" encoding="UTF-8"?><!-- Created with Jaspersoft Studio version 6.3.1.final using JasperReports Library version 6.3.1 --><!-- 2019-04-08T16:36:59 --><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="GraphTest" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="f981967e-6bf6-47a4-bcca-cd45fc19aab9"> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="CsvGraph"/> <queryString> <![CDATA[Data]]> </queryString> <field name="x" class="java.lang.Double"> <property name="net.sf.jasperreports.json.field.expression" value="x"/> </field> <field name="y" class="java.lang.Double"> <property name="net.sf.jasperreports.json.field.expression" value="y"/> </field> <background> <band splitType="Stretch"/> </background> <title> <band height="79" splitType="Stretch"/> </title> <pageHeader> <band height="49" splitType="Stretch"> <staticText> <reportElement x="250" y="19" width="100" height="30" uuid="1bb91627-867b-4045-b582-4ef3ff30a7cc"/> <text><![CDATA[simple Line Area Graph]]></text> </staticText> </band> </pageHeader> <columnHeader> <band height="61" splitType="Stretch"> <staticText> <reportElement x="250" y="19" width="100" height="30" uuid="383dbef6-0ee3-4b53-91f7-64f16f5bc745"/> <text><![CDATA[simple Line Area Graph]]></text> </staticText> </band> </columnHeader> <detail> <band height="398" splitType="Stretch"> <xyAreaChart> <chart evaluationTime="Report"> <reportElement x="40" y="20" width="200" height="200" uuid="952fc1ba-070b-4171-9007-62cfdf705e5c"/> <chartTitle/> <chartSubtitle/> <chartLegend/> </chart> <xyDataset> <xySeries> <seriesExpression><![CDATA["SERIES 1"]]></seriesExpression> <xValueExpression><![CDATA[$F{x}]]></xValueExpression> <yValueExpression><![CDATA[$F{y}]]></yValueExpression> </xySeries> </xyDataset> <areaPlot> <plot/> <categoryAxisFormat> <axisFormat/> </categoryAxisFormat> <valueAxisFormat> <axisFormat/> </valueAxisFormat> </areaPlot> </xyAreaChart> </band> </detail> <columnFooter> <band height="45" splitType="Stretch"/> </columnFooter> <pageFooter> <band height="54" splitType="Stretch"> <staticText> <reportElement x="250" y="19" width="100" height="30" uuid="cc183642-0d72-4347-bcea-e66f0a6e1a72"/> <text><![CDATA[simple Line Area Graph]]></text> </staticText> </band> </pageFooter> <summary> <band height="42" splitType="Stretch"/> </summary></jasperReport>[/code]
-
Fixed by matching up the json name exactly as the name of the field
- 6 replies
-
- java 1.8
- jaspe report; jasper studio
-
(and 1 more)
Tagged with:
-
I got it to work, but I had to use this format, The field name had to match the JSON expression. <field name="saving.beginningBalance" class="java.lang.String"> <property name="net.sf.jasperreports.json.field.expression" value="saving.beginningBalance"/> </field>
- 6 replies
-
- java 1.8
- jaspe report; jasper studio
-
(and 1 more)
Tagged with:
-
I am trying to use a JSON stream. It is kind of strange, some JSON data gets loaded but some doesn't.
- 6 replies
-
- java 1.8
- jaspe report; jasper studio
-
(and 1 more)
Tagged with:
-
That fixed the first problem, thanks. The studio is populating data from the JSON properly. How do I get the Java code to populate. What code do I use, I tried the following, final String jsonAsString = mapper.writeValueAsString(recordJsonObjectAfterDecorate.getDataadapter()); logger.info("Reading JSON data into jasper report library: " + jsonAsString); logger.info("Loading report, "+templateresourcefinder); targetStream = new ByteArrayInputStream(jsonAsString.getBytes()); // Build a JSON Datasource // final JsonDataSource jsonStreamDataSource = new JsonDataSource(targetStream); params.put(JsonQueryExecuterFactory.JSON_DATE_PATTERN, "yyyy-MM-dd"); params.put(JsonQueryExecuterFactory.JSON_NUMBER_PATTERN, "#,##0.##"); params.put(JsonQueryExecuterFactory.JSON_LOCALE, Locale.US); params.put(JRParameter.REPORT_LOCALE, Locale.US); params.put(JsonQueryExecuterFactory.JSON_INPUT_STREAM, targetStream);[/code] Do you see an issue with the Java code same tempalte file?
- 6 replies
-
- java 1.8
- jaspe report; jasper studio
-
(and 1 more)
Tagged with:
-
With the Java code below and jasperreports studio, I am trying to pass the JSON to the report but the data is not populating. The static text will appear but not the JSON data. If you see below, I am trying to access isSuccessful but no data is returned. Actually, I can't find a reference to any of the fields using the JSON expression in the xml. And JSON: { "calcData": { "data": { "savingsFrequencyIndicator": 12, "saveEachIndicator": 12, "schedulechart": [ { "month": 1, "savings": 123.00, "balance": 1430.00 }, { "month": 2, "savings": 123.00, "balance": 1560.88 } ] }, "type": "savingsData" }, "isSuccessful": true } iss = new ClassPathResource("/com/ca/services/reportgencore/api/testnorthworks.json").getInputStream(); final StringWriter writer = new StringWriter(); IOUtils.copy(iss, writer, "UTF-8"); final String jsonAsString = writer.toString(); System.out.println("JSON as input >>>: "+jsonAsString); targetStream = new ByteArrayInputStream(jsonAsString.getBytes()); // Build a JSON Datasource // final JsonDataSource jsonStreamDataSource = new JsonDataSource(targetStream); params.put(JsonQueryExecuterFactory.JSON_DATE_PATTERN, "yyyy-MM-dd"); params.put(JsonQueryExecuterFactory.JSON_NUMBER_PATTERN, "#,##0.##"); params.put(JsonQueryExecuterFactory.JSON_LOCALE, Locale.US); params.put(JRParameter.REPORT_LOCALE, Locale.US); params.put(JsonQueryExecuterFactory.JSON_INPUT_STREAM, targetStream); // Load the compiled template system and output the PDF document final JasperReport report = TestJasperReportUtil.loadJASPERFile("/com/ca/services/reportgencore/api/SimpleDataJust.jasper"); final JasperPrint jasperPrint = JasperFillManager.fillReport(report, params, jsonStreamDataSource); pdf = JasperExportManager.exportReportToPdf(jasperPrint); <?xml version="1.0" encoding="UTF-8"?> <!-- Created with Jaspersoft Studio version 6.3.1.final using JasperReports Library version 6.3.1 --> <!-- 2019-02-12T13:27:48 --> <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="JsonOrdersReport" pageWidth="500" pageHeight="842" columnWidth="500" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="5a62986f-c97c-4e2f-b4ed-d9f38960dab4"> <property name="net.sf.jasperreports.json.source" value="data/example_fincalc_data.json"/> <property name="com.jaspersoft.studio.data.defaultdataadapter" value="FincalcNewMock"/> <queryString language="json"> <![CDATA[.]]> </queryString> <field name="Id" class="java.lang.String"> <property name="net.sf.jasperreports.json.field.expression" value="OrderID"/> </field> <field name="isSuccessful" class="java.lang.String"> <property name="net.sf.jasperreports.json.field.expression" value="isSuccessful"/> </field> <pageHeader> <band height="14"> <frame> <reportElement mode="Opaque" x="0" y="2" width="356" height="10" forecolor="#CCFFFF" backcolor="#CCFFFF" uuid="e9af134f-31eb-48be-bd9b-292188f2554f"/> <staticText> <reportElement mode="Opaque" x="0" y="0" width="48" height="10" backcolor="#CCFFFF" uuid="62e5e770-7b05-4ecd-a254-ab0c7f643a37"/> <textElement textAlignment="Right"/> <text><![CDATA[iD]]></text> </staticText> </frame> </band> </pageHeader> <detail> <band height="14"> <textField> <reportElement x="0" y="2" width="51" height="10" uuid="ec54687d-3c95-4647-9db5-fa71a6e81009"/> <textElement textAlignment="Right"/> <textFieldExpression><![CDATA[$F{Id}]]></textFieldExpression> </textField> </band> </detail> <summary> <band height="77"> <staticText> <reportElement x="20" y="20" width="100" height="30" uuid="15321182-a6c8-494d-ba0f-56e71987d588"/> <text><![CDATA[beginning Balance:]]></text> </staticText> <staticText> <reportElement x="190" y="20" width="100" height="30" uuid="e09a4690-13a6-4c85-915e-4c75a091dfd4"/> <text><![CDATA[simple Data 2]]></text> </staticText> <textField> <reportElement key="" x="130" y="33" width="51" height="10" uuid="b055a4bd-cdd8-4b82-8690-6b21055f5212"/> <textElement textAlignment="Right"/> <textFieldExpression><![CDATA[$F{isSuccessful}]]></textFieldExpression> </textField> </band> </summary> </jasperReport> And JSON input that isn't loading: [/code]
- 6 replies
-
- java 1.8
- jaspe report; jasper studio
-
(and 1 more)
Tagged with: