Pavel Janicek
Pavel Janicek

Reputation: 14738

Cannot retreive JasperReports properties from jrxml file

I followed example from this wiki article:

Example 1, a value specified in your jasperreports.properties file:

[CDATA[new String (net.sf.jasperreports.engine.util.JRProperties.getProperty("net.sf.jasperreports.band.split.type"))]]

So I defined my variable:

<variable name="CrucialProperty" class="java.lang.String" resetType="Report" calculation="Nothing">
        <initialValueExpression><![CDATA[new String (net.sf.jasperreports.engine.util.JRProperties.getProperty("net.sf.jasperreports.extension.simple.font.families.dejavu"))]]></initialValueExpression>
        <variableExpression><![CDATA[new String (net.sf.jasperreports.engine.util.JRProperties.getProperty("net.sf.jasperreports.extension.simple.font.families.dejavu"))]]></variableExpression>
</variable>

However, when trying to publish such jrxml, I get this error:

07-31-18:13:16:15 [http-/0.0.0.0:8080-5] ERROR [ReportingServlet:paveljanicek] Problem processing servlet: net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file:
1. net.sf.jasperreports.engine.util.JRProperties cannot be resolved to a type
                value = new String (net.sf.jasperreports.engine.util.JRProperties.getProperty("net.sf.jasperreports.extension.simple.font.families.dejavu")); //$JR_EXPR_ID=13$
                                    <------------------------------------------->
2. net.sf.jasperreports.engine.util.JRProperties cannot be resolved to a type
                value = new String (net.sf.jasperreports.engine.util.JRProperties.getProperty("net.sf.jasperreports.extension.simple.font.families.dejavu")); //$JR_EXPR_ID=14$
                                    <------------------------------------------->
3. net.sf.jasperreports.engine.util.JRProperties cannot be resolved to a type
                value = new String (net.sf.jasperreports.engine.util.JRProperties.getProperty("net.sf.jasperreports.extension.simple.font.families.dejavu")); //$JR_EXPR_ID=13$
                                    <------------------------------------------->
4. net.sf.jasperreports.engine.util.JRProperties cannot be resolved to a type
                value = new String (net.sf.jasperreports.engine.util.JRProperties.getProperty("net.sf.jasperreports.extension.simple.font.families.dejavu")); //$JR_EXPR_ID=14$
                                    <------------------------------------------->
5. net.sf.jasperreports.engine.util.JRProperties cannot be resolved to a type
                value = new String (net.sf.jasperreports.engine.util.JRProperties.getProperty("net.sf.jasperreports.extension.simple.font.families.dejavu")); //$JR_EXPR_ID=13$
                                    <------------------------------------------->
6. net.sf.jasperreports.engine.util.JRProperties cannot be resolved to a type
                value = new String (net.sf.jasperreports.engine.util.JRProperties.getProperty("net.sf.jasperreports.extension.simple.font.families.dejavu")); //$JR_EXPR_ID=14$
                                    <------------------------------------------->
6 errors
.

I tried to even import the utils at the beginning of jrxml file:

<import value="net.sf.jasperreports.engine.util.*" />

but nothing changed, jrxml cannot be published. What am I doing wrong?

Upvotes: 2

Views: 650

Answers (1)

Narcis
Narcis

Reputation: 2511

The net.sf.jasperreports.engine.util.JRProperties class was deprecated for a long time and removed over two years ago, in version 6.2.2, if I recall correctly.

Instead, try:

net.sf.jasperreports.engine.JRPropertiesUtil.getInstance(
  $P{JASPER_REPORTS_CONTEXT}).getProperty(
    "net.sf.jasperreports.band.split.type")

Upvotes: 2

Related Questions