javasf@googlegroups.com
[Top] [All Lists]

Re: [javasf] ConvertEntity Seam Error:o valor não é válido

Subject: Re: [javasf] ConvertEntity Seam Error:o valor não é válido
From: thiago araujo
Date: Wed, 27 Oct 2010 16:47:12 -0300
Tem um discução na thead do fórum do seam, mas não tá claro... como de fato foi resolvido.
http://seamframework.org/Community/EntityConverterValueIsNotValid

2010/10/27 thiago araujo <thiagok2@xxxxxxxxx>
O erro tem haver com o seguinte:

Quando seleciono na lista alguma entidade que está de alguma forma relacionada a instancia q esta com a nova propriedade da o erro. Isto é, se já há outra instancia na sessão e ela eh selecionada na lista da problema. Por exemplo, basta apenas eu selecionar o usuário logado na lista que acontece o erro.

Não sei como evitar isso já que implementei o equals e hashcode. Provavelmente tenho que configurar algo na sessão, ter outro entityManager... coisa parecida.


2010/10/27 thiago araujo <thiagok2@xxxxxxxxx>
Rafael

Coloquei a consulta em um componente no escopo de aplicação... mas nãi funcionou.

Jair
Segue o código do equals e hashcode...
Como disse gerado pelo eclipse...

@Override
    public int hashCode() {
        final int prime = 31;
        int result = 1;
        result = prime * result + ((ativo == null) ? 0 : ativo.hashCode());
        result = prime * result
                + ((dataCadastro == null) ? 0 : dataCadastro.hashCode());
        result = prime * result + ((ddd == null) ? 0 : ddd.hashCode());
        result = prime * result + ((email == null) ? 0 : email.hashCode());
        result = prime * result + ((id == null) ? 0 : id.hashCode());
        result = prime * result + ((login == null) ? 0 : login.hashCode());
        result = prime * result + ((nome == null) ? 0 : nome.hashCode());
        result = prime * result + ((senha == null) ? 0 : senha.hashCode());
        result = prime * result
                + ((telefone == null) ? 0 : telefone.hashCode());
        result = prime * result + ((tipo == null) ? 0 : tipo.hashCode());
        return result;
    }

    @Override
    public boolean equals(Object obj) {
        if (this == obj)
            return true;
        if (obj == null)
            return false;
        if (getClass() != obj.getClass())
            return false;
        Usuario other = (Usuario) obj;
        if (ativo == null) {
            if (other.ativo != null)
                return false;
        } else if (!ativo.equals(other.ativo))
            return false;
        if (dataCadastro == null) {
            if (other.dataCadastro != null)
                return false;
        } else if (!dataCadastro.equals(other.dataCadastro))
            return false;
        if (ddd == null) {
            if (other.ddd != null)
                return false;
        } else if (!ddd.equals(other.ddd))
            return false;
        if (email == null) {
            if (other.email != null)
                return false;
        } else if (!email.equals(other.email))
            return false;
        if (id == null) {
            if (other.id != null)
                return false;
        } else if (!id.equals(other.id))
            return false;
        if (login == null) {
            if (other.login != null)
                return false;
        } else if (!login.equals(other.login))
            return false;
        if (nome == null) {
            if (other.nome != null)
                return false;
        } else if (!nome.equals(other.nome))
            return false;
        if (senha == null) {
            if (other.senha != null)
                return false;
        } else if (!senha.equals(other.senha))
            return false;
        if (telefone == null) {
            if (other.telefone != null)
                return false;
        } else if (!telefone.equals(other.telefone))
            return false;
        if (tipo == null) {
            if (other.tipo != null)
                return false;
        } else if (!tipo.equals(other.tipo))
            return false;
        return true;
    }

2010/10/27 Jair Domingues <jairsyonet@xxxxxxxxx>

Ola ...

Voce pode postar a implementacao do metodo equals das suas entidades?

[]s
jair


Em 27 de outubro de 2010 17:07, Rafael Ponte <rponte@xxxxxxxxx> escreveu:

Thiago,

Normalmente esse erro ocorre devido a identidade da entidade ou escopo conversacional muito curto da lista de opções que está sendo iterada.

2010/10/27 thiago araujo <thiagok2@xxxxxxxxx>

Pessoal,

No seguinte cenário...

<xthml>
               <h:selectOneMenu id="selectTecnico_" value="#{visitaHome.tecnico}">
                    <s:selectItems var="tec"
                        value="#{visitaHome.visitadores}"     label="#{tec.nome}" />
                    <s:convertEntity />
                </h:selectOneMenu>
</xhtml>

A classe tecnico é uma Entity que tem implementado o equals e hashcode por sugestão do eclipse. O visitaHome tem o escopo
default e é um EntityHome. Uso o seam 2.2 e já venho usando a dois anos a segunda versão, nunca havia me deparado com esse problema.

O trecho acima dá erro de validação. Já tentei diversas alternativas mas não resolvi. Então gostaria da colaboração de vocês.

vlw galera
--
Thiago Araújo

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Rafael Ponte
http://www.rponte.com.br

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Jair Domingues - jairsyonet@xxxxxxxxx

51-3632-4543
51-8209-1593



--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil



--
Thiago Araújo



--
Thiago Araújo



--
Thiago Araújo

--
Você recebeu esta mensagem por que é membro do Javasf
http://groups.google.com/group/javasf
 
Conheça também o Java Brazil: http://groups.google.com/group/thejavabrazil
<Prev in Thread] Current Thread [Next in Thread>