package br.gov.mj.sislegis.app.parser.camara.xstream;
import br.gov.mj.sislegis.app.enumerated.Origem;
import br.gov.mj.sislegis.app.model.Proposicao;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.annotations.XStreamAlias;
import com.thoughtworks.xstream.annotations.XStreamAsAttribute;
/**
* XStream mapper de http://www.camara.gov.br/SitCamaraWS/Proposicoes.asmx?op=
* ObterProposicaoPorID
*
* @author rafael.coutinho
*
*/
@XStreamAlias("proposicao")
public class ObterProposicaoPorID {
@XStreamAsAttribute
String ano;
@XStreamAsAttribute
String tipo;
@XStreamAsAttribute
String numero;
@XStreamAlias("idProposicao")
Integer idProposicao;
@XStreamAlias("idProposicaoPrincipal")
String idProposicaoPrincipal;
@XStreamAlias("tipoProposicao")
String tipoProposicaoDesc;
@XStreamAlias("Ementa")
String ementa;
@XStreamAlias("Autor")
String autor;
@XStreamAlias("Situacao")
String situacao;
@XStreamAlias("LinkInteiroTeor")
String linkInteiroTeor;
@XStreamAlias("tema")
String tema;
public static void config(XStream xstream) {
xstream.processAnnotations(ObterProposicaoPorID.class);
}
public Proposicao toProposicao() {
Proposicao proposicao = new Proposicao();
proposicao.setAno(ano);
proposicao.setAutor(autor);
if (situacao != null) {
if (situacao.indexOf('-') > -1) {
situacao = situacao.substring(0, situacao.indexOf('-'));
}
proposicao.setComissao(situacao.trim());// tentando pegar a comissao
// da situacao
}
proposicao.setEmenta(ementa.trim());
proposicao.setIdProposicao(idProposicao);
// proposicao.setLinkProposicao(linkInteiroTeor);
proposicao.setLinkProposicao("http://www.camara.gov.br/proposicoesWeb/fichadetramitacao?idProposicao="
+ proposicao.getIdProposicao());
proposicao.setNumero(numero);
proposicao.setOrigem(Origem.CAMARA);
proposicao.setTipo(tipo.trim());
proposicao.setSituacao(situacao.trim());
return proposicao;
}
}