[Resolvido] PersistentBag Converter

Prezados,

Eu tinha um problema de serialização JSON de list vindas do hibernate que resolvi com o tópico abaixo:

http://www.guj.com.br/java/271528-problemas-na-serializacao-de-heranca-vraptor-341

Entretanto, percebi que muita coisa que funcionava parou de funcionar porque o root do JSON deixou de ser list e passou a ser persistentBag.

Existe um modo de no converter (ou outra forma) eu informar qual vai ser o nome do root do JSON?

vc tah usando o withoutRoot()? se não, pode fazer:

result.use(json()).from(listaDosCaras, "list")......

Queria fazer de maneira global, para não ter que alterar em muitos locais.
É possível?

é possível sim…

sobrescreva o TypeNameExtractor do VRaptor. Algo do tipo:

@ApplicationScoped
@Component
public class MeuNameExtractor extends DefaultTypeNameExtractor {
      
      public String nameFor(Type generic) {
          if (PersistentBag.class.equals(generic)) {
                return "list";
          } else {
                return super.nameFor(generic);
          }
      }
}

Perfeito Lucas.

Obrigado.