/**
* Copyright (c) 2009-2014 Câmara dos Deputados. Todos os direitos reservados.
*
* e-Democracia é um software livre; você pode redistribuí-lo e/ou modificá-lo dentro
* dos termos da Licença Pública Geral Menor GNU como publicada pela Fundação do
* Software Livre (FSF); na versão 2.1 da Licença, ou (na sua opinião) qualquer versão.
*
* Este programa é distribuído na esperança de que possa ser útil, mas SEM NENHUMA GARANTIA;
* sem uma garantia implícita de ADEQUAÇÃO a qualquer MERCADO ou APLICAÇÃO EM PARTICULAR.
* Veja a Licença Pública Geral Menor GNU para maiores detalhes.
*/
import java.io.IOException;
import java.io.InputStream;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import br.gov.camara.edemocracia.portlets.wikilegis.importer.ArtigoDTO;
import br.gov.camara.edemocracia.portlets.wikilegis.importer.EstruturaDTO;
import br.gov.camara.edemocracia.portlets.wikilegis.importer.XMLCodigoComercialWikilegisImporter;
/**
*
*/
/**
* @author robson
*
*/
public class TestaExtracaoDados {
/**
* @param args
*/
public static void main(String[] args) throws Exception {
XMLCodigoComercialWikilegisImporter importer = new XMLCodigoComercialWikilegisImporter();
String name = "codigocomercial.html";
InputStream is = Thread.currentThread().getContextClassLoader()
.getResourceAsStream(name);
EstruturaDTO raiz;
try {
raiz = importer.processXML(is);
mostra(-1, raiz);
} finally {
try {
is.close();
} catch (IOException e) {
}
}
}
private static void mostra(int nivel, EstruturaDTO elemento) {
Pattern pp = Pattern.compile("(?s)^Art\\. ([0-9.]+?[oº]?)\\.? (.+)");
if (nivel >= 0) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < nivel; i++)
sb.append("-");
sb.append(elemento.getNome());
System.out.println(sb.toString());
}
for (ArtigoDTO artigo : elemento.getArtigos()) {
String texto = artigo.getProposta();
Matcher m = pp.matcher(texto);
if (m.matches()) {
System.out.println("Art. " + m.group(1));
} else {
System.out.println("erro " + texto);
}
}
for (EstruturaDTO filho : elemento.getFilhos())
mostra(nivel+1, filho);
}
}