package br.gov.mj.sislegis.app.parser.senado.xstream;
import java.util.List;
import br.gov.mj.sislegis.app.model.Proposicao;
import com.thoughtworks.xstream.XStream;
/**
* XStream mapper para o serviço
* http://legis.senado.leg.br/dadosabertos/dados/DetalheMateriav3.xsd
*
* @author coutinho
*
* @deprecated deve-se usar a versão 4 do serviço.
*/
public class DetalheMateria {
List<Proposicao> proposicoes;
List<Proposicao> getProposicoes() {
return proposicoes;
}
public static void configXstream(XStream xstream) {
xstream.alias("DetalheMateria", DetalheMateria.class);
xstream.alias("Materia", Proposicao.class);
// Conversao de tipos Autoria e Autor
xstream.alias("Autoria", Autoria.class);
xstream.alias("Autor", Autor.class);
xstream.aliasField("Materias", DetalheMateria.class, "proposicoes");
xstream.aliasField("Codigo", Proposicao.class, "idProposicao");
xstream.aliasField("Subtipo", Proposicao.class, "tipo");
xstream.aliasField("Numero", Proposicao.class, "numero");
xstream.aliasField("Ano", Proposicao.class, "ano");
xstream.aliasField("Ementa", Proposicao.class, "ementa");
// Forcar o tratamento de autoria como string
xstream.aliasField("Autoria", Proposicao.class, "autor");
xstream.registerLocalConverter(Proposicao.class, "autor", new AuthorConverter());
}
public Proposicao getProposicao() {
return proposicoes.isEmpty() ? null : getProposicoes().get(0);
}
}