Serialização Includes de collections Vraptor3  XML
Índice dos Fóruns » Frameworks e Bibliotecas brasileiros
Autor Mensagem
mario.fts
GUJ Ranger
[Avatar]

Membro desde: 14/05/2008 09:41:06
Mensagens: 817
Localização: São Paulo - ZL
Offline

Bom dia

Existe alguma maneira de excluir/incluir campos em uma collection dentro de um wrapper, na serialização do Vraptor? To fazendo isso pra não ter que ficar serializando na mão pra exibir dentro de uma grid do extjs.

Exemplo:


código no controller:


Desse jeito não funciona, testei colocando "rows.nomePrincipal" e tbm não foi. Pra resolver momentaneamente eu criei uma classe ClienteView, só com os campos q eu quero mostrar, mas isso não vai funcionar se cada tela exibir campos diferentes, vou ter que ficar criando vários ClienteView, e não quero ficar fazendo isso.

Sugestões?

[]'s

Mário Amaral Gonçalves

"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra
[Email]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6394
Offline

tenta excluir com "extWrapper.rows.nomePrincipal"

--
Caelum
www.caelum.com.br

mario.fts
GUJ Ranger
[Avatar]

Membro desde: 14/05/2008 09:41:06
Mensagens: 817
Localização: São Paulo - ZL
Offline

Nop. Mesma coisa.

Quando vc usa o exclude, ele só não retira o campo. Quando vc usa o include, da uma exception no serializador



Pelo que eu pude perceber, na hora q ele pega o campo rows, ele vem com o tipo List, e da o erro pq list não tem esse campo realmente, só o objeto de dentro da list é que tem.

Qual classe que tem o serializador de collections utilizado por padrão? Eu poderia sobreescrever alguns métodos do XStreamJSONSerialization com o código do serialziador de collections, pq ele faz esse comportamento para cada iten da lista.

[]'s

Mário Amaral Gonçalves

"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra
[Email]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6394
Offline

vc pode fazer os excludes via anotações do xstream tb...

--
Caelum
www.caelum.com.br

mario.fts
GUJ Ranger
[Avatar]

Membro desde: 14/05/2008 09:41:06
Mensagens: 817
Localização: São Paulo - ZL
Offline

Lucas Cavalcanti wrote:vc pode fazer os excludes via anotações do xstream tb...


Sim, mas ai eu caio no mesmo problema de mudar os campos a serem exibidos dependendo da view.

Já estou com algumas idéias, mais tarde eu volto a ver isso, por enquanto vou resolvendo com o wrapper só com os campos q eu quero mostrar.

valeu!

Mário Amaral Gonçalves

"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra
[Email]
garcia-jj
JWizard

Membro desde: 13/04/2009 22:11:50
Mensagens: 2715
Localização: Porto Alegre
Offline

Não sei se estou falando besteira, mas o XStream lê por getter, property ou field? Nesse caso não deveria ter um getRows para que o XStream consiga fazer o include?

http://github.com/garcia-jj
Não respondo dúvidas via MP. Use o fórum.
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6394
Offline

por padrão ele lê por field... mas dá pra configurar pra ele usar getters

--
Caelum
www.caelum.com.br

mario.fts
GUJ Ranger
[Avatar]

Membro desde: 14/05/2008 09:41:06
Mensagens: 817
Localização: São Paulo - ZL
Offline

os dados estão sendo gerados no jsons em problemas, desde que eu inclua a chamada a recursive(), senão sai só o total.

Mário Amaral Gonçalves

"Ciência da computação tem tanto a ver com o computador como a Astronomia com o telescópio, a Biologia com o microscópio, ou a Química com os tubos de ensaio. A Ciência não estuda ferramentas, mas o que fazemos e o que descobrimos com elas." - Edsger Dijkstra
[Email]
Lucas Cavalcanti
GUJ Hacker
[Avatar]

Membro desde: 08/07/2007 00:08:14
Mensagens: 6394
Offline

é que por padrão o vraptor só adiciona tipos primitivos (String, números e datas), e vc tem uma lista... só adicionar a lista talvez funcione tb:


--
Caelum
www.caelum.com.br

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