Pessoal, criei um DataSource próprio para o Jasper (do original do Jasper que processar XML é muito lento), com isso preciso agora fazer o iReport também enxergar para conseguir utiliza-lo corretamente.
Vi que o iReport ao criar uma nova conexão para um arquivo XML ele aponta para:
Já tenho um classe desenvolvida para trabalhar da forma da original, porém não sei como fazer o iReport utiliza-la ao criar uma nova conexão para um arquivo XML qualquer. Alguém já fez ou sabe como fazer isso?
hehehe, não é tão revolucionária assim, somente mais rápida, mas sim, a versão original (que serve para meu ERP Java gerar o relatório em si) não, mas agora estou montando uma nova que extende JRXMLDataSourceConnection.
E fiquei na dúvida em como definir o iReport para trabalhar com ela.
Como os métodos que permitem gerar os relatórios recebem a JRXMLDataSourceConnection, provavelmente consiga trabalhar com as suas subclasses. Porém, será necessário sobrescrever os métodos adequados para ter o resultado esperado.
Ok, vlw pela ajuda, estou finalizando e vou testar, o problema agora vai ficar em como deixar o nome do arquivo XML que será a fontes de dados ser dinâmico…
Problema? Esse arquivo será lido pelo novo XMLDataSource ou virá como parâmetro da aplicação mesmo?[/quote]
É que eu queria deixar tipo o XML DataSource padrão do iReport, o desenvolvedor iria inserir o path do seu arquivo XML de dados, realmente esta seria a situação ideal para o meu caso.
O problema é que gerei um pequeno App que vai ler o XML, gerar um dataSource (com a classe custom que fiz) e enviar para o Jasper gerar o relatório, isso já está funcionando bem.
A principio um Bean complica, pois tenho N sistemas diferentes que enviam XML de dados para o meu App Java e nem todos eles são em Java.
Meu maior problema agora é que dentro do iReport que fazemos o design dos relatórios não tem mais como fazer o Preview, pois dentro do subReport que criamos já enviamos o link para a minha classe custom do dataSource e como a raiz é instanciada pela classe “padrão do Jasper” dá problema de CAST (óbvio).
Por isso estou tentando fazer o iReport entender que ele tem que abandonar o método antigo e instanciar a minha custom DataSource.