CPF Converter....não estou achando o meu erro

3 respostas
vinihds

Boa noite galera…td tranquilo ?

Eu já achei alguns exemplos de de CPF Converter mas nao to conseguindo por para funcionar. Toda vez que rodo minha classe gerabanco acontece o seguinte erro: Exception in thread “main” org.hibernate.MappingException: Could not determine type for: br.com.gerenciadeprojetos.converter.CPF, for columns: [org.hibernate.mapping.Column(cpf)]

Vou colar td o que eu fiz:

import java.util.regex.Pattern;

import javax.faces.application.FacesMessage;

import javax.faces.component.UIComponent;

import javax.faces.context.FacesContext;

import javax.faces.convert.Converter;

import javax.faces.convert.ConverterException;
public class CPFConverter implements Converter {

// mascara para CPF XXX.XXX.XXX-00

private static Pattern pattern = Pattern

.compile("[0-9]{3}\.[0-9]{3}\.[0-9]{3}-[0-9]{2}");
public Object getAsObject(FacesContext context, UIComponent componente,
		String valor) {
	System.out.println("gfhf");
	if (pattern.matcher(valor).find()) {
		CPF cpf = new CPF();
		cpf.setCpf(valor);
		return cpf;
	}
	throw new ConverterException(new FacesMessage(
			"Nao foi possivel converter"));
}

public String getAsString(FacesContext context, UIComponent componente,
		Object cpf) {
	return ((CPF) cpf).getCpf();
}

}

public class CPF {
private String cpf;

public void setCpf(String cpf) {
	this.cpf = cpf;
}

public String getCpf() {
	return cpf;
}

}

/*

  • To change this template, choose Tools | Templates
  • and open the template in the editor.
    */
    package br.com.gerenciadeprojetos.pojo;
import br.com.gerenciadeprojetos.converter.CPF;

import java.io.Serializable;

import javax.persistence.Entity;

import javax.persistence.GeneratedValue;

import javax.persistence.Id;

import javax.persistence.SequenceGenerator;

/**
*

  • @author root
    
    */
    
    @Entity
    
    @SequenceGenerator(name=sequence,sequenceName=pessoa_sequence)
    
    public class Pessoa implements Serializable {
    
    @Id
    
    @GeneratedValue(generator=sequence)
    
    private Long Id;
    
    private String senha;
    
    private String usuario;
    
    private String nome;
    
    //private String cpf;
    
    private String rg;
    
    private String celular;
    
    private String telefone;
    
    private String rua;
    
    private Long numero;
    
    private String complemento;
    
    private CPF cpf;
    
    public String getRua() {
    
    return rua;
    
    }
    
    public void setRua(String rua) {
    
    this.rua = rua;
    
    }
    
    public Long getNumero() {
    
    return numero;
    
    }
    
    public void setNumero(Long numero) {
    
    this.numero = numero;
    
    }
    
    public String getComplemento() {
    
    return complemento;
    
    }
    
    public void setComplemento(String complemento) {
    
    this.complemento = complemento;
    
    }
    
    public Long getId() {
    
    return Id;
    
    }
    
    public void setId(Long Id) {
    
    this.Id = Id;
    
    }
    
    public String getSenha() {
    
    return senha;
    
    }
    
    public void setSenha(String senha) {
    
    this.senha = senha;
    
    }
    
    public String getUsuario() {
    
    return usuario;
    
    }
    
    public void setUsuario(String usuario) {
    
    this.usuario = usuario;
    
    }
    
    public String getNome() {
    
    return nome;
    
    }
    
    public void setNome(String nome) {
    
    this.nome = nome;
    
    }
    
    public String getRg() {
    
    return rg;
    
    }
    
    public void setRg(String rg) {
    
    this.rg = rg;
    
    }
    
    public String getCelular() {
    
    return celular;
    
    }
    
    public void setCelular(String celular) {
    
    this.celular = celular;
    
    }
    
    public String getTelefone() {
    
    return telefone;
    
    }
    
    public void setTelefone(String telefone) {
    
    this.telefone = telefone;
    
    }
    
    /*public String getCpf() {
    
    return cpf;
    
    }
    
    public void setCpf(String cpf) {
    
    this.cpf = cpf;
    
    }*/
    
    public CPF getCpf() {
    
    return cpf;
    
    }
    
    public void setCpf(CPF cpf) {
    
    this.cpf = cpf;
    
    }
    
    }
    
public class GeraBanco {

public static void main(String args[]){

AnnotationConfiguration configuracao=new AnnotationConfiguration();

configuracao.configure();

SchemaExport se=new SchemaExport(configuracao);

se.create(true,true);

}

}

<?xml version='1.0' encoding='UTF-8'?>



messages

<managed-bean>
    <managed-bean-name>pessoacontroller</managed-bean-name>
    <managed-bean-class>br.com.gerenciadeprojetos.controller.PessoaController</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
    <managed-bean-name>autenticador</managed-bean-name>
    <managed-bean-class>br.com.gerenciadeprojetos.login.LoginHandler</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
    <managed-bean-name>teste</managed-bean-name>
    <managed-bean-class>br.com.gerenciadeprojetos.banco.Teste</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<managed-bean>
    <managed-bean-name>pessoas</managed-bean-name>
    <managed-bean-class>br.com.gerenciadeprojetos.pojo.Pessoa</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
</managed-bean>
<lifecycle>
    <phase-listener>br.com.gerenciadeprojetos.login.Autorizador</phase-listener>
</lifecycle>
<navigation-rule>
    <navigation-case>
        <from-outcome>login</from-outcome>
        <to-view-id>/login.jsp</to-view-id>
    </navigation-case>
</navigation-rule>
<navigation-rule>
    <navigation-case>
        <from-outcome>index</from-outcome>
        <to-view-id>/index.jsp</to-view-id>
    </navigation-case>
</navigation-rule>
<navigation-rule>
    <from-view-id>/login.jsp</from-view-id>
    <navigation-case>
        <from-outcome>logado</from-outcome>
        <to-view-id>/index.jsp</to-view-id>
    </navigation-case>
</navigation-rule>
<navigation-rule>
    <from-view-id>/index.jsp</from-view-id>
    <navigation-case>
        <from-outcome>pessoa</from-outcome>
        <to-view-id>/pessoa/cadastropessoa.jsp</to-view-id>
    </navigation-case>
</navigation-rule>
<converter>
    <converter-for-class>br.com.gerenciadeprojetos.converter.CPF</converter-for-class>
    <converter-class>br.com.gerenciadeprojetos.converter.CPFConverter</converter-class>
</converter>

<%–
Document : cadastropessoa
Created on : 08/08/2009, 14:42:15
Author : root
–%>

<%@taglib uri=“http://java.sun.com/jsf/core” prefix=“f”%>
<%@taglib uri=“http://java.sun.com/jsf/html” prefix=“h”%>
<%@taglib uri=“http://richfaces.org/a4j” prefix=“a4j”%>
<%@taglib uri=“http://richfaces.org/rich” prefix=“rich”%>

<%@page contentType=“text/html” pageEncoding=“UTF-8”%>

Gerenciador de projeto
<f:facet name="header">
                <h:outputText value="Cadastro de Pessoas - Gerenciador de Projetos"/>
            </f:facet>
            <rich:panel>

                <f:facet name="header">
                    <h:outputText value="Pessoas"/>
                </f:facet>

                <h:panelGrid columns="4">
                    <h:outputText value="Nome: "/>
                    <h:inputText value="#{pessoacontroller.pessoa.nome}" id="nome" required="true" >
                        <f:validateLength minimum="3" maximum="50" />
                    </h:inputText>
                    <h:outputText value="RG: "/>
                    <h:inputText value="#{pessoacontroller.pessoa.rg}" id="rg" required="true"  />
                    <h:outputText value="CPF: "/>
                    <h:inputText value="#{pessoacontroller.pessoa.cpf}" id="cpf" >
                        <f:converter converterId="br.com.gerenciadeprojetos.converter." />
                    </h:inputText>
                    <h:outputText value="Celular: "/>
                    <h:inputText value="#{pessoacontroller.pessoa.celular}"/>
                    <h:outputText value="Telefone: "/>
                    <h:inputText value="#{pessoacontroller.pessoa.telefone}"/>
                    <h:outputText value="Rua: "/>
                    <h:inputText value="#{pessoacontroller.pessoa.rua}"/>
                    <h:outputText value="Complemento: "/>
                    <h:inputText value="#{pessoacontroller.pessoa.complemento}"/>
                    <h:outputText value="Numero: "/>
                    <h:inputText value="#{pessoacontroller.pessoa.numero}"/>
                    <h:outputText value="Usuário:"/>
                    <h:inputText value="#{pessoacontroller.pessoa.usuario}"/>
                    <h:outputText value="Senha:"/>
                    <h:inputSecret value="#{pessoacontroller.pessoa.senha}"/>


                </h:panelGrid>
                <a4j:commandButton value="Gravar" action="#{pessoacontroller.salvar}"
                                   reRender="listapessoaajax,cadastroajax"  />


                <%--
                    <h:commandButton value="Gravar" action="#{pessoacontroller.salvar}"  />
                    --%>
                <h:commandButton value="Menu" action="index"  />
                <h:message for="nome"  />
                <h:message for="rg" />
                <h:message for="cpf" />
            </rich:panel>
            <rich:panel id="listapessoaajax">
                <f:facet name="header">
                    <h:outputText value="Lista de Pessoas"/>
                </f:facet>
                <rich:dataTable value="#{pessoacontroller.listPessoa}" var="lista"
                                rendered="#{not empty pessoacontroller.listPessoa}" border="1">
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Id"></h:outputText>
                        </f:facet>
                        <h:outputText value="#{lista.id}"></h:outputText>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Nome"></h:outputText>
                        </f:facet>
                        <h:outputText value="#{lista.nome}"></h:outputText>
                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="RG"></h:outputText>
                        </f:facet>
                        <h:outputText value="#{lista.rg}"></h:outputText>
                    </h:column>
                    <%--
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="CPF"></h:outputText>
                        </f:facet>
                        <h:outputText value="#{lista.cpf}"></h:outputText>
                    </h:column>
                    --%>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Alterar"></h:outputText>
                        </f:facet>
                        <h:commandLink actionListener="#{pessoacontroller.escolherPessoa}"
                                       value="Alterar" immediate="true" >
                            <f:param id="id_alterar" name="id_alterar" value="#{lista.id}" ></f:param>
                        </h:commandLink>

                    </h:column>
                    <h:column>
                        <f:facet name="header">
                            <h:outputText value="Excluir"></h:outputText>
                        </f:facet>
                        <h:commandLink actionListener="#{pessoacontroller.excluir}"
                                       value="Excluir" >
                            <f:param id="id_excluir" name="id_excluir" value="#{lista.id}" ></f:param>
                        </h:commandLink>
                    </h:column>
                </rich:dataTable>
                <%--
                <jsp:include page="listapessoa.jsp" />
                --%>
            </rich:panel>
        </rich:panel>


        <br/>
    </h:form>
</f:view>

3 Respostas

R

ei vini,

esse caminho no faces-config esta certo:? br.com.gerenciadeprojetos.converter.CPF

to em duvida nessa linha aqui tb<f:converter converterId=“br.com.gerenciadeprojetos.converter.” />

vinihds

Entao cara…nem a minha classe gera banco ta funcionando…por isso nem sei se a minha configuração no XML ta certa…

R

hei ta fucando aqui…o o problema ta na relacao com a classe CPF, mas não consegui entende o pq do erro…aqui retirei a relacao e a classe GeraBanco executo perfeitamente…

Criado 10 de agosto de 2009
Ultima resposta 11 de ago. de 2009
Respostas 3
Participantes 2