Sobre

Sou formado em Ciências da Computação pela Unifor e atualmente faço Mestrado Profissional em Computação Aplicada na UECE. Trabalho como Analista de Sistemas Sênior na própria UECE, sou certificado OCJP e OCWCD e nos últimos tempos venho desenvolvendo aplicações web com J2EE, mais precisamente utilizando JSF, Hibernate, RichFaces, Facelets, VRaptor e JQuery. Já trabalhei também com Struts, Java Desktop e ASP.
Prezado Pablo,pesquisando no Google achei um tutorial de sua autoria sobre jasperreports em PDF, sou programador C++, atualmente desenvolvo para Linux e Windows em Qt.
Gostaria de saber se é possível integrar o Jasper a um aplicativo não Java, eu faço isso com o Agata Report, que é um aplicativo feito em PHP-Gtk, a API do Agata consiste apenas em um script PHP que pode ser chamado pelo meu aplicativo Qt por uma simples função de chamada ao sistema.
Mas, pelo que eu entendi do Jasper, sua API consiste de classes Java que devem ser integradas a um aplicativo Java, então eu tenho de desenvolver um aplicativo java que chama o arquivo .jasper que eu criei no iRepot, e chamar este aplicativo java pelo meu aplicativo Qt?
Desculpe se parece confuso, na verdade não programo em Java, mas gostaria de poder usar o Jasper porque o iReport é bem mais facil de usar do que o Agata e o Agata parece que foi descontinuado.
Qualquer dica eu agradeço muito.
Rodolfo Ribeiro Machado
Não foi possível realizar o download do fonte do projeto de exemplo: JSF, JasperReport e Ireport. Estou sendo direcionada para outra pagina no momento que solicito o download.
Você pode me ajudar?
–
Olá Juliana. Problema resolvido. Hospedei os arquivos em outro local.
Olá Pablo!
Não sei se vc lembra d mim? Eu participei d uma seleção para programador ai na UECE … e tu até me entrevistou! Lembra?
E ai … como estão os Muppet Babies??
Muitas aventuras por ai???
sim … na verdade, eu queria saber se tu pode me passar teu e-mail?
Abração cara!
Pablo,
Uso Netbeans, Glassfish, IReport e Toplink da Oracle. Não uso Hibernate.
Gerei um relatório através do IReport.
Como faço para chamar o mesmo no Netbeans e passar a conexão através da EntityManager e o List com o conteúdo da consulta.
Quando gerei o relatório através do IReport obtive o arquivo xml gerado pelo Netbeans, sun-resources.xml que tem os parametros de conexão com banco de dados.
Através da opção do IReport XML File DataSource.
public static EntityManager getEntityManager(){
EntityManager createEntityManager = null;
emf = Persistence.createEntityManagerFactory(“LoginPU”);
createEntityManager = emf.createEntityManager();
return createEntityManager;
}
public List findByPermissaoAll(){
List listPermAll = new ArrayList();
EntityManager emlistPermAll = null;
emlistPermAll = EntidadeManager.getEntityManager();
javax.persistence.Query q = emlistPermAll.createNamedQuery(“Permissao.findAll”);
listPermAll = q.getResultList();
return listPermAll;
}
Minha duvida maior é com a conexão. Faço um Pool através do JPA.
Desculpe o incomodo.
Agradeço qualquer ajuda.
Usei o seu tutorial mas estou enrolado quanto a passagem da conexão, uma vez
que não faço a mesma através de JDBC.
Abraços,
Antonio Sergio
Prezado Antônio Sérgio,
Quando se passa um List para o JasperReports, não é necessário passar também uma Connection. No seu caso, o que deve ser feito é o seguinte:
1. Instanciar um novo JRBeanCollectionDataSouce encapsulando o List:
JRBeanCollectionDataSource dataSource = new JRBeanCollectionDataSource(findByPermissaoAll());
2. Gerar o relatório chamando o método fillReport que passa o DataSource que você possui:
JasperPrint print = JasperFillManager.fillReport(jasperReport, parametros, dataSource);
Pronto, no seu relatório basta mapear os atributos da entidade com os fields e pronto, seu relatório será preenchido.
Uma outra opção, seria passar a própria classe EntityManager como um parâmetro para o relatório. O próprio iReport já vem com essa opção. O nome do parâmetro é JPA_ENTITY_MANAGER. Nesse caso você usaria esse EntityManager para realizar a conexão com o banco e efetuar sua pesquisa, mas não precisaria passar o ArrayList, apenas configurar a consulta SQL no iReport que ele iria fazer. Ficaria assim:
1. Pegar o objeto EntityManager a armazenar como parâmetro:
Map parametros= new HashMap();
parametros.put(“JPA_ENTITY_MANAGER”, getEntityManager());
2. Gerar o relatório chamando o método fillReport que passa apenas o JasperReport e os parâmetros:
JasperPrint print = JasperFillManager.fillReport(jasperReport, parametros);
Um abraço,
Pablo.
Boa tarde Pablo,
Analisei o post sobre restfaces que vc deixou e achei muito interessante. Porém não estou conseguindo baixar o jar do restfaces por meio do caminho que vc deixou: https://restfaces.dev.java.net.
Poderia verificar por favor, e se realmente não coseguir baixar os pacotes, poderia me passar por email ou outro link?
Obrigado
Prezado Carlos,
Parece que o site está com problemas. Baixe de um repositório do Maven. Aqui tem um deles
Abraço,
Pablo.
Oi Pablo tudo bem?
Então, eu sou desenvolvedor jr, cursando Sistemas de Informação na UFAM e estou começando a desenvolver em JSF e Spring, será que tem como voce me ajudar sobre como implementar um converter e validatordo JSF, sou iniciante na area.
Olá Gustavo,
Posso te ajudar sim. Você quer um converter e um validator para o que?
Aguardo resposta.
Pablo.
gostaria de entender a logica do validator, entrei com outra duvida agora “/
voce poderia me add no gtalk?
gustavoconsentini@gmail.com
Olá Pablo tudo bem contigo?
Estou iniciando com o iReport e tenho duas duvidas:
1. Tenho uma aplicação JSF, instalei o plugin do iReport no Netbeans 7.0.1 e utilizo pool de conexão com o Tomcat, é possivel utilizar o Pool em tempo de desenvolvimento?
2. Eu utilizo Hibernate e uso nativeQuery para executar os meus selects, como eu faria isso no iReport?
Desde já agradeço qualquer ajuda.
Abraços
Jomello
Não há problemas em usar pool de conexões em tempo de desenvolvimento. Apenas sugiro que não use apontando para o banco de produção para não concorrer com os sistemas. Na verdade o banco de produção deve ser acessado apenas pelo servidor de produção.
Sobre o Hibernate, até onde sei, dá para usar HQL como consulta, mas nunca testei, nem sei como faz. Vou tentar ver se descubro algum material para você e retorno.
Abraço.