domingo, 31 de maio de 2020

JasperReports JRBeanCollectionDataSource Java Bean Complexos

Vamos direto ao ponto. Quando usamos beans dentro de um JRBeanCollectionDataSource  e como no meu caso apenas linquei a pasta do projeto dentro do Jaspersoft Studio, quando temos um objeto diferente dos padrões do JRE, costumo ter um problema na hora de gerar vamos ver o caso:

Tenho uma Class Chamada Condutor dentro dela tenho vários atributos dentre eles alguns são classes como CidadeIBGE, EstadoIBGE e alguns sao Enuns Status,TipoCondutor, conforme imagem:


É importante ser notado que foi detectado corretamente o Class Type, mas mesmo assim vamos acabar esbarrando no problema das seguintes exceçoes NoClassDefFoundError e ClassNotFoundException durante a tentativa de geraçao do relatório com os dados do bean.

Os Bens selecionados tem os seguintes atributos:

Class CidadeIBGE
Class CidadeIBGE

Class EstadoIBGE

Enum Status

Vou usar o enum como o exemplo pois os demais serão exatamente iguais, tem um unico metodo que me é interessante que se refere a descrição, para que ele funcione corretamente sera necesario modificar algumas informacoes:
  1. Class Type Tem de ser o dado dado final, neste caso sera um java.lang.String.
  2. Em description vamos seguir o padrão Bean como se eu quisesse navegar no objeto ate seus atributos, neste caso ficaria situacao.descricao.
  3. Para realizar essas alterações basta dar dois cliques em uma das linhas que deseje editar


Se existe uma forma  de acessar as propriedades dos beans eu nao consegui encontrar, em fim! fica a dica para quem precisar um dia

Nenhum comentário:

Postar um comentário