package gov.nysenate.openleg.stupid; import gov.nysenate.openleg.BaseTests; import gov.nysenate.openleg.dao.base.LimitOffset; import gov.nysenate.openleg.dao.base.SortOrder; import gov.nysenate.openleg.dao.bill.text.SqlFsBillTextReferenceDao; import gov.nysenate.openleg.model.base.SessionYear; import gov.nysenate.openleg.model.bill.BaseBillId; import gov.nysenate.openleg.model.spotcheck.SpotCheckRefType; import gov.nysenate.openleg.model.spotcheck.SpotCheckReportId; import gov.nysenate.openleg.model.spotcheck.billtext.BillScrapeQueueEntry; import gov.nysenate.openleg.model.spotcheck.billtext.BillTextReference; import gov.nysenate.openleg.model.spotcheck.billtext.ScrapeQueuePriority; import gov.nysenate.openleg.service.source.LRSBillTextSobiMaker; import gov.nysenate.openleg.service.spotcheck.base.SpotcheckRunService; import gov.nysenate.openleg.service.spotcheck.billtext.BillTextReportService; import gov.nysenate.openleg.service.spotcheck.billtext.BillTextSpotcheckProcessService; import gov.nysenate.openleg.util.StringDiffer; import org.jsoup.Jsoup; import org.jsoup.nodes.Document; import org.jsoup.nodes.Element; import org.jsoup.nodes.Node; import org.jsoup.nodes.TextNode; import org.jsoup.select.Elements; import org.junit.Test; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import java.io.BufferedReader; import java.io.File; import java.io.FileReader; import java.nio.file.FileSystems; import java.nio.file.Files; import java.nio.file.Path; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.Arrays; import java.util.LinkedList; import java.util.List; import java.util.stream.Collectors; /** */ public class BillTextTest extends BaseTests { private static final Logger logger = LoggerFactory.getLogger(BillTextTest.class); @Autowired SpotcheckRunService runService; @Autowired BillTextReportService report; @Autowired BillTextSpotcheckProcessService procService; @Autowired SqlFsBillTextReferenceDao dao; @Autowired LRSBillTextSobiMaker sobiMaker; @Test public void processTest() throws Exception{ procService.collate(); procService.ingest(); // if processing occurred, a report should be run } @Test public void queueThenProcessTest() throws Exception { queueTest(); processTest(); } @Test public void runTest() { runService.runReports(SpotCheckRefType.LBDC_SCRAPED_BILL); } @Test public void makeSobiTest() { List<BaseBillId> billIds = Arrays.asList( new BaseBillId("S105", 2015), new BaseBillId("A3233", 2015)); File resultDir = new File("/tmp"); sobiMaker.makeSobi(billIds, resultDir); } @Test public void getReportTest() { LocalDateTime reportDateTime = LocalDateTime.parse("2015-04-29T11:11:13"); // new ReportDetailView<>( // report.getReport(new SpotCheckReportId(SpotCheckRefType.LBDC_SCRAPED_BILL, reportDateTime))); } @Test public void queueTest() { List<BaseBillId> billIds = Arrays.asList( new BaseBillId("S5513", 2015)); billIds.forEach(billId -> dao.addBillToScrapeQueue(billId, ScrapeQueuePriority.MANUAL_ENTRY.getPriority())); logger.info("queue is now {}", dao.getScrapeQueue(LimitOffset.ALL, SortOrder.DESC).getResults().stream() .map(BillScrapeQueueEntry::getBaseBillId) .collect(Collectors.toList())); } ///////////////////////////////////////////////////////////////////////////// @Test public void getBillsTest(){ BaseBillId id2 = new BaseBillId("S1", 2015); List<BillTextReference> list = dao.getBillTextReference(id2); for (BillTextReference ref : list){ System.out.println("________________________________"); System.out.println("print no:::: "+ ref.getPrintNo()); System.out.println("Amend:::: "+ ref.getActiveVersion()); System.out.println("Session Year:::: "+ ref.getSessionYear()); System.out.println("refDate :::: "+ ref.getReferenceDate()); } } @Test public void getBillTest(){ BaseBillId id2 = new BaseBillId("S1", new SessionYear(2015)); String str = "2015-03-31 12:52:39.986"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss.SSS"); LocalDateTime dateTime = LocalDateTime.parse(str, formatter); // BillTextReference ref = dao.getPKBillTextReference(id2, dateTime); // // System.out.println("________________turned to ref object________________"); // System.out.println("print no:::: "+ ref.getPrintNo()); // System.out.println("Amend:::: "+ ref.getActiveVersion()); // System.out.println("refDate:::: "+ ref.getReferenceDate()); // System.out.println("Session Year:::: "+ ref.getSessionYear()); } ///////////////////////////////////////////////////////////////////////////// @Test public void diffTest() throws Exception { String s1= "as"; String s2 = "asd"; StringDiffer dif = new StringDiffer(); LinkedList<StringDiffer.Diff> diffs = dif.diff_main(s1, s2); System.out.println(diffs); } @Test public void StringTest() throws Exception { String y = "\\n texttexttext \\n"; //String txt = y.replaceAll("\\r\\n|\\r|\\n", " "); String txt = y.replaceAll("\\\\n", ""); System.out.println(txt); } @Test public void findDeletes() throws Exception{ BufferedReader br = new BufferedReader(new FileReader("~.DeleteStuff.txt")); Path path = FileSystems.getDefault().getPath("home/kyle", "DeleteStuff.log"); ArrayList<String> y = new ArrayList<String>(Files.readAllLines(path)) { }; } @Test public void jsoupTest() { String html = "<span id='hi'>" + "some text" + "<u>some more text</u>" + "<notu>texxxxt</notu>" + "even more text" + "</span>"; Document doc = Jsoup.parse(html); Elements eles = doc.getElementById("hi").children(); // for (Element e : eles) { // logger.info(e.text()); // } StringBuilder stringBuilder = new StringBuilder(); processNode(doc.getElementById("hi"), stringBuilder); System.out.println(stringBuilder.toString()); } void processNode(Element ele, StringBuilder stringBuilder) { for (Node t : ele.childNodes()) { if (t instanceof Element) { Element e = (Element) t; if (e.tag().getName().equals("u")) { stringBuilder.append(e.text().toUpperCase()); stringBuilder.append("\n"); } else { processNode(e, stringBuilder); } } else if (t instanceof TextNode) { stringBuilder.append(((TextNode) t).text()); stringBuilder.append("\n"); } } } }