VRAPTOR 3.4 - JSON - Serializando Lista Generic  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
joander.vieira
Entusiasta Java
[Avatar]

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.



[Email] [MSN]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

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

joander.vieira
Entusiasta Java
[Avatar]

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

[Email] [MSN]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

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

 
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Ir para:   
Powered by JForum 2.1.8 © JForum Team