Null parameters (github #663)

17 views
Skip to first unread message

Cácio Costa

unread,
Jul 17, 2014, 10:14:26 AM7/17/14
to caelum-vr...@googlegroups.com

Rodrigo e Otávio, desculpem utilizar a Issue do Github para fazer a pergunta sobre o comportamento do VRaptor. Não foi minha intenção bagunçar o repositório, foi mal mesmo...

Pois bem, eu apaguei as mensagens de lá (a primeira só perguntei quando sairia uma nova versão do VRaptor) e a segunda eu colei abaixo. O NullDecorator envolvendo o ObjectInstantiator na cadeia no VRaptorInstantiator vai cobrir esse cenário? Muito obrigado pela ajuda.

Eu tenho uma classe (Categoria) com autorrelacionamento @ManyToOne (categoriaSuperior), e envio por request os seguintes parâmetros:

categoria.nome=nome
categoria.ativa=true
categoria.categoriaSuperior.id=(parâmetro vazio gerado normalmente pelo browser)

Dessa forma, pelo fato de existir o parâmetro id no atributo categoriaSuperior (por mais que o tipo seja Long e o valor seja String vazia), o IogiParametersProvider cria um Parameter para ele (claro, está presente no request) e o ObjectInstantiator instancia um objeto Categoria e atribui ao atributocategoriaSuperior.

Queria saber se essa adaptação que vocês fizeram vai cobrir esse cenário. Caso contrário, vou fazer um@Alternative do IogiParametersProvider, criar um Wrapper do HttpServletRequest para que o método getParameterMap() ignore os ids vazios e usar o IogiParametersProvider dentro do alternative.

Se o método IogiParametersProvider.parseParameters(HttpServletRequest request) fosse protected, eu conseguiria fazer um @Specializes desse comportamento.

Cácio Costa

unread,
Jul 17, 2014, 10:48:54 AM7/17/14
to caelum-vr...@googlegroups.com
Implementei esse Alternative e funcionou como queria, mas por enquanto só entende atributos de nome "id". E realmente, acho que não deveriam aumentar a visibilidade do método "parseParameters", pois quebraria o encapsulamento, pois a lista de iogi parameters deve seguir um certo formato para funcionar, e se alguém sobrescrever esse método de maneira errônea, pode quebrar outros cantos do framework...

Então, fico no aguardo da nova release. Se ela cobrir esse cenário, ótimo!!! =) ... Caso contrário, eu já implementei uma alternativa. Só tenho que ficar de olho em novas atualizações na classe IogiParametersProvider...

Muito obrigado mesmo pela atenção, Rodrigo Turini. E mais uma vez desculpa, Otávio Garcia.

Rodrigo Turini

unread,
Jul 17, 2014, 12:05:00 PM7/17/14
to caelum-vr...@googlegroups.com
Oi Cácio! Mil perdões pela demora pra responder. Não se preocupe quanto a issue,
agora já sabe que pode mandar sempre pela lista :) Quanto ao problema que você
comentou, já deve resolver sim! O release deve sair na segunda, daí você testa. []'s

Rodrigo Turini
Caelum | Ensino e Inovação
www.caelum.com.br



--
You received this message because you are subscribed to the Google Groups "caelum-vraptor-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to caelum-vraptor-...@googlegroups.com.
To post to this group, send email to caelum-vr...@googlegroups.com.
Visit this group at http://groups.google.com/group/caelum-vraptor-dev.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages