package br.gov.mj.sislegis.app.parser.senado; import java.util.List; import br.gov.mj.sislegis.app.model.Comissao; import br.gov.mj.sislegis.app.parser.ParserFetcher; import br.gov.mj.sislegis.app.parser.camara.ParserComissoesCamara; import com.thoughtworks.xstream.XStream; public class ParserComissoesSenado { public static void main(String[] args) throws Exception { ParserComissoesCamara parser = new ParserComissoesCamara(); System.out.println(parser.getComissoes().toString()); } public List<Comissao> getComissoes() throws Exception { String wsURl = "http://legis.senado.leg.br/dadosabertos/comissao/lista/colegiados"; XStream xstream = new XStream(); xstream.ignoreUnknownElements(); ListaColegiados comissoes = new ListaColegiados(); config(xstream); ParserFetcher.fetchXStream(wsURl,xstream,comissoes); // Adiciona manualmente uma comissao para o plenario Comissao comissaoPlenario = new Comissao(); comissaoPlenario.setId(999l); comissaoPlenario.setSigla("PLEN"); comissoes.getComissoes().add(comissaoPlenario); return comissoes.getComissoes(); } private void config(XStream xstream) { xstream.alias("ListaColegiados", ListaColegiados.class); xstream.alias("Colegiado", Comissao.class); xstream.aliasField("Colegiados", ListaColegiados.class, "comissoes"); xstream.aliasField("Codigo", Comissao.class, "id"); xstream.aliasField("Sigla", Comissao.class, "sigla"); } } class ListaColegiados { private List<Comissao> comissoes; public List<Comissao> getComissoes() { return comissoes; } public void setComissoes(List<Comissao> comissoes) { this.comissoes = comissoes; } public String toString() { StringBuilder sb = new StringBuilder(); for (Comissao orgao : this.getComissoes()) { sb.append(orgao.getSigla() + "\n"); } return sb.toString(); } }