[RESOLVIDO] VRaptor - Deserialização XML -> Objeto com XStream - Bug
9 respostas
alias
Bom dia, amigos.
Estou com um problema com o VRaptor que creio ser um bugzinho…fiz um workaround pra resolver mas vou postar o cenário aqui e a galera do projeto confirmando sendo um bug, crio uma issue lá pra corrigir (ou eu tento corrigir sem gerar mais bugs :lol: )
Pra resolver temporariamente eu criei um componente herdando desse cara ai e sobrescrevi o método getConfiguredXStream, e inclui a chamada pro método do XStream.
não sei se é um bug, mas talvez seja uma feature faltando
abre uma issue lá por favor
alias
A serialização objeto -> xml chama o método processAnnotations, e a desserialização não, pra mim tá mais pra bug…enfim, posso corrigir isso lucas, o que voce acha, esse classe/metodo ai que eu citei é o lugar ideal pra fazer isso?
valeu!
Lucas_Cavalcanti
Como ele é feito direto no serializer:
acho que é justo fazer aqui:
linha 49, passando por todos os types e processando as anotações deles.
vc faz lá e manda um pull request, por favor? =)
tenta colocar um teste pra isso, ou usando mocks ou anotando classes e mandando deserializar.
alias
Legal lucas, cadastrei a issue lá e hoje já devo fazer isso, como é mesmo tem que fazer o fork da branch master né?
Lucas_Cavalcanti
sim, o ideal é fazer o fork a partir do master do VRaptor, de preferencia criando um branch com o nome da feature no seu fork. Aí fica mais fácil de fazer rebase e manter o master sincronizado com o VRaptor, supondo que vc vai criar vários pull requests no VRaptor =)
alias
Fiz tudo lá lucas, alterei também o JsonDeserializer como você pediu e incluí os testes para o cenário com anotações.
Pra quem mais precisar, sugiro usar por enquanto essa abordagem que sugeri, que é criar um componente sobrescrevendo o desserializer do VRaptor, e sobrescrever o método que configura o XStream (e aí incluir o processamento das annotations)
Valeu!
Lucas_Cavalcanti
Falhou o build =(
Mas acho que não foi da sua feature… vou dar uma olhada lá! valeu =)
alias
É eu vi, os testes dos lugares onde mexi (incluindo a nova classe de teste que adicionei) passaram, quebraram alguns testes do LinkToHandler…de repente tá faltando alguma coisa no source que tá na minha máquina, precisa que eu faça alguma outra coisa e mande de novo o código?