| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/02/2012 17:02:05
|
joander.vieira
Entusiasta Java
![[Avatar]](/images/avatar/b55b68e94b896c98a044be0535eacbf8.jpg)
Membro desde: 19/08/2010 20:25:49
Mensagens: 19
Localização: Uberlândia-MG
Offline
|
Boa Tarde,
Estou com problemas para serializar uma lista do tipo GENERIC com o VRAPTOR 3.4, pesquisei muito em vários fóruns e não consegui achar solução
Classe Genérica
Tentei serializar assim:
Da o seguinte exception:
A classe pessoa
tentei sem o generic desse forma, e deu certo.
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 01/02/2012 22:18:34
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
se você usar o .recursive() (sem os includes) funciona?
o problema é que se o tipo é genérico, o <T> some em tempo de execução, daí o vraptor não consegue navegar pelos atributos
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2012 07:24:43
|
joander.vieira
Entusiasta Java
![[Avatar]](/images/avatar/b55b68e94b896c98a044be0535eacbf8.jpg)
Membro desde: 19/08/2010 20:25:49
Mensagens: 19
Localização: Uberlândia-MG
Offline
|
Lucas Cavalcanti wrote:se você usar o .recursive() (sem os includes) funciona?
o problema é que se o tipo é genérico, o <T> some em tempo de execução, daí o vraptor não consegue navegar pelos atributos
Com recursive funciona, mas o problema é que da CircularReferenceException, porque o atributo "elementos" é uma lista de Pessoa e o atributo "elementos.familia.membrosFamilia" também é uma lista de Pessoa.
Para resolver o problema eu tenho que excluir um atributo como abaixo:
Preciso excluir esse atributo:
Mas ai se eu dar um exclude como acima, acontece esse exception :
Lembrando que não é nada com meu atributo membrosFamilia, porque esse mesmo codigo funciona direitinho sem o Generics, mas eu não posso sair criando uma Classe Pager pra cada vez que eu precisar no meu sistema, que no meu caso são muitos.
Como excluir esse atributo da serialização usando o Generics ?
This message was edited 1 time. Last update was at 02/02/2012 07:27:44
|
|
|
 |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 02/02/2012 12:44:01
|
Lucas Cavalcanti
GUJ Hacker
![[Avatar]](/images/avatar/5f6780632f5d27dd0cded5fc9361169e.jpg)
Membro desde: 08/07/2007 00:08:14
Mensagens: 6396
Offline
|
o VRaptor não tem como descobrir qual é esse tipo T em tempo de execução, então ele não consegue incluir ou excluir atributos da classe...
o que vc pode fazer é criar um converter do XStream pra classe que está dando problemas.
se for um atributo complexo, tem um ctx.lookupConverterFor(classe) ou algo do tipo que vc pode usar pra setar o valor.
|
--
Caelum
www.caelum.com.br
 |
|
|
 |
|
|