package br.gov.mj.sislegis.app.rest.serializers; import java.io.IOException; import java.util.List; import br.gov.mj.sislegis.app.model.Comentario; import br.gov.mj.sislegis.app.model.Proposicao; import com.fasterxml.jackson.core.JsonGenerator; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.SerializerProvider; public class CompactProposicaoComComentarioSerializer extends CompactProposicaoSerializer { @Override public void serialize(Proposicao value, JsonGenerator jgen, SerializerProvider provider) throws IOException, JsonProcessingException { jgen.writeStartObject(); writeProposicao(value, jgen); List<Comentario> comentarios = value.getListaComentario(); if (comentarios != null && !comentarios.isEmpty()) { Comentario ultimo = comentarios.get(comentarios.size() - 1); // remove a proposicao dele para não entrar em loop a serializacao ultimo.setProposicao(null); jgen.writeObjectField("ultimoComentario", ultimo); } jgen.writeEndObject(); } }