Pessoal, estou com um problema para incluir um objeto de um HashMap na serialização no Vraptor 4.
Tenho o seguinte objeto e quero serializa-lo em JSON:
public class DadosRelatorioEstudo {
private Map<Long, List<DesvioDeProtocolo>> desviosDeProtocolo;
private Map<Long, List<ParticipanteEstudo>> participantesAdicionadosSubstituidos;
private Map<Long, List<ParticipanteEstudoExcluido>> participantesExcluidos;
//... getters and setters
}
Acontece que no HashMap desviosDeProtocolo preciso incluir outro objeto (Participante), na serialização:
DadosRelatorioEstudo dadosRelatorioEstudo = relatorioEstudoService.buscarInformacoesDoEstudo(relatorioEstudo);
result.use(Results.json()).withoutRoot().from(dadosRelatorioEstudo)
.include("desviosDeProtocolo", "desviosDeProtocolo.participante", "participantesAdicionadosSubstituidos", "participantesExcluidos").serialize();
Ao fazer isso ocorre o seguinte erro:
br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.InterceptionException: br.com.caelum.vraptor.InterceptionException: java.lang.IllegalArgumentException: Field path 'desviosDeProtocolo.participante' doesn't exists in class java.lang.Long
Pelo que entendi, ele esta tentando incluir o elemento da chave da HashMap. Existe outra maneira indicar que ele deve incluir o elemento do valor em vez da chave?