Não estou conseguindo criar uma conexão javabeans no IREPORT

1 resposta
kenzard

Olá galera estava usando jdbc e enviando parâmetros para o relatório, mas complicou quando comecei a fazer relatórios mais robustos que precisavam de varias informações com diferentes tipos de variaveis, então comecei a estudar javabeans para montar uma Collection e enviar para o relatório. Fiz o seguinte:
1º Classe:

package Beans;

public class Produto {

    private Integer id;
    private String nome;
    private Double preco;

    public Produto(Integer id, String nome, Double preco) {
        this.id = id;
        this.nome = nome;
        this.preco = preco;
    }

    public Integer getId() {
        return id;
    }
    public void setId(Integer id) {
        this.id = id;
    }

    public String getNome() {
        return nome;
    }
    public void setNome(String nome) {
        this.nome = nome;
    }

    public Double getPreco() {
        return preco;
    }
    public void setPreco(Double preco) {
        this.preco = preco;
    }
    
}

2º classe

package Beans;
import java.util.*;
public class ProdutoFactory {
    @SuppressWarnings("unchecked")
    public static Collection geraDb(){
        Vector v = new Vector();
        v.add(new Produto(1,"Chá com Pêssego",1.7));
        v.add(new Produto(2,"Alho Especial Aperitivo",14.59));
        v.add(new Produto(3,"Molho à Bolonhesa",14.50));
        v.add(new Produto(4,"Aceto Italiano Balsamico",25.35));
        v.add(new Produto(5,"Condimento à Base de Peixe",16.20));
        return v;
    }
}

No ireport fui em ferramentas, opções, classpath e adicionei a pasta Beans que é o pacote que se encontra em \TesteBeans\src\Beans , dentro da mesma esta as duas classes Produto.java e ProdutoFactory.java. Depois de configurado o classpath, hora de criar a conexão, fui la em Report DataSources, escolhi JavaBeans set DataSource,em name coloquei Beans, em Factory class informei Beans.ProdutoFactory, marquei Collection of javaBeans e em static method informei o geraDb, quando clico em test aparece uma mensagem de erro informando o seguinte:

ClassNotFoundError!
Msg: Beans.ProdutoFactory
Possible not found class: Beans.ProdutoFactory
Check your classpath.

Estou usando a versão 3.6.1 do ireport e este exemplo foi tirado do livro "Dominando Relatórios JasperReports com Ireport do Edson Gonçalves"
Este é um pequeno exemplo para eu comecar a entender javabeans e não estou conseguindo devido este erro de conexão. Ajuda ae gelera, vlw :wink:

1 Resposta

kenzard

Galera consegui criar a conexão javabeans, é que no classpath tem que adicionar \TesteBeans\build\classes , na pasta src não esta as classes e sim os arquivos .java. Criei o relatório e consigo executar no ireport, ele mostra direitinho a collection geraDb(), mas agora tem um problema, como fazer este relatório rodar da minha aplicação ?

Criado 2 de novembro de 2009
Ultima resposta 2 de nov. de 2009
Respostas 1
Participantes 1