[Resolvido]I-report - Parâmetro Boolean

4 respostas
A

Prezados,

Tudo bem?

Estou com um problema,

Preciso “negar”, no I-report, um parâmetro boolean (parâmetros IS_IGNORE_PAGINATION).

Então, no print when expression do meu fied, eu coloco

!($P{IS_IGNORE_PAGINATION})

Beleza, o símbolo ! em java é o “not” certo?

Funcionou perfeitamente no cpu de um amigo meu, porém, no meu, os seguintes erros são gerados:

(compilando no I-report)

Compiling to file… .\BalanceteDiarioPaisagem.jasper -> C:\Arquivos de programas\JasperSoft\iReport-1.2.2\BalanceteDiarioPaisagem.java
Errors compiling .\BalanceteDiarioPaisagem.jasper!
it.businesslogic.ireport.ReportClassLoader@1fe910c net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. The operator ! is undefined for the argument type(s) Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()))); <-----------------------------------------------------------------> 2. The operator ! is undefined for the argument type(s) Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()))); <-----------------------------------------------------------------> 3. The operator ! is undefined for the argument type(s) Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()))); <-----------------------------------------------------------------> 4. The operator ! is undefined for the argument type(s) Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()))); <-----------------------------------------------------------------> 5. The operator ! is undefined for the argument type(s) Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()))); <-----------------------------------------------------------------> 6. The operator ! is undefined for the argument type(s) Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()))); <-----------------------------------------------------------------> 6 errors


Coloquei exatamente a mesma expressão no outro cpu e funcionou perfeitamente… compilou normal…

Alguém tem alguma idéia?

Agradeço antecipadamente.

ps: As versões do ireport são exatamente as mesmas (1.2.2)

4 Respostas

A

repare que quando ele tenta fazer a negação utilizando ! está sendo aplicado na classe Wrapper Boolean e não no tipo primitivo boolean, para corrigir o problema você pode utilizar o seu código da seguinte maneira:

!($P{IS_IGNORE_PAGINATION}.booleanValue())
A

Os erros mudaram quando fiz isso… engraçado ter funcionado em outra máquina…

seguem:

it.businesslogic.ireport.ReportClassLoader@1fd9cd5 net.sf.jasperreports.engine.JRException: Errors were encountered when compiling report expressions class file: 1. Cannot cast from boolean to Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()).booleanValue())); <---------------------------------------------------------------------------------------------------> 2. Cannot cast from boolean to Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()).booleanValue())); <---------------------------------------------------------------------------------------------------> 3. Cannot cast from boolean to Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()).booleanValue())); <---------------------------------------------------------------------------------------------------> 4. Cannot cast from boolean to Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()).booleanValue())); <---------------------------------------------------------------------------------------------------> 5. Cannot cast from boolean to Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()).booleanValue())); <---------------------------------------------------------------------------------------------------> 6. Cannot cast from boolean to Boolean value = (java.lang.Boolean)(!(((java.lang.Boolean)parameter_IS_IGNORE_PAGINATION.getValue()).booleanValue())); <---------------------------------------------------------------------------------------------------> 6 errors

Obrigado…

A

Tenta fazer isso

new Boolean(!($P{IS_IGNORE_PAGINATION}.booleanValue()))

pois na verdade ele espera um objeto do tipo Boolean e não o tipo primitivo boolean.

[]'s

A

Cara… valeu…

Funcionando perfeitamente…

O que mais me intriga é ter funcionado, daquela maneira, no outro…

Não tenho a mínima idéia do porque…

Valeu cara…

Abraços.

Criado 29 de junho de 2006
Ultima resposta 29 de jun. de 2006
Respostas 4
Participantes 2