Planet Jaspersoft

Filter by tags:

May 29, 2021

Hi, Welcome to the series of Jaspersoft Reports.

In this video, you will learn the basics of parameter(s) and how to create and use a single select parameter in a Product Detail Report using Jaspersoft Design Studio Professional.

Download the example file from https://drive.google.com/file/d/1B_SPsPDnalSMMCFCar1z1slkQtIjqXpu/view?usp=sharing


Thank you for watching this video, I hope this helped you a little on understanding the basic of parameter and single select parameter usage in Jaspersoft Design Studio Professional. 

If you enjoyed watching it, please do subscribe and click on bell icon for more interesting topics on Jaspersoft Reports. 

May 29, 2021

March 1, 2021

Revisit : Multi Select Parameter Example in Jasper Reports 

Default value expression: 
java.util.Arrays.asList(new String[]{"99993","99962","99949"})  

References: 
https://community.jaspersoft.com/questions/520702/default-select-values-multi-select-prompt

Parameter Properties : 
Server output: 


JRXML 
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.4.21.final using JasperReports Library version 6.4.1 -->
<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="MultiSelectParameterDefaultValue" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="0a843e05-bf78-488a-bb0d-44f948a799f6">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="foodmart"/>
<property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/>
<property name="ireport.jasperserver.user" value="superuser"/>
<property name="ireport.jasperserver.report.resource" value="/EarthlySystems/Multi_Select_Parameter_Demo/Multi_Select_Parameter_Default_Value_files/main_jrxml"/>
<property name="ireport.jasperserver.reportUnit" value="/EarthlySystems/Multi_Select_Parameter_Demo/Multi_Select_Parameter_Default_Value"/>
<parameter name="paramPostalCode" class="java.util.Collection" nestedType="java.lang.String">
<defaultValueExpression><![CDATA[java.util.Arrays.asList(new String[]{"99993","99962","99949"})

]]></defaultValueExpression>
</parameter>
<queryString language="SQL">
<![CDATA[select * from customer where $X{IN, postal_code, paramPostalCode}]]>
</queryString>
<field name="customer_id" class="java.lang.Integer"/>
<field name="account_num" class="java.lang.Long"/>
<field name="lname" class="java.lang.String"/>
<field name="fname" class="java.lang.String"/>
<field name="mi" class="java.lang.String"/>
<field name="address1" class="java.lang.String"/>
<field name="address2" class="java.lang.String"/>
<field name="address3" class="java.lang.String"/>
<field name="address4" class="java.lang.String"/>
<field name="city" class="java.lang.String"/>
<field name="state_province" class="java.lang.String"/>
<field name="postal_code" class="java.lang.String"/>
<field name="country" class="java.lang.String"/>
<field name="customer_region_id" class="java.lang.Integer"/>
<field name="phone1" class="java.lang.String"/>
<field name="phone2" class="java.lang.String"/>
<field name="birthdate" class="java.sql.Date"/>
<field name="marital_status" class="java.lang.String"/>
<field name="yearly_income" class="java.lang.String"/>
<field name="gender" class="java.lang.String"/>
<field name="total_children" class="java.lang.Integer"/>
<field name="num_children_at_home" class="java.lang.Integer"/>
<field name="education" class="java.lang.String"/>
<field name="date_accnt_opened" class="java.sql.Date"/>
<field name="member_card" class="java.lang.String"/>
<field name="occupation" class="java.lang.String"/>
<field name="houseowner" class="java.lang.String"/>
<field name="num_cars_owned" class="java.lang.Integer"/>
<field name="fullname" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<title>
<band height="36" splitType="Stretch">
<textField>
<reportElement mode="Opaque" x="0" y="0" width="555" height="36" backcolor="#ECE0FF" uuid="f4bc67c0-499c-48cd-af15-6703eb08f358">
<property name="com.jaspersoft.studio.unit.y" value="pixel"/>
</reportElement>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Customer Detail Report By Postal Code"]]></textFieldExpression>
</textField>
</band>
</title>
<columnHeader>
<band height="30" splitType="Stretch">
<staticText>
<reportElement x="0" y="0" width="81" height="30" uuid="950cfd64-6561-445f-aa06-df9d92402d33"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[customer_id]]></text>
</staticText>
<staticText>
<reportElement x="81" y="0" width="79" height="30" uuid="60014d13-d4e3-49e1-85f7-cec9b3860db2"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[account_num]]></text>
</staticText>
<staticText>
<reportElement x="160" y="0" width="79" height="30" uuid="8298d207-c566-4c62-96af-7c5ec3438111"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[lname]]></text>
</staticText>
<staticText>
<reportElement x="239" y="0" width="79" height="30" uuid="1f425d7f-2817-4cda-b688-42c48dc72ee5"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[city]]></text>
</staticText>
<staticText>
<reportElement x="318" y="0" width="79" height="30" uuid="cc44460f-c5ea-4c7f-b24c-9f1313ffaa13"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[state_province]]></text>
</staticText>
<staticText>
<reportElement x="397" y="0" width="79" height="30" uuid="2f6d5fe4-8130-40c5-8f65-e3845b818625"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[postal_code]]></text>
</staticText>
<staticText>
<reportElement x="476" y="0" width="79" height="30" uuid="3381d500-9086-431c-9678-cef469425d11"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<text><![CDATA[country]]></text>
</staticText>
</band>
</columnHeader>
<detail>
<band height="30" splitType="Stretch">
<textField>
<reportElement x="0" y="0" width="81" height="30" uuid="d9d71552-8c5d-4f5f-adc5-f688e7d1b26e">
<property name="com.jaspersoft.studio.unit.y" value="pixel"/>
</reportElement>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{customer_id}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="81" y="0" width="79" height="30" uuid="5bc3525d-9b53-479e-bc3f-b6f78898c4a0"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{account_num}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="160" y="0" width="79" height="30" uuid="8f4c3632-b891-470f-8c6b-e7ad7d7b45d5"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{lname}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="239" y="0" width="79" height="30" uuid="e288ef3a-54ad-4832-99c6-d5cdcea3c8cb"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{city}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="318" y="0" width="79" height="30" uuid="ec922197-b510-4504-ac83-39bb76c4c252"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{state_province}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="397" y="0" width="79" height="30" uuid="6ed97799-b8d8-4398-9714-475844cc536f"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{postal_code}]]></textFieldExpression>
</textField>
<textField>
<reportElement x="476" y="0" width="79" height="30" uuid="4f6b9312-5caf-4b7a-8596-5a6891ce97f1"/>
<box>
<pen lineColor="#D6D0D0"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#D6D0D0"/>
</box>
<textElement textAlignment="Center" verticalAlignment="Middle"/>
<textFieldExpression><![CDATA[$F{country}]]></textFieldExpression>
</textField>
</band>
</detail>
</jasperReport>

March 1, 2021

February 4, 2021

 Fusion Chart 

Chart title properties

{ "chart": { "captionFont": "Arial", "captionFontSize": "18", "captionFontColor": "#993300", "captionFontBold": "1" }}

https://www.fusioncharts.com/dev/chart-guide/chart-configurations/caption-and-sub-caption

Legend properties

{ "chart": { "legendItemFontBold": "0", "legendItemFont": "Arial", "legendItemFontSize": "11", "legendItemFontColor": "#666666" }}


https://www.fusioncharts.com/dev/chart-guide/chart-configurations/legend

February 4, 2021

November 29, 2020

Problem statement:
Display Base64 database field as an image in  Jasper Reports. 

As on writing this page , test results showed me that byte[] data type is supported in studio to display image but not in server and eventually ended up with byte[] unsupported errors messages on jasper console.  

Software's used: 
Studio professional 7.8, "PostgreSQL 9.3.20, compiled by Visual C++ build 1600, 64-bit"

Studio design:

Output in Studio: 


SQL for creating a sample table containing Base64 image data. 

CREATE TABLE public.base64image (
id serial PRIMARY KEY,
image_base64 varchar(5000000) NULL
);
INSERT INTO base64image
(id,image_base64)
VALUES(1, '/9j/4AAQSkZJRgABAQAAAQABAAD/4gKgSUNDX1BST0ZJTEUAAQEAAAKQbGNtcwQwAABtbnRyUkdCIFhZWiAH4gABAA8ACAAxADhhY3NwQVBQTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWxjbXMAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAtkZXNjAAABCAAAADhjcHJ0AAABQAAAAE53dHB0AAABkAAAABRjaGFkAAABpAAAACxyWFlaAAAB0AAAABRiWFlaAAAB5AAAABRnWFlaAAAB+AAAABRyVFJDAAACDAAAACBnVFJDAAACLAAAACBiVFJDAAACTAAAACBjaHJtAAACbAAAACRtbHVjAAAAAAAAAAEAAAAMZW5VUwAAABwAAAAcAHMAUgBHAEIAIABiAHUAaQBsAHQALQBpAG4AAG1sdWMAAAAAAAAAAQAAAAxlblVTAAAAMgAAABwATgBvACAAYwBvAHAAeQByAGkAZwBoAHQALAAgAHUAcwBlACAAZgByAGUAZQBsAHkAAAAAWFlaIAAAAAAAAPbWAAEAAAAA0y1zZjMyAAAAAAABDEoAAAXj///zKgAAB5sAAP2H///7ov///aMAAAPYAADAlFhZWiAAAAAAAABvlAAAOO4AAAOQWFlaIAAAAAAAACSdAAAPgwAAtr5YWVogAAAAAAAAYqUAALeQAAAY3nBhcmEAAAAAAAMAAAACZmYAAPKnAAANWQAAE9AAAApbcGFyYQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACltwYXJhAAAAAAADAAAAAmZmAADypwAADVkAABPQAAAKW2Nocm0AAAAAAAMAAAAAo9cAAFR7AABMzQAAmZoAACZmAAAPXP/bAEMABQMEBAQDBQQEBAUFBQYHDAgHBwcHDwsLCQwRDxISEQ8RERMWHBcTFBoVEREYIRgaHR0fHx8TFyIkIh4kHB4fHv/bAEMBBQUFBwYHDggIDh4UERQeHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHv/CABEIAPAA8AMBIgACEQEDEQH/xAAcAAABBAMBAAAAAAAAAAAAAAAAAQIFBgMEBwj/xAAZAQEAAwEBAAAAAAAAAAAAAAAAAQIDBAX/2gAMAwEAAhADEAAAAeygAAAAAAABipMTesXCIRb0ll80yx6BORdJVlDBlmHCKAAAAAAAAAAAAACQ68Gi0nVsbVnsZlQjUVOTcjlROXfkm6n1Jk5B19QUJgAAAAAAAAAAx5KdE8xqDsSyplBqvQxKqxZjdzLW0dm2o+a5/Svl/qs17CItqAAAAAAAAAAHL+n0KJ4bkZNRdpft3k7qPs319NaBI299LwKz7ImAo3TKxplz2zV+wd/m+hXNdOYAAAAAAAAACVW1QyfN07G2bLotUjHSHD6O2qOiR7XSdi2daY1avaIBHM79SOs+h5fR1RbZAAAAAAAAACBT7fzbPejWTWz4dettxeaJmZOp46XvjdaHy2kdKBf0c0jJQkllrWrjETmuPQ3a+fr81QJAAAAAAAIoN590Kn5dFNkdOV5u6J2pnJW2jF2GErM1p7+Gmmnjl10zg9uV0otCy0XPWpdMiHf46gSAAAAAAAAEgZ9tbco3p2t8vozO7EyWW+CAmqdE3fDFOhM7unt2Y43bjaW07hC3jr8/KB08QAAAAAAAAIoIoQ0+Z9XoOe8Ztwe3yei/DoLKyEbmm2WRru3WJDSM1VwmEd6PjgEwAAAAAAAAAAAgV2a4hVtyRo8Xqy2DY366aOzl27tTDuQWcq7W0N+XtruY9M6/OcIqQAAAAAAAQVIPm6Oqcz5boSsMlVperu3O+wwfJ18o2t2pt7PipG9Kw7z7Tnrn0L1SevzeG3Okt3w71c/KOxE+sV843GJ66VaywyAJTR5Nz6adj5/VEtD8T8csCtyLZM2J0R6XmOZ9J5tI6h9SwteUSM6zl7ta3LudPGnIutecujkrbXN0jC5GxbI5qzD5SJIjqnTPMGeJBS1BFEpje0w5UypQUiLv3Tzb6Kx028WbnkX04pz8OrpMvxjsnRyxvmfuHDNcsSK29WI5Ylrxw0cTDVVTKCIEVqWv1NmGLYwvMjXIZ/QnnfrNLdM4Z2bj2G8rm1d3Lok5mU530cepzSdgt82CtmGK7JEtVrUZEFmEATkQEAKaz34ItsiOmGua5DrHXNus+hKbbqtzbwO7Cz+XXfuV9A5P0cVWa5vRkiKCqNMLmvSOa9DVBH//xAAsEAABBAEDAwMEAgMBAAAAAAABAAIDBAUGERIQEyEUMDEgIjJAIzMVNUFC/9oACAEBAAEFAvdMjAmvY79p72sbk9RV4Fazd6cvszOUduaNQ5vIRmlqaUOp3IbUIlYf1cnkIKMWWy9i44u3RKJRPjchc1DcsV03KTb4jUJZJG8Pb+jk70VKDJXpLVg9PPQndD4J8v36DdzdJ5hzH/oSODW6iyBt3SV/wLfzugiQm+UQekZUEpjmxdplqn7+q7Jgxrj0a3wtgtkd00JsD3n08hT6r2t8tPnfRNjax7+ty4tf8tbyd6N+zar+UeOkKGMehixvHjWBMqNaPSMUldhWRqduSceNMOIyo9/WUTjR/wDVJv3xRji2FqEfjiuAXFcUWp4WUY0tsgLS/MZX39UM54l35Y3y+L4ah9Lk5ZXYMmO7tFRk3vfzMfcx3Dd2Or8UxMQHULZPTisnAZop4+L9ER7Vffy+Q4irDzmA2T7B5i66MMyUZUU7XrmnShodk4mp+Q5ploh24cMvB9+mZvSVR787B6is3aSbfYSMhE1mSOGGqbkFZ0kb4QSy9z4tpy9ihZfK7vB7qreLcmzlF2W9uD+r3sv9k9b44p0P3eHxwOLIpmju1x/HI3cjmxsIEQ7H3bbC75hrndM/H3s7H98Q4qMbprF2wuKkI7lf+t3yG7gNXFSKx5bj2c5PfzLC6D4ew7KI7rZWpBDF2jwqMPbLd3QFbKRSL8pMUzY++RuM3AGsaVE5NcrsYmZPBN3qk9gKaB0k0TdkVIVIVh4BNOxrWD9C3F3oHbtLHoTcRJccmBzyxrwnh+wsEJs3IPcid1iYu1V/Sz0HbljcnDcSRSKLuuTIZ12pgHwySqvupSqEffsj9PPzQQ49pULvDhuiXtTLbgu/3A1P8GVyoXm0rw/SsSsgit3HZrO34DFNG8bxPagYiP4Uzs7SSMCnmG9Zjp36pr8KmlM2JWe/du1qceT1cArmSu3FpX/d5Or3Y7EJQsOYm2wvVDb1oCN0uVKu+wakAe7WUY/xIcWuoalv1lR1RRmVezBYb7V/K0aYyeq5Xq1ZmsyD8lh5O1lG/GQx4kVqsCbNWSMkuBrQOlNPH8FBG6R1eEQx61dtiSigVHLJG6rqDJwKpq87Uc7jrSY9rx1s269Zt7VVWNX89kLSc5ziU5M6RktdjJxPSV6lHZZZpSwubWZuxrlDAXOrQCFi15Y8lFFA9QVWv265xeq5WKhkal1mU1RNIpppJn9SnKL8U1aMs8qzT0kjbI23BJCYq9iQ1oWxNTlqOf1GW6FD6o5Hxu+ko/EY+0pq0tN2rvygppGxR2MlYlmEtv1uLux3a6ycvYoyO5P/AED8D4Q+cXL27lN3OstQ3DLbLeK8sbip34+80hzdaTdvGH4/QP59Y3cXaem72Pnf24oJHOy3jnFu6XMUd26ctd2trmfncPVyHtFH7XryCHA/Roe3ur5/jvR8boJLIJB6uXZzI5/QZvNWPU5EorcrjutgE4oezIPEZ3atgVtt10/M+HJOJljnhBsQS8pXbCQHlHqN476PUdD5P0hf96FM8P8AppP7duqd6+UkEKxfHi7gYMZOJ6eoX73Ueg6OQ+r/xAAjEQACAgEFAQACAwAAAAAAAAAAAQIRAxASITAxIAQTIjJC/9oACAEDAQE/AfmjabDb1pF62ej6EMooSZ+tjjR70IirYsCFhibIrTNFNdWJci1syK4kuOjBDcyEaGyErGOXJE/TubH79/jyqREoUdHESJPan0RltdmKe7nW9PEZ83+enBOmXwLk2i9Mk6iSdu+lekGWWyz8h/x6L0RjyrxjteG+TPFbM+Xe9LL13F6p6YszhwLLCrM2ff59J/D0iJWbUoklTH1xMbpmR3EXZEgrY/6j4f3/AP/EACIRAAICAgIDAAMBAAAAAAAAAAABAhEDIRIwECAxMkBBUf/aAAgBAgEBPwH2sv8Aes5oUuqTpDyseVnJvxik76sj15Q0Q0xdE5UTdiRONCEtEhTpC98q0SOQ5eFIkyO6F7yVmSNFlWcRDezFj/vTkWit+WY42xKumXwkIsdmJb6aJLRxFxZxSL/wxQ4oaOJXmiivFWVTJ47+DjL4Y8XH6L14+01sukcrZFkeuZNaIfRi65LRIj+R99//xAAzEAABAwIDBgUDAwUBAAAAAAABAAIRAyEQEjEEE0BBUWEgIjAycVJigSMzQkNygqGxkf/aAAgBAQAGPwL1bvaPyvK4H88Vmc4AItofqP8A9L93IOgV6zj+VLKzwV5a0/KjaWgjqFvabrKzhwuaq6/IIguLafJo8URKLabyGnkvc4H5Qo7UZYf5dEHNMg8EalQ35DqnVHnX/WNlJ8FsPhN2KuZabMPAlx0ToPkbZuM43w08Ae03aZVOq10yL8A5rdX28fNc15AVkIVxi6iXe4WHAUh/HADCMuEK91ooAWighSEFRjgM40BuoQWi09C6ACp5WzwFTtgPSMqyLokBvAVR2wzH0rKOaqPy89eAfQptzWvfHKwSrsUKZwlaqy83tKlZwNU2nUEZz14CoTzKqfKstJKDjQaAfqTq1Ngt0WQ6YEN0TtoyiG9Vu6dGm430CNN9LK7AfKa0C40TZ6eu9E9ThOVbuo2R8LdMbDe1sYUDRHd08pOsBZiMCm/MIeu1/UQox09EhMb04ARy8JcVnPPArKfAB3TjHAXTajGxGvgiVO9dHYrd5Ce6Dt85pHQoc/A5z2yAoaIHAuZ1Cg8sL4TgThHPEdXX4PejR2Mh0dl+5+F+45Tncp3hXm1GDWfk8I7fnWzfnCCrKcmZQaTlG6IxlUd77a9p6cG6pUdlaNSqNP8Aoh3lCcGjC/gthJHkWz1xycU3Y9pd+oLMd14DPtFVrB3RZsVL/NyO/ruIP8eSoz3/AOLOweYKWKHqJWqiVDbrO6zeZQpUxDRqUftcFIMFBrnCqz7lFeaLu+izUarKg7H0/wBWu2fpFyizY6e7H1HVbytUc93c47O/74wL6Vn/APUWvGR60MdQveVZj3oGtA+0IU6YgLKER1cPBmpvc09irbQXD77oDadm/LSvLXDD0fZS1wcO3gzVqzWKNnpuqnqbBRvcjejVLiT4Q4agyqVUc24Xs7qsrhZTux/4oYwBRqVbXCjsw/uPoTSrvb+Vk21mcfU1TQqg9uaNPYxu2/VzWao9zndT6LqBOhtjDgvKMwK+lQNcarpkCw9LMxxaeoPoDwTgXvMAI1GOhnJDaqdd9uRNit43UWcOmFWr0ai48zwrEx3bBuwUz3erwREJ5DT2WY+1x8yDhoVkB97o4IDwB3NMKc/oFUfU9z+qJMqi0g+Zwui9oRouPnpWTKHJgngJ5YTr4X7M75CyqW6rOdW3VD6s11BRfoxzoKrVeRdbGyueA1xY5iL1JT2B0C6Y8cnaqU7giPFTfPND4TjbREubMyvbyvZA8xYqoPu9X//EACkQAQACAgEEAQQDAAMBAAAAAAEAESExQRBRYXGRMECBsSChwdHh8PH/2gAIAQEAAT8h+my5/fxH9Y9pf3DGQlysEPVzwjgWnDXRKKHsiZQD8of9cEGBeedTAI/MHH2a1NknXtlvJdB8mLZXLMBWDCj/AKiDKAuz0Mfl3gU4sCe4DsOxPsv78DUbqqwdnaK27g2YqFtoeQjLk9RLSJsxeDx3lJmZ/F8okRngPaDf2CI0DLE7N1f7LrGeE+KYBImsWsSvAnEPcyJAG2K7Y1N67RugUPmE0o+j9gsNbnY6TRzuA2NEC+NRQoIccwacOJcXhCLT7xpNu+07MJVHUwtx3l/1WwPrhFa2oTK25XHMKVCTZDDrSoLQp5meur1GKT8SqshZeXMFo1UuMBMHkZoe238TKvrg3CJViArC6iRhLg0hQeMOwQP8M2H84BA4NS7plnwQ+v5xRliDQhoTWa9DHSsTSHE9AS5o+5zeg9ofXJPMvBvMauO4gCOyYoGYnSwK6GQKSW2YNwuT1O/7Bw14LhMomB5gawuu7hS6vEqE1DKYSiS/mYqlw7V3P/j5MWbIYKVMw6FWDCsv6zqUMzlYbDJcJlmFyg3/AHQMbqbRsDG9fcqKgZYvEvmF86sNwrvNYUEvI1IkWnNQsO6MxQpGLd1T6zA18YuG6HJMzUIgSqe06QSPswzgFrmYfqCy5l9v4SVw7qlYNeaztIPyYnvgKDx9cCpixLadXKENlHCOOqlx4Y7HqUkbejQLhOIE1ytEMbna95X110WLMrBd9NemU30OA8xoJlXKG7yRQWR7eCUioiwzTx2cFD9gVAEh37KoTSwxlxDOBMkonV0YfiDCYYOMv8zNszl2rcQEw9Abg+e8rF7B9iC52PcszpwTpE6pYoKIT/aYcqvEIAzfExbiod3Am2Xpak5v2TGI+/7medxqJrHZwgSlD4StdX5jYyDbMlCtOMw2AVzd49pcyjr4IAKNfZMfSLgcsWUnRFe4qQYxpepf5EgXKfERinK1MKCx+Cqjss0/ZDGHaQsqfjpm2UIA48TCLOcl4alBjy6gTBKXElAc95rAg/DVfqC3Mg49oP1rnYOVsvqKWfh/yX7dga+BEHeH7Juoeu5M4qeSYwrzL9oR0zMpKzuK228al0GzL0hCsQMUP7hJwNiYSJBrg2/MPPkyPP2bpcv+dy4pxPL+iC/kj+EaLHN0OBCMA8PliZQDT5iHyhvEswkGaeuUxl+JQWBqXpQGifPl7wOYN++jWcM86AohIdjQFYO8w4J//B1PJdFZLlyyPAR3cyx74kLZW+OoyYPK30dkyt6aTEIvt1X7hmLqdszJX3GmZs7BcR8EOPLxKoMtsXEFVLyP6/3qYswS4Mo5gmnaIQB+uT8QY25eBK8ddi1Fjly2y+nEfWPRuuujiYRgRIJpRjGZWEr5wwXk5PR0StbP4o7jrMyZh056kMDucJ/hUek5yjpNpUZwsKFOek5g7WVIjXxDriM4lyS2NN3Kiy0mlq9xs+UY9KzEhA6VKx0etxYxUvMOEelZL25gl8npgXmc/olyqjI4zE7R9+PxMoykeIpNhY+JX1EIcMdxxAgSpUqVOP4LBz0N+RHppjCaNwLG8Tke5/M2RS5RtW89rCW7shGJvWImdjbtxFHdl7elMSuZ3Rk/H8eP4aRPdI5MTj6T2MLqbYShvBGxfKPotiHSdIrF7/cqzpXCoUhZF45HxFvLQenVwUJf9KBME1kTB6kuumajctmq7zmO4QgIRvSzY8kWFZlKtDHbLfTEK3darNF/7KQc0w1exZatvMtqfjoI9AdOOlRWdVQ4nvuerDtDxHxCjfqVjiEbgrq2pc00MWX/AMRYJKtouHB4yUk8ifnoejxMBh6cw6M//9oADAMBAAIAAwAAABDzzzzgYCQ/XjDzzzzzziZG3xmBOTzzzzzyq0hVDIbvzzzzzzgu3fzLkyxzzzzzyjjB8s3YCAjzzzzyw1OxkRlnuXzzzzzjnscds/V0bzzzzyiK2DT+yBwzzzzzziaNhxiiejzzzzzzzge43iYUTzzzzDRK8aKrYLeo2j/Cm2ZCRAXNb8UawNHNJ/BqDAkBKkmvGFep+dlSpc+wmJOuJGrSr+eOneRIxyq//8QAHhEBAQEAAgIDAQAAAAAAAAAAAQARITEQQSAwUWH/2gAIAQMBAT8Q+ImCT+JRYnf1e9sHVsXGE7Qz6BrfiFtqV0Q/qbvPD6OLceycgdx0CA/LU2Ys9/Ih5nS3pDL4ImR5D9AtsRcs+23w4upLSTAYj58T+w7LLFuzzxDsMaJd+eH+LN/VkORynmCMhHv6eC/Y1C9pOd2ibTKy+l4MjwWMdeAB34R80W3JgSuflHBg5HiTj6hyF4D4R6tvj1YW6bIa5LgUnDpLe48a2PfwXHhcZb5/v5dRLwS22+Msnw+YeSHqlsvjfic3q9Wyx8AcyENC7bIPGeP/xAAdEQEBAQACAwEBAAAAAAAAAAABABEhMRAgMFFB/9oACAECAQE/EPVbVqH9t+S+meN+DBaeEE/pA28/BtBtUme8zv7AzHPxwU/3ZIbcEsZib8Gzlq5vwPGbt2vFRJaD76V8lo6nTmH+zSQUIYB74sl5QOpjpDO7bBJwvg2sTM/IGOEo2TPiuUddJJHG0uoTx7h4cqUal0WzyFwRVp4asfA2CWCZwyNAwjbohcu0dbLqSwnXUFkFnMl35sLgtO/Fssss8jzPcx/tpDmI46RwmCH1eLPGjJYSCDgYMPG5B4L/xAAnEAEAAgIBAwQCAwEBAAAAAAABABEhMUFRYXEwgZGhELHB0eFAIP/aAAgBAQABPxD0WVNJQ21MWpzQRdHjgv0gF1+Klf8AKqhjnzSCJ1vAWk88x2ZVhIt5rL+4GDPXT9woGuN0ff8AisRj1NhflGbBXAZbYR8QXn/hzcuBFAHErPXTpHJhK6x3/wBiJuwNQAC+SJcvHUYJJ4pRlBKfcKF9u0lVYlamXsa4A+rqP7qBdnV5IF1DliMG+0zK9Zah81CC9gEzt4DjgEGyK5l0hVwtXKoLZ3mWUNVVlx6lxu2o0wad9Y00CcxgKtWkKgCU7lQ6cxgk9Jctpe8ICclyvXHi0o4AimLgG8H8olw26Vg0RCcsObX2u2Yho5xL6tjV0EI4WYEr5jgwJoaYmoJWO0Ok3eM4jLMrimV1DXb9w7yC4DYxkhQG6MjLPXdImh9z+I7m3PPMJXe8G9x9gwZ5lwNFwxw0eEhghV/LCXZHNxBrXOzZEi1ihqUZjs0+5kscpdMRpYimIujJHZfR8SszY9bSy+TdEvFLE6lHpUpBlbCb12aD7haHdagdAe2Iw2MmEIXw1CggdrqtIvIvIQF5tlZzK5SXEsGWadMIEIzmPiaBBstiPI8nqOvwwc8AJlvUWIVbTceDCMurjK2PaADd4gA0HaBgRUzEsvpLloSlYCVDeJsajLJmh2efqFEOYF/cQMTPWwnF16jr8MB3KNuIyUVnntBqOdfzKB2hAsQgZzB0QriYRW0FUawA5S7OreRiAMOqIbFQUlRh6T+GE1tQ8ZlqdgcxEVhgghcMy8QqMswY0NpctMTNuA4G71FA2ViW+Wdl28YlUok0MC7CG4w9Nl1cR2XjMumJauLacC9QDEA12IecsmcRDZTKs/qLWPWWVhK1mJKajYgHMMWx1mUhRwMXLtZ6W4CBPkSECCtWmyZ4XfReKqGQbEsfVfxY+lCRTAGL4uEC2wutRhfG2jK8y2VEm1Fhh5/mCDQ6W6igHdPSNKkC+ICtZBzQNsURnkz8DMUxcCLWlVpsL7XEQcum+8UVy4t1EDIbG6UvMQbXZLROJXnbXx+D0mM095QdDT3hk4JCM5bjihbsahKhLznwgJFw0PNbit3yOsot3JmWYauI/saOk7kIbrMse4QkS16lSClGoIqtAnm49YVIe8wVmp8EPUYhEjdy+H/YGbh1KiziEZBe5KWfilfA6BKAJogwGFfWVgGpQOIXg4hLcCUBDdhltad6DmA+Pwa9O38WRx01df1HGjuiUCKAkpSUFO7ZVqN2bM9ekOOSws4iJJOjAA5VDu4K5mHIYlxN0UWe8ZcUFDvr6lSvTdflc1bEsZrmeQAu4N2YQqCMwQp1EBa3HU1FA5UgWOvKCAks1GZIVQL0ogFHsNyy0y95j1vISj08DZb/ACoJBtDR6rr/AMFaVBvHCXYOUcJMVjMkfglgxDDWiUJcuxohY3KWq2ZfhKDiL13fzH9grL5mCzqd83Fbzamc5D4qA3n1n8jNSsy9UMH+8ymrARyRxA6U6c3aKQbQoe0SwBzVmpyNwsVSbxGTviX7YXalA0ZjrT9lX8w2QAoDiH/DR4g1WwslxR8r2uZGu+Z1QSoDJMAG6cMM0ashIkE2y4nmBgjGhqMEAwVUEZfMI0s1jmPtgGw5BGxOsN/8C5q4sfzGgOIeJq/OcHVD7l7Q3Q32QwGMPgZcGuicHbtpmAp2sMEa4lcXd1Ni5sFvxjWgLPtCCKK4Awnr+5gG99YOavMfTXErXWPuDYi9BywQzuhVeTD7iqQ34H1H1FalBhU5iIJFa9HtvaIrGNC0/wBSnEHDFN3LjvE2MKPKXINt0e8UW6eR2JgQFo4gwIR7MQRcy6g5EmJ0jjP2+4cVsv8AkGjzOSYUz9TLUP8AyuXNokM48xF7uJ7Wr3g2bEKUOpofMezuWI8XqK0ANqkXBgh7ClN8O37mFmxMQ1gZEoUudAJ/frFPHOcg0OeVwDoxYnuubXo0veYooFig6sC52rQyusbiHsSo2MEVcr/UpNsPXMNFbYpHxBLLWidC9RA1e4d6ahgSM2/S38oQSdHT3IiAeSYIUKrT9bcIKVgAO5tfqKGsxo+7axyLWqT7sSiPO+8dIHUeZxqDREDpA7jZCSoGfAphp24uVgidZfeK1cQYJW3lzBxZ9YhjsLNC68sKFovrPbtCIcKGW60fpFCs56wYrbEqnWWWuZF1UT5iqhYgInUufDcvHCtO7qx+SPvuyI6JEegRt74Pi5mvgp+6NBvd5l2xqKDcSlhkgsqblB1cOarLEtalrwmT9SuAxuNXXUyeIpUMZYSogHKaPaZerL7WVRByazb0xBrQmvFf6YcmAgCioFPSCIQIzqpSeYk5qB26jC9zMsqFVomK1EVdWypVwL4glArTMq3UGwIUN6j6Qg+Hf8QkWzI8RNUxL71tAQz62ktri/PPWO3LhCJgXk7WNQka87h8J0eJQXUO6R2a0ojCKS+WAVaivOo2T3gujMNYlAzW9SlYxO5KU8QVeYVRcWskbZqcBUumdQTPYSjwTVjwvUQihVSOpbY8hmYF8TEW7XIv9D8wqvKPZ240lnmICFg0pPXlb4qURFW9HkOpcpUeblFkZIpgdhb/ABKKNTTH4MmMSxsZklgqHVG04FRPZFbe8swMDKgsIMw2okymaiprWTLHSpxk8RGziIJQAnaEAoyB08kFgKIdeB8wfboCBY4N4KhpIQBhqB3YF3ndZuC2IwbZutbOvMy7OOD5j729Fl/q17TShT8EzdOZRZshcwmAI5lXZKsG05iGzMSpZuG5OnKxyHE4SHSuYDycMuFsxGjG44iWEBw4iWREprfMdC86gPAIS7OT6nT1bylW2zB53Ar3pcjDvdsMMbQbdlOr3+4YxK2blLlHgXd+1xYO4DouPqFxuMKLu45Rvq6mE2HI1MSCIUYlEtuNXSGRbmsuot1KZVMrOhhhTSlRmLyZITFoYfMbMUiSG9zDOGq4FuNq6iFlwVCrBbPcgA0NgcRwS7zCCPM05Vz1+pclVopBGyroVrmBpAyd5o7fJ2dRRZUZvrEq+0o1witYJZTVR4jt7QVRBCA8icVHDEILqUuGjcUfEMMQFDDmsCkAu8zAXeOYrca4gpt0g5jC9+dZ+ozmWKZSS5SHzLHNutZ2iHIXJ0iwdHCaq1L6l46QflPWFOPaqlfjX2pT3MWdNxJ28wWbu4YwYsLZGXO2BOiaVKzmaYn/2Q==');
select * from base64image where id=1

Design Steps: 
1. Drag and drop image component from Palette. 
2. In the properties, open Expression Editor on Image tab and write below expression. 

net.sf.jasperreports.engine.util.JRImageLoader.getInstance(new SimpleJasperReportsContext()).loadAwtImageFromBytes(Base64.getDecoder().decode($F{image_base64}))

3. Save the report and Preview in Studio or Publish and run the report in JasperServer. 


JRXML: Works in 7.8 Pro Studio or later
<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 6.4.21.final using JasperReports Library version 6.4.1 -->
<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="Base64ImageSadakar" pageWidth="595" pageHeight="842" whenNoDataType="AllSectionsNoDetail" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="35e03267-2cbe-4840-a4ed-41342e5a701c">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="foodmart"/>
<property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/>
<property name="ireport.jasperserver.user" value="superuser"/>
<property name="ireport.jasperserver.reportUnit" value="/Explore/Base64ImageSadakar"/>
<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w1" value="420"/>
<property name="com.jaspersoft.studio.property.dataset.dialog.DatasetDialog.sash.w2" value="566"/>
<property name="ireport.jasperserver.report.resource" value="/Explore/Base64ImageSadakar_files/main_jrxml"/>
<queryString language="SQL">
<![CDATA[select * from base64image where id=1]]>
</queryString>
<field name="id" class="java.lang.Integer"/>
<field name="image_base64" class="java.lang.String"/>
<background>
<band splitType="Stretch"/>
</background>
<summary>
<band height="288">
<image scaleImage="FillFrame" isUsingCache="false" evaluationTime="Report">
<reportElement x="0" y="0" width="230" height="250" uuid="66f3d413-a9e1-4510-986b-7b66e323355a"/>
<box>
<pen lineColor="#BBBFBD"/>
<topPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
<leftPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
<bottomPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
<rightPen lineWidth="1.0" lineStyle="Solid" lineColor="#BBBFBD"/>
</box>
<graphicElement fill="Solid"/>
<imageExpression><![CDATA[net.sf.jasperreports.engine.util.JRImageLoader.getInstance(new SimpleJasperReportsContext()).loadAwtImageFromBytes(Base64.getDecoder().decode($F{image_base64}))]]></imageExpression>
</image>
</band>
</summary>
</jasperReport>

References: 

Get Base64 encoding @ https://base64.guru/converter/encode/image


November 29, 2020

November 23, 2020

 In this post, you would learn how to implement a ArcGuage with value displayed with percentage (%) using Fusion Widget Pro - Angular Gauge chart. 

Problem Statement : 
Convert fusion widget "Angular Gauge" chart as "Arc Gauge" with percentage(%) value displayed OR say ArcGauge with progress from 1 to 100%. 

NOTE : Tap on to the images to get the original view of screenshots taken. 

Report Design:

Sample output


Key Implementations: 
1) Max and min values : 1 to 100 
    Once the color ranges applied the graph auto takes the range from 1 to 100 scale 
     


2) Remove Dial & Pointer 
Pointer : Give everything white colored as below to get rid of circular pointer
Dial: Give properties as shown below to get rid of Dial , Navigation : Widget Date > Anular Dials

3) Show Value ,  Font Size , Percentage Symbol 
Show value:  In the advaned properties add showValue=true (although you would have checkbox in the widget general properites. 
Font Size: As shown in below image , navigate to "Widget Configuration" > Common Options > Apply the size and color for value to be displayed as percentage


Percentage Symbol: 
In the advanced properties give numberSuffix="%"

All Advanced properties: 



JRXML : Developed using 7.8.0 professional version of Studio, it should work in same or higher versions. 

<?xml version="1.0" encoding="UTF-8"?>

<!-- Created with Jaspersoft Studio version 7.8.0.final using JasperReports Library version 6.14.0-2ab0d8625be255bf609c78e1181801213e51db8f -->
<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="Angular Gauge Fusion Widget New" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="dcd1c309-22a0-4406-a92a-fcadefb6187c">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="foodmart"/>
<property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/>
<property name="ireport.jasperserver.user" value="superuser"/>
<property name="ireport.jasperserver.report.resource" value="/EarthlySystemsReports/Test/Angular_Gauge_Fusion_Widget_New_files/main_jrxml"/>
<property name="ireport.jasperserver.reportUnit" value="/EarthlySystemsReports/Test/Angular_Gauge_Fusion_Widget_New"/>
<queryString language="SQL">
<![CDATA[select 75 as value from customer limit 1]]>
</queryString>
<field name="value" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="value"/>
<property name="com.jaspersoft.studio.field.label" value="value"/>
</field>
<background>
<band splitType="Stretch"/>
</background>
<summary>
<band height="320" splitType="Stretch">
<componentElement>
<reportElement x="0" y="50" width="268" height="270" uuid="88e7e1c6-5a3a-4830-849e-3b4632885f18"/>
<fw:angularGauge xmlns:fw="http://jaspersoft.com/fusion" xsi:schemaLocation="http://jaspersoft.com/fusion http://jaspersoft.com/schema/fusion.xsd">
<dataset resetType="Report"/>
<fw:dial>
<fw:valueExpression><![CDATA[$F{value}]]></fw:valueExpression>
</fw:dial>
</fw:angularGauge>
</componentElement>
<componentElement>
<reportElement x="290" y="50" width="268" height="270" uuid="8c9b13f3-f9ed-4c98-8962-d9583baac1dd"/>
<fw:angularGauge xmlns:fw="http://jaspersoft.com/fusion" xsi:schemaLocation="http://jaspersoft.com/fusion http://jaspersoft.com/schema/fusion.xsd">
<fw:widgetProperty name="showShadow">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="setAdaptiveMin">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="showTickMarks">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="showLimits">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="showTickValues">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="pivotFillColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="pivotBorderColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="showGaugeBorder">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="pivotFillAlpha">
<fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="pivotFillAngle">
<fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="pivotBorderAlpha">
<fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="gaugeBorderColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="animation">
<fw:propertyExpression><![CDATA[Boolean.FALSE]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="borderColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="baseFontSize">
<fw:propertyExpression><![CDATA[new Integer(35)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="baseFont">
<fw:propertyExpression><![CDATA["Arial Black"]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="baseFontColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-16777216)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="bgColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="showValue">
<fw:propertyExpression><![CDATA[true]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="numberSuffix">
<fw:propertyExpression><![CDATA["%"]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="gaugeInnerRadius">
<fw:propertyExpression><![CDATA[90]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="gaugeBorderAlpha">
<fw:propertyExpression><![CDATA[new Integer(0)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:widgetProperty name="paletteThemeColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:widgetProperty>
<fw:colorRange color="#8CBD2A">
<fw:minValueExpression><![CDATA[new Integer(0)]]></fw:minValueExpression>
<fw:maxValueExpression><![CDATA[$F{value}]]></fw:maxValueExpression>
<fw:labelExpression><![CDATA["green"]]></fw:labelExpression>
</fw:colorRange>
<fw:colorRange color="#E6E6E6">
<fw:minValueExpression><![CDATA[$F{value}]]></fw:minValueExpression>
<fw:maxValueExpression><![CDATA[new Integer(100)]]></fw:maxValueExpression>
<fw:labelExpression><![CDATA["ash"]]></fw:labelExpression>
</fw:colorRange>
<dataset resetType="Report"/>
<fw:dial>
<fw:dialProperty name="borderColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:dialProperty>
<fw:dialProperty name="bgColor">
<fw:propertyExpression><![CDATA[new java.awt.Color(-1)]]></fw:propertyExpression>
</fw:dialProperty>
<fw:valueExpression><![CDATA[$F{value}]]></fw:valueExpression>
</fw:dial>
</fw:angularGauge>
</componentElement>
<textField>
<reportElement x="0" y="10" width="270" height="30" uuid="086f3b75-085a-4088-9c29-5a0f7837ccc8"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Default Angular Gauge"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="290" y="10" width="270" height="30" uuid="3db4bc99-9491-4f9e-b23e-5fcfb90038ac"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="12" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["Angular Gauge As Progress Guage"]]></textFieldExpression>
</textField>
</band>
</summary>
</jasperReport>

November 23, 2020

November 21, 2020

Hi, 
In this post, you would lean how to implement "ArcGuage" HTML-5 chart in jasper reports. 

1.  Drag and Drop "ArcGauge" from HTML-5 charts. 
2. Configure query value or modify existing value for "Measure". 
3. Apply advanced properties for the chart. 

Example Developed on :
7.8 TIBCO Jaspersoft Studio Professional and expect to work on same on higher versions. 
7.8 Enterprise JasperReports Server

Design: 


Output: 


Key implementations: (or Advanced Properties Applied on ArcGuage chart)

1. Format -->75%

plotOptions.solidgauge.dataLabels.format = "{point.y}%"  (Use Expression)



2. fontSize --> 20px
plotOptions.solidgauge.dataLabels.fontSize=20px (with out expression checked)


3.Datalabel.y --> 10
plotOptions.solidgauge.dataLabels.y=10 (with expression checked)


JRXML:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Created with Jaspersoft Studio version 7.8.0.final using JasperReports Library version 6.14.0-2ab0d8625be255bf609c78e1181801213e51db8f -->
<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="GuagueCharts" pageWidth="595" pageHeight="842" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" uuid="f27937b3-0ad1-4a1e-a658-f3719eeec5fa">
<property name="com.jaspersoft.studio.data.sql.tables" value=""/>
<property name="com.jaspersoft.studio.data.defaultdataadapter" value="foodmart"/>
<property name="ireport.jasperserver.url" value="http://localhost:8080/jasperserver-pro/"/>
<property name="ireport.jasperserver.user" value="superuser"/>
<property name="ireport.jasperserver.report.resource" value="/EarthlySystemsReports/GuagueCharts_files/main_jrxml"/>
<property name="ireport.jasperserver.reportUnit" value="/EarthlySystemsReports/GuagueCharts"/>
<queryString language="SQL">
<![CDATA[select 1 as One]]>
</queryString>
<field name="one" class="java.lang.Integer">
<property name="com.jaspersoft.studio.field.name" value="one"/>
<property name="com.jaspersoft.studio.field.label" value="one"/>
</field>
<title>
<band height="433" splitType="Stretch">
<componentElement>
<reportElement x="360" y="130" width="190" height="190" uuid="903e1a78-2f90-4af9-a8fa-5d005b912bc6"/>
<hc:chart xmlns:hc="http://jaspersoft.com/highcharts" xsi:schemaLocation="http://jaspersoft.com/highcharts http://jaspersoft.com/schema/highcharts.xsd" type="ArcGauge" evaluationTime="Report">
<hc:chartSetting name="default">
<hc:chartProperty name="title.text" value=""/>
<hc:chartProperty name="credits.enabled" value="false"/>
<hc:chartProperty name="credits.href" value=""/>
<hc:chartProperty name="credits.text" value=""/>
<hc:chartProperty name="yAxis.title.text" value=""/>
<hc:chartProperty name="chart.zoomType" value="xy"/>
<hc:chartProperty name="yAxis.labels.y">
<hc:propertyExpression><![CDATA[-45]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="colors_customSimpleMode" value="true"/>
<hc:chartProperty name="colors">
<hc:propertyExpression><![CDATA[Arrays.asList("#FFBA2C","#434348","#90ed7d","#f7a35c","#8085e9","#f15c80","#e4d354","#2b908f","#f45b5b","#91e8e1")]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="chart.borderRadius_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
<hc:chartProperty name="chart.borderRadius_customSimpleMode" value="true"/>
<hc:chartProperty name="chart.borderRadius">
<hc:propertyExpression><![CDATA[0]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="chart.borderWidth_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
<hc:chartProperty name="chart.borderWidth_customSimpleMode" value="true"/>
<hc:chartProperty name="chart.borderWidth">
<hc:propertyExpression><![CDATA[0]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="chart.plotBorderWidth_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
<hc:chartProperty name="chart.plotBorderWidth_customSimpleMode" value="true"/>
<hc:chartProperty name="chart.plotBorderWidth">
<hc:propertyExpression><![CDATA[0]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="plotOptions.series.lineWidth_measureUnit" value="{&quot;key&quot;:&quot;px&quot;,&quot;name&quot;:&quot;px&quot;}"/>
<hc:chartProperty name="plotOptions.series.lineWidth_customSimpleMode" value="true"/>
<hc:chartProperty name="plotOptions.series.lineWidth">
<hc:propertyExpression><![CDATA[2]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="plotOptions.solidgauge.rounded_customSimpleMode" value="true"/>
<hc:chartProperty name="plotOptions.solidgauge.rounded">
<hc:propertyExpression><![CDATA[true]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="plotOptions.solidgauge.dataLabels.style.fontSize" value="20px"/>
<hc:chartProperty name="plotOptions.solidgauge.dataLabels.y_customSimpleMode" value="true"/>
<hc:chartProperty name="plotOptions.solidgauge.dataLabels.y">
<hc:propertyExpression><![CDATA[10]]></hc:propertyExpression>
</hc:chartProperty>
<hc:chartProperty name="plotOptions.solidgauge.dataLabels.format">
<hc:propertyExpression><![CDATA[" {point.y} % "]]></hc:propertyExpression>
</hc:chartProperty>
</hc:chartSetting>
<multiAxisData>
<multiAxisDataset>
<dataset resetType="Report"/>
</multiAxisDataset>
<dataAxis axis="Rows">
<axisLevel name="Level1">
<labelExpression><![CDATA["Level Label expression"]]></labelExpression>
<axisLevelBucket class="java.lang.Comparable">
<bucketExpression><![CDATA["Change Me"]]></bucketExpression>
</axisLevelBucket>
</axisLevel>
</dataAxis>
<dataAxis axis="Columns"/>
<multiAxisMeasure name="Measure1" class="java.lang.Number" calculation="Nothing">
<labelExpression><![CDATA["!MEASURE LABEL!"]]></labelExpression>
<valueExpression><![CDATA[new Integer(75)]]></valueExpression>
</multiAxisMeasure>
</multiAxisData>
<hc:series name="Measure1"/>
</hc:chart>
</componentElement>
<componentElement>
<reportElement x="20" y="130" width="190" height="190" uuid="4e9d2f6d-3ed7-432f-b03f-692decdd6abf"/>
<hc:chart xmlns:hc="http://jaspersoft.com/highcharts" xsi:schemaLocation="http://jaspersoft.com/highcharts http://jaspersoft.com/schema/highcharts.xsd" type="ArcGauge" evaluationTime="Report">
<hc:chartSetting name="default">
<hc:chartProperty name="title.text" value=""/>
<hc:chartProperty name="credits.enabled" value="false"/>
<hc:chartProperty name="credits.href" value=""/>
<hc:chartProperty name="credits.text" value=""/>
<hc:chartProperty name="yAxis.title.text" value=""/>
<hc:chartProperty name="chart.zoomType" value="xy"/>
<hc:chartProperty name="com.jaspersoft.studio.highcharts.dataconfiguration.simple" value="true"/>
</hc:chartSetting>
<multiAxisData>
<multiAxisDataset>
<dataset resetType="Report"/>
</multiAxisDataset>
<dataAxis axis="Rows">
<axisLevel name="Level1">
<labelExpression><![CDATA["Level Label expression"]]></labelExpression>
<axisLevelBucket class="java.lang.Comparable">
<bucketExpression><![CDATA["Change Me"]]></bucketExpression>
</axisLevelBucket>
</axisLevel>
</dataAxis>
<multiAxisMeasure name="Measure1" class="java.lang.Number" calculation="Nothing">
<labelExpression><![CDATA["!MEASURE LABEL!"]]></labelExpression>
<valueExpression><![CDATA[new Integer(75)]]></valueExpression>
</multiAxisMeasure>
</multiAxisData>
</hc:chart>
</componentElement>
<textField>
<reportElement x="20" y="25" width="524" height="30" uuid="f7ce943c-5507-4840-b765-50dda242be63"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["ArcGauge Example in Jaspersoft Reports"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="20" y="100" width="190" height="30" uuid="0a91f891-9ee2-40c0-8922-777a80a66441"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["From"]]></textFieldExpression>
</textField>
<textField>
<reportElement x="354" y="100" width="190" height="30" uuid="889ebff8-e786-427d-ac3f-33ae603875b2"/>
<textElement textAlignment="Center" verticalAlignment="Middle">
<font size="14" isBold="true"/>
</textElement>
<textFieldExpression><![CDATA["TO"]]></textFieldExpression>
</textField>
</band>
</title>
</jasperReport>

November 21, 2020

 When you get 6632 error while running a report, most likely below solution works. 

Update security validation property in "security-config.properties"  file @ 

C:\Jaspersoft\jasperreports-server-7.8.0\apache-tomcat\webapps\jasperserver-pro\WEB-INF\classes\esapi

File Name : security-config.properties

Actual :
security.validation.sql.on=false

Update it to false
security.validation.sql.on=true


2020-11-21T19:17:30,322 ERROR AsyncJasperPrintAccessor,pool-7-thread-21:321 - Error during report execution com.jaspersoft.jasperserver.api.JSSecurityException: An error has occurred. Please contact your system administrator. (6632)

Arguments: 

at com.jaspersoft.jasperserver.api.security.validators.Validator.newSecurityException(Validator.java:552)

at com.jaspersoft.jasperserver.api.security.validators.Validator.validateSQL(Validator.java:541)

at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.validateSQL(JRTimezoneJdbcQueryExecuter.java:219)

at com.jaspersoft.jasperserver.api.engine.jasperreports.util.JRTimezoneJdbcQueryExecuter.createDatasource(JRTimezoneJdbcQueryExecuter.java:165)

at com.jaspersoft.commons.util.JSControlledJdbcQueryExecuter.createDatasource(JSControlledJdbcQueryExecuter.java:115)

at net.sf.jasperreports.engine.fill.JRFillDataset.createQueryDatasource(JRFillDataset.java:1257)

at net.sf.jasperreports.engine.fill.JRFillDataset.initDatasource(JRFillDataset.java:726)

at net.sf.jasperreports.engine.fill.JRFillDatasetRun.evaluate(JRFillDatasetRun.java:249)

at net.sf.jasperreports.engine.fill.JRFillElementDataset.evaluateDatasetRun(JRFillElementDataset.java:259)

at net.sf.jasperreports.engine.analytics.dataset.FillMultiAxisDataset.evaluateData(FillMultiAxisDataset.java:115)

at net.sf.jasperreports.engine.analytics.dataset.FillMultiAxisData.evaluate(FillMultiAxisData.java:53)

at com.jaspersoft.jasperreports.highcharts.charts.ChartFillComponent.evaluateChart(ChartFillComponent.java:219)

at com.jaspersoft.jasperreports.highcharts.charts.ChartFillComponent.evaluate(ChartFillComponent.java:198)

at net.sf.jasperreports.engine.fill.JRFillComponentElement.evaluate(JRFillComponentElement.java:110)

at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:383)

at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:548)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummaryNoLastFooterSamePage(JRVerticalFiller.java:1252)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillSummary(JRVerticalFiller.java:1203)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportEnd(JRVerticalFiller.java:299)

at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:117)

at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:621)

at net.sf.jasperreports.engine.fill.BaseFillHandle$ReportFill.run(BaseFillHandle.java:135)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$SynchronousExecutor.execute(EngineServiceImpl.java:959)

at net.sf.jasperreports.engine.fill.BaseFillHandle.startFill(BaseFillHandle.java:181)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$AsynchronousReportFiller.fillReport(EngineServiceImpl.java:910)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1857)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1162)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runReport(EngineServiceImpl.java:1103)

at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:981)

at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

at java.lang.Thread.run(Thread.java:748)


November 21, 2020

November 16, 2020

 Problem Statement: 
 / by zero while exporting report containing table component to PPTX 

What is the bad design finding ? 
Table component having no column header (or column header height =0) causes "/ by zero" error while exporting the report to PPTX 

How it got fixed ? 
Table component for PPTX export report should contain column header included in the design. 

On which version of studio and server this is tested ? 
7.8 Pro Studio report is exported to Enterprise 7.1.0 server

Error Message

/ by zero


Error Trace

net.sf.jasperreports.engine.JRException: / by zero at net.sf.jasperreports.engine.export.ooxml.PptxTableExporter.exportTable(PptxTableExporter.java:627) at net.sf.jasperreports.engine.export.ooxml.JRPptxExporter.exportElements(JRPptxExporter.java:546) at net.sf.jasperreports.engine.export.ooxml.JRPptxExporter.exportPage(JRPptxExporter.java:443) at net.sf.jasperreports.engine.export.ooxml.JRPptxExporter.exportReportToStream(JRPptxExporter.java:397) at net.sf.jasperreports.engine.export.ooxml.JRPptxExporter.exportReport(JRPptxExporter.java:264) at com.jaspersoft.jasperserver.war.action.ReportPptxExporter.export(ReportPptxExporter.java:90) at com.jaspersoft.jasperserver.war.action.AbstractReportExporter.exportBuffered(AbstractReportExporter.java:188) at com.jaspersoft.jasperserver.war.action.AbstractReportExporter.export(AbstractReportExporter.java:96) at com.jaspersoft.jasperserver.war.action.ReportExporterAction.export(ReportExporterAction.java:157) at sun.reflect.GeneratedMethodAccessor1862.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.webflow.action.DispatchMethodInvoker.invoke(DispatchMethodInvoker.java:98) at org.springframework.webflow.action.MultiAction.doExecute(MultiAction.java:123) at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) at org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145) at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) at org.springframework.webflow.action.EvaluateAction.doExecute(EvaluateAction.java:77) at org.springframework.webflow.action.AbstractAction.execute(AbstractAction.java:188) at org.springframework.webflow.execution.AnnotatedAction.execute(AnnotatedAction.java:145) at org.springframework.webflow.execution.ActionExecutor.execute(ActionExecutor.java:51) at org.springframework.webflow.engine.ActionList.execute(ActionList.java:155) at org.springframework.webflow.engine.State.enter(State.java:193) at org.springframework.webflow.engine.Transition.execute(Transition.java:227) at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:393) at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) at org.springframework.webflow.engine.TransitionableState.handleEvent(TransitionableState.java:119) at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:555) at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:388) at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) at org.springframework.webflow.engine.ActionState.doEnter(ActionState.java:105) at org.springframework.webflow.engine.State.enter(State.java:194) at org.springframework.webflow.engine.Transition.execute(Transition.java:227) at org.springframework.webflow.engine.impl.FlowExecutionImpl.execute(FlowExecutionImpl.java:393) at org.springframework.webflow.engine.impl.RequestControlContextImpl.execute(RequestControlContextImpl.java:214) at org.springframework.webflow.engine.Flow.handleEvent(Flow.java:560) at org.springframework.webflow.engine.impl.FlowExecutionImpl.handleEvent(FlowExecutionImpl.java:388) at org.springframework.webflow.engine.impl.RequestControlContextImpl.handleEvent(RequestControlContextImpl.java:210) at org.springframework.webflow.engine.ViewState.handleEvent(ViewState.java:232) at org.springframework.webflow.engine.ViewState.resume(ViewState.java:196) at org.springframework.webflow.engine.Flow.resume(Flow.java:545) at org.springframework.webflow.engine.impl.FlowExecutionImpl.resume(FlowExecutionImpl.java:261) at org.springframework.webflow.executor.FlowExecutorImpl.resumeExecution(FlowExecutorImpl.java:169) at sun.reflect.GeneratedMethodAccessor654.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at org.springframework.security.access.intercept.aopalliance.MethodSecurityInterceptor.invoke(MethodSecurityInterceptor.java:64) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204) at com.sun.proxy.$Proxy140.resumeExecution(Unknown Source) at org.springframework.webflow.mvc.servlet.FlowHandlerAdapter.handle(FlowHandlerAdapter.java:183) at org.springframework.webflow.mvc.servlet.FlowController.handleRequest(FlowController.java:174) at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:933) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:867) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:951) at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:853) at javax.servlet.http.HttpServlet.service(HttpServlet.java:661) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:827) at javax.servlet.http.HttpServlet.service(HttpServlet.java:742) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:106) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.owasp.csrfguard.CsrfGuardFilter.doFilter(CsrfGuardFilter.java:88) at com.jaspersoft.jasperserver.api.security.csrf.JSCsrfGuardFilter.doFilter(JSCsrfGuardFilter.java:69) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.jaspersoft.jasperserver.api.security.csrf.CrossDomainCommunicationFilter.doFilter(CrossDomainCommunicationFilter.java:113) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.jaspersoft.ji.jaxrs.diagnostic.DiagnosticLoggingFilterPRO.doFilter(DiagnosticLoggingFilterPRO.java:41) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at com.jaspersoft.jasperserver.api.security.IPadSupportFilter.doFilter(IPadSupportFilter.java:64) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.war.common.JSSwitchUserProcessingFilter.doFilter(JSSwitchUserProcessingFilter.java:154) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.api.metadata.user.service.impl.MetadataAuthenticationProcessingFilter.doFilter(MetadataAuthenticationProcessingFilter.java:140) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.war.util.RequestParameterAuthenticationFilter.doFilter(RequestParameterAuthenticationFilter.java:96) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.multipleTenancy.MTBasicProcessingFilter.doFilter(MTBasicProcessingFilter.java:192) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:234) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:199) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.ji.license.LicenseCheckFilter.doFilter(LicenseCheckFilter.java:95) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.ji.license.JILicenseFilter.doFilter(JILicenseFilter.java:84) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.war.NullFilter.doFilter(NullFilter.java:40) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.war.UserPreferencesFilter.doFilter(UserPreferencesFilter.java:234) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.api.logging.filter.BasicLoggingFilter.doFilter(BasicLoggingFilter.java:54) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.api.security.WebAppSecurityFilter.doFilter(WebAppSecurityFilter.java:160) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.war.MultipartRequestWrapperFilter.doFilter(MultipartRequestWrapperFilter.java:92) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.war.NullFilter.doFilter(NullFilter.java:40) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at com.jaspersoft.jasperserver.api.security.encryption.EncryptionFilter.doFilter(EncryptionFilter.java:147) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:192) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:160) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.jaspersoft.jasperserver.war.util.SessionDecoratorFilter.doFilter(SessionDecoratorFilter.java:60) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.jaspersoft.jasperserver.war.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:64) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.jaspersoft.jasperserver.war.httpheaders.ResourceHTTPHeadersFilter.doFilter(ResourceHTTPHeadersFilter.java:74) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.jaspersoft.jasperserver.war.SessionXssNonceSetterFilter.doFilter(SessionXssNonceSetterFilter.java:64) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.jaspersoft.jasperserver.war.P3PFilter.doFilter(P3PFilter.java:40) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at com.jaspersoft.jasperserver.war.ProxyUrlFilter.doFilter(ProxyUrlFilter.java:71) at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:343) at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:260) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:198) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:613) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:140) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:81) at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:650) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:87) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:342) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:803) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:790) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1459) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.ArithmeticException: / by zero at net.sf.jasperreports.engine.export.ooxml.PptxTableExporter.init(PptxTableExporter.java:248) at net.sf.jasperreports.engine.export.ooxml.PptxTableExporter.exportTable(PptxTableExporter.java:442) ... 190 more

November 16, 2020

Property : captionFontSize=10

JRXML expression : 

<fc:chartProperty name="captionFontSize">
<fc:propertyExpression><![CDATA[10]]></fc:propertyExpression>
</fc:chartProperty>

Sample: 


References: 
https://www.fusioncharts.com/dev/chart-guide/chart-configurations/fonts

November 16, 2020

August 25, 2020

On a percentage field of BigDecimal type

Display : Red if >0 , Green if <=0   (This uses Style creation for the report)
Display : DTQ text red in color based on another field of boolean type
                        (This uses style tag inside expression)

style tag for red text color  inside text field expression: 

set Markup=styled  on Text field properties , Transparent = Checked

$F{dtq}== true ? "<style forecolor='#F71C19'>DTQ</style>" :($F{max_fixed_cost_change_per}.doubleValue()*100)+"%"

NOTE : tap on the images to view in gallery mode

Style to be applied on the text field --> Style1_max_fixed_cost_change_per
Red color: $F{max_fixed_cost_change_per}.doubleValue()> new Double(0.00)
Green color: $F{max_fixed_cost_change_per}.doubleValue()<= new Double(0.00)


August 25, 2020

Pages

Feedback
randomness