Planet Jaspersoft

Filter by tags:

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, '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');
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

August 20, 2020

 Hi, 

Scenario : 
When there are the following configured for a HTML-5 scatter plot, 
1) Category Level 
          Expression = $V{REPORT_COUNT}
          Label Expression = " "
2) Series Level 
          Expression = ""
          Label Expression = ""

3)  Measures
        $F{Measure1}
       
 $F{Measure1}

And when the Legend > Show Legend = true in the Chart Formatting 
the vizz. always brings "Measure1" as  legend for visualization and this looks unexpected/unwanted. 

Solution: 
In such cases, if you want to have a custom legend to be shown for the vizz., it can be configured in chart's advanced property as shown in below images. 

series.name="Adjusted Rate"

Tap on to the image for best view in gallery mode: 


Tap on to the image for best view in gallery mode: 


Sample output vizz. 

Tap on to the image for best view in gallery mode: 


- Sadakar Pochampalli

August 20, 2020

Pages

Feedback