Advertisement
Guest User

Untitled

a guest
Oct 31st, 2017
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 31.23 KB | None | 0 0
  1. package sk.tuke.tssu;
  2.  
  3.  
  4. import org.jsoup.Jsoup;
  5. import org.jsoup.nodes.Document;
  6. import org.jsoup.nodes.Element;
  7. import org.jsoup.select.Elements;
  8. //import org.openqa.selenium.WebElement;
  9. import java.io.IOException;
  10. import java.sql.*;
  11. import java.text.ParseException;
  12. import java.text.SimpleDateFormat;
  13. import java.util.ArrayList;
  14. import java.util.regex.Matcher;
  15. import java.util.regex.Pattern;
  16.  
  17.  
  18. public class Orsr {
  19.     static final String JDBC_DRIVER = "com.mysql.jdbc.Driver";
  20.     private static final String DB_URL = "jdbc:mysql://localhost/";
  21.  
  22.     //  Database credentials
  23.     private static final String USER = "tssuuser";
  24.     private static final String PASS = "tssuuserPW";
  25.  
  26.     public static void main(String[] args) throws IOException, ParseException, InterruptedException {
  27.         Element row = null;
  28.         String html;
  29.         ArrayList<Long> icoList = new ArrayList<Long>();
  30.         int i = 0;
  31.         Connection conn = null;
  32.         Statement stmt = null;
  33.         //ORSR
  34.         try {
  35.             //STEP 2: Register JDBC driver
  36.             Class.forName("com.mysql.jdbc.Driver");
  37.  
  38.             //STEP 3: Open a connection
  39.             System.out.println("Connecting to a selected database...");
  40.             conn = DriverManager.getConnection(DB_URL, USER, PASS);
  41.             System.out.println("Connected database successfully...");
  42.  
  43.             //STEP 4: Execute a query
  44.             System.out.println("Creating statement...");
  45.             stmt = conn.createStatement();
  46.  
  47.             String sql = "SELECT  ICO FROM tssu.faktura";
  48.             ResultSet rs = stmt.executeQuery(sql);
  49.             //STEP 5: Extract data from result set
  50.             while (rs.next()) {
  51.                 //Retrieve by column na
  52.                 long ico = rs.getLong("ICO");
  53.                 icoList.add(ico);
  54.                 //System.out.println(i+ " ICO: " + ico);
  55.                 i++;
  56.             }
  57.             rs.close();
  58.         } catch (Exception e) {
  59.             //Handle errors for Class.forName
  60.             e.printStackTrace();
  61.         } finally {
  62.             //finally block used to close resources
  63.             try {
  64.                 if (stmt != null)
  65.                     conn.close();
  66.             } catch (SQLException ignored) {
  67.             }// do nothing
  68.             try {
  69.                 if (conn != null)
  70.                     conn.close();
  71.             } catch (SQLException se) {
  72.                 se.printStackTrace();
  73.             }//end finally try
  74.         }//end try
  75.  
  76.         // System.out.println(icoList.size());
  77.         //--------------------------DOWNLOAD----------------------------------------
  78.  
  79.         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  80.         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  81.         //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
  82.  
  83.         //1506,1888,2002
  84.         for (int j = 1800; j < icoList.size(); j++) {
  85.             System.out.println("***************************************************************************************");
  86.             System.out.println("Cislo faktury v cykle: " + j);
  87.  
  88.             if (j % 100 == 0) {
  89.                 System.out.println("Ideme spinkať...");
  90.                 Thread.sleep(2500);
  91.             }
  92.  
  93.  
  94.             ////////////////////////////////////////////////
  95.             ////////////tabulka dodavatel////////////////////
  96.             boolean isOZPZO = false;
  97.             String sidlo = null;
  98.             String denVymazu = null;
  99.             String denZapisu = null;
  100.             String obchodnéMeno;
  101.             String čisloDomu;
  102.             String pravnaForma = null;
  103.             String PSČ = null;
  104.             String mesto;
  105.             String ulica;
  106.             String ico = String.valueOf(icoList.get(j));
  107.             ///////////////////////////////////////////////////
  108.  
  109.             ////////////////////////////////////////////////
  110.             ////////////tabulka statutarny organ////////////
  111.             String statutarnyOrgan = null;
  112.             ///////////////////////////////////////////////
  113.  
  114.             ico = ico.replaceAll(" ", "");
  115.  
  116.             String url = "http://orsr.sk/hladaj_ico.asp?ICO=+" + ico;
  117.             System.out.println("Adresa pre URL PRE HLADANIE:" + url);
  118.  
  119.             Document document = Jsoup.connect(url).get();
  120.             Elements links = document.select("a[href]");
  121.             String[] urls = new String[links.size()];
  122.  
  123.             for (i = 0; i < links.size(); i++) {
  124.                 urls[i] = links.get(i).attr("href");
  125.             }
  126.  
  127.             url = "http://orsr.sk/" + urls[8];
  128.             Pattern p = Pattern.compile("&P=1");
  129.             Matcher m = p.matcher(url);
  130.             if (m.find()) {
  131.                 System.out.println("Adresa pre URL PRE DETAIL:" + url);
  132.                 System.out.println("---------------------");
  133.  
  134.                 document = Jsoup.connect(url).get();
  135.                 int tableSize = document.select("table").size();
  136.                 Element table = null;
  137.                 Elements rows = null;
  138.                 int helpName = 0;
  139.                 for (int l = 0; l < tableSize - 1; l++) {
  140.                     table = document.select("table").get(l);
  141.                     rows = table.select("tr");
  142.                     p = Pattern.compile("Obchodné meno:");
  143.                     m = p.matcher(rows.toString());
  144.                     if (m.find()) {
  145.                         helpName = l;
  146.                         break;
  147.                     }
  148.                 }
  149.  
  150.                 table = document.select("table").get(helpName);
  151.                 rows = table.select("tr");
  152.                 p = Pattern.compile("Obchodné meno:");
  153.                 m = p.matcher(rows.toString());
  154.  
  155.                 if (m.find()) {
  156.                     row = rows.get(1);
  157.                     Elements cols = row.select("td");
  158.                     Element col = cols.get(0);
  159.                     obchodnéMeno = col.toString();
  160.                     obchodnéMeno = obchodnéMeno.replaceAll("<[^>]*>", "");
  161.                     System.out.println("Obchodné meno: " + obchodnéMeno);
  162.                 } else {
  163.                     isOZPZO = true;
  164.                     row = rows.get(1);
  165.                     Elements cols = row.select("td");
  166.                     Element col = cols.get(0);
  167.                     obchodnéMeno = col.toString();
  168.                     obchodnéMeno = obchodnéMeno.replaceAll("<[^>]*>", "");
  169.                     System.out.println("Obchodné meno: " + obchodnéMeno);
  170.                 }
  171.  
  172.                 ///////////////////////vlozenie obchodneho mena do tabulky dodavatel
  173.  
  174.                 int helpSidlo = 0;
  175.                 int helpDenZapisu = 0;
  176.                 int helpDenVymazu = 0;
  177.                 int helpPravnaForma = 0;
  178.                 int helpStatutarnyOrgan = 0;
  179.  
  180.                 for (int l = 0; l < tableSize - 1; l++) {
  181.                     table = document.select("table").get(l);//7
  182.                     rows = table.select("tr");
  183.                     for (int n = 0; n < rows.size(); n++) {
  184.                         row = rows.get(n);
  185.                         p = Pattern.compile("Sídlo:");
  186.                         m = p.matcher(row.toString());
  187.                         if (m.find()) {
  188.                             helpSidlo = n;
  189.                             tableSize = 0;
  190.                             break;
  191.                         }
  192.                         p = Pattern.compile("Miesto podnikania:");
  193.                         m = p.matcher(row.toString());
  194.                         if (m.find()) {
  195.                             helpSidlo = n;
  196.                             tableSize = 0;
  197.                             break;
  198.                         }
  199.                         p = Pattern.compile("Sídlo organizačnej zložky:");
  200.                         m = p.matcher(row.toString());
  201.                         if (m.find()) {
  202.                             helpSidlo = n;
  203.                             tableSize = 0;
  204.                             break;
  205.                         }
  206.                     }
  207.  
  208.  
  209.                 }
  210.                 m = p.matcher(row.toString());
  211.                 row = rows.get(helpSidlo);
  212.                 if (m.find())
  213.                     row = rows.get(helpSidlo + 1);
  214.  
  215.                 Elements cols = row.select("td");
  216.                 Element col = cols.get(0);
  217.                 sidlo = col.toString();
  218.                 sidlo = sidlo.replaceAll("<[^>]*>", "");
  219.  
  220.                 ArrayList<String> rozdelenaAdresa = rozdelAdresu(sidlo);
  221.                 ulica = rozdelenaAdresa.get(0);
  222.                 čisloDomu = rozdelenaAdresa.get(1);
  223.                 mesto = rozdelenaAdresa.get(2);
  224.                 if (rozdelenaAdresa.get(3) != null) {
  225.                     PSČ = rozdelenaAdresa.get(3);
  226.                 }
  227.                      System.out.println("ULICA: " + ulica + ", CD: " + čisloDomu + ", Mesto: " + mesto + ", psc: " + PSČ);
  228.                 ///////////vlozenie adresy do tabulky dodavatel
  229.  
  230.                 tableSize = document.select("table").size();
  231.  
  232.                 for (int l = 7; l < tableSize - 1; l++) {
  233.                     table = document.select("table").get(l);//7
  234.                     rows = table.select("tr");
  235.                     for (int n = 0; n < rows.size(); n++) {
  236.                         row = rows.get(n);
  237.                         p = Pattern.compile("Deň zápisu:");
  238.                         m = p.matcher(row.toString());
  239.                         if (m.find()) {
  240.                             helpDenZapisu = n;
  241.                             tableSize = 0;
  242.                             break;
  243.                         }
  244.                     }
  245.                 }
  246.                 row = rows.get(helpDenZapisu);
  247.                 m = p.matcher(row.toString());
  248.                 if (m.find())
  249.                     row = rows.get(helpDenZapisu + 1);
  250.                 cols = row.select("td");
  251.                 col = cols.get(0);
  252.                 denZapisu = col.toString();
  253.                 denZapisu = denZapisu.replaceAll("<[^>]*>", "");
  254.                 //   System.out.println("Den zápisu: " + denZapisu);
  255.                 ///////////vlozenie dna zapisu dodavatel
  256.                 // System.out.println("---------------------");
  257.  
  258.                 tableSize = document.select("table").size();
  259.  
  260.                 for (int l = 9; l < tableSize - 1; l++) {
  261.                     table = document.select("table").get(l);
  262.                     rows = table.select("tr");
  263.                     for (int n = 0; n < rows.size(); n++) {
  264.                         row = rows.get(n);
  265.                         p = Pattern.compile("Právna forma:");
  266.                         m = p.matcher(row.toString());
  267.                         if (m.find()) {
  268.                             helpPravnaForma = n;
  269.                             tableSize = 0;
  270.                             break;
  271.                         }
  272.                     }
  273.                 }
  274.                 row = rows.get(helpPravnaForma);
  275.                 m = p.matcher(row.toString());
  276.                 if (m.find())
  277.                     row = rows.get(helpPravnaForma + 1);
  278.                 cols = row.select("td");
  279.                 col = cols.get(0);
  280.                 pravnaForma = col.toString();
  281.                 pravnaForma = pravnaForma.replaceAll("<[^>]*>", "");
  282.                 System.out.println("Právna forma: " + pravnaForma);
  283.                 ////////////////vlozenie pravnej formy
  284.                 //   System.out.println("=================================================================================================");
  285.  
  286.  
  287.                 tableSize = document.select("table").size();
  288.                 int tableNum = 0;
  289.                 for (int l = 10; l < tableSize - 1; l++) {
  290.                     table = document.select("table").get(l);
  291.                     rows = table.select("tr");
  292.                     for (int n = 0; n < rows.size(); n++) {
  293.                         row = rows.get(n);
  294.                         p = Pattern.compile("Štatutárny orgán:");
  295.                         m = p.matcher(row.toString());
  296.                         Pattern p2 = Pattern.compile("Vedúci organizačnej zložky:");
  297.                         Matcher m2 = p2.matcher(row.toString());
  298.                         if (m.find()) {
  299.                             helpStatutarnyOrgan = n;
  300.                             tableNum = l;
  301.                             tableSize = 0;
  302.                             break;
  303.                         } else if (m2.find()) {
  304.                             helpStatutarnyOrgan = n;
  305.                             tableNum = l;
  306.                             tableSize = 0;
  307.                             break;
  308.                         }
  309.                     }
  310.                 }
  311.                 row = rows.get(helpStatutarnyOrgan);
  312.                 m = p.matcher(row.toString());
  313.                 if (m.find())
  314.                     row = rows.get(helpStatutarnyOrgan + 1);
  315.                 cols = row.select("td");
  316.                 col = cols.get(0);
  317.                 statutarnyOrgan = col.toString();
  318.                 statutarnyOrgan = statutarnyOrgan.replaceAll("<[^>]*>", "");
  319.  
  320.                 if (pravnaForma.equals("Organizačná zložka podniku zahraničnej osoby."))
  321.                     statutarnyOrgan = "Organizačná zložka podniku zahraničnej osoby";
  322.  
  323.                 System.out.println("Štatutárny orgán: " + statutarnyOrgan);
  324.                 ///////////////////vlozenie statutarny organ
  325.                 System.out.println("=================================================================================================");
  326.  
  327.                 p = Pattern.compile("Samostatne podnikajúca fyzická osoba");
  328.                 m = p.matcher(pravnaForma);
  329.                 if (m.find() || isOZPZO) {
  330.                     statutarnyOrgan = null;
  331.                 }
  332.  
  333.                 //-----------ČLENOVIA------------------------
  334.                 table = document.select("table").get(tableNum);
  335.                 rows = table.select("tr");
  336.                 p = Pattern.compile("Samostatne podnikajúca fyzická osoba");
  337.                 m = p.matcher(pravnaForma);
  338.                 if (!m.find()) {
  339.                     int count = 0;
  340.                     ArrayList<ArrayList<String>> vlastnici = new ArrayList<ArrayList<String>>();
  341.                     ArrayList<String> poziciaVlastnika = new ArrayList<String>();
  342.                     ArrayList<String> odDatum = new ArrayList<String>();
  343.                     ArrayList<String> doDatum = new ArrayList<String>();
  344.                     for (int n = 1; n < rows.size(); n++) {
  345.                         if (isPredstavenstvo(rows)) {
  346.                             row = rows.get(n);
  347.                             p = Pattern.compile("predstavenstvo");
  348.                             m = p.matcher(row.toString());
  349.                             p = Pattern.compile("konatelia");
  350.                             Matcher matcher = p.matcher(row.toString());
  351.                             if (!m.find()) {
  352.                                 if (!matcher.find()) {
  353.                                     cols = row.select("td");
  354.                                     col = cols.get(0);
  355.                                     String vlastnik = col.toString();
  356.                                     p = Pattern.compile("-");
  357.                                     m = p.matcher(row.toString());
  358.                                     if (m.find()) {
  359.                                         //  rozdelMenoATituly(oddelPredstavitelov(vlastnik).get(0)); //vracia meno rozdelene na tituly a mena
  360.                                         vlastnici.add(rozdelMenoATituly(oddelPredstavitelov(vlastnik).get(0)));
  361.                                         Pattern p1 = Pattern.compile("člen");
  362.                                         Pattern p2 = Pattern.compile("predseda");
  363.                                         Matcher m1 = p1.matcher(vlastnik);
  364.                                         Matcher m2 = p2.matcher(vlastnik);
  365.                                         if (!m.find() && !m2.find())
  366.                                             poziciaVlastnika.add("člen");
  367.                                         else
  368.                                             poziciaVlastnika.add(oddelPredstavitelov(vlastnik).get(1).replaceAll("<[^>]*>", "").replaceAll("-", ""));
  369.                                     } else {
  370.                                         //   rozdelMenoATituly(oddelVlastnikov(vlastnik).get(0)); //vracia meno rozdelene na tituly a mena
  371.                                         //    vlastnici.add(oddelVlastnikov(vlastnik).get(0).replaceAll("<[^>]*>", ""));
  372.                                         vlastnici.add(rozdelMenoATituly(oddelPredstavitelov(vlastnik).get(0)));
  373.                                         poziciaVlastnika.add("člen");
  374.                                     }
  375.                                     col = cols.get(1);
  376.                                     String datumy = col.toString();
  377.                                     datumy = datumy.replaceAll("<[^>]*>", "");
  378.                                     datumy = datumy.replaceAll("&nbsp;", "");
  379.                                     datumy = datumy.replaceAll("od:", "");
  380.                                     p = Pattern.compile("do");
  381.                                     m = p.matcher(datumy);
  382.                                     if (m.find()) {
  383.                                         odDatum.add(oddeldatum(datumy).get(0));
  384.                                         doDatum.add(oddeldatum(datumy).get(1));
  385.                                     } else {
  386.                                         odDatum.add(datumy);
  387.                                         doDatum.add(null);
  388.                                     }
  389.  
  390.                                     //   System.out.println("Vlastnik: " + vlastnici.get(count));
  391.                                     System.out.println("Vlstníci: ||TitP:" + vlastnici.get(count).get(0).trim() + ", M: " + vlastnici.get(count).get(1).trim() + " P: " + vlastnici.get(count).get(2).trim() + ",|| TitZa:" + vlastnici.get(count).get(3).trim());
  392.  
  393.                                     System.out.println("Pozicia vlastnika: " + poziciaVlastnika.get(count));
  394.                                     System.out.println("Datum od: " + editDate(odDatum.get(count).replaceAll("[(\\|)]", "")));
  395.  
  396.                                     if (doDatum.get(count) == null) {
  397.                                         System.out.println("Dátum do: Este aktualne");
  398.                                     } else {
  399.                                         System.out.println("Dátum do: " + editDate(doDatum.get(count).replaceAll("[(\\|)]", "")));
  400.                                     }
  401.                                     count++;
  402.                                 }
  403.                             }
  404.                         } else {
  405.                             row = rows.get(n);
  406.                             cols = row.select("td");
  407.                             col = cols.get(0);
  408.                             String vlastnik = col.toString();
  409.                             // vlastnici.add(oddelVlastnikov(vlastnik).get(0).replaceAll("<[^>]*>", ""));
  410.                             vlastnici.add(rozdelMenoATituly(oddelVlastnikov(vlastnik).get(0)));
  411.                             col = cols.get(1);
  412.                             String datumy = col.toString();
  413.                             datumy = datumy.replaceAll("<[^>]*>", "");
  414.                             datumy = datumy.replaceAll("&nbsp;", "");
  415.                             datumy = datumy.replaceAll("od:", "");
  416.                             datumy = datumy.replaceAll("\\(:", "");
  417.  
  418.                             p = Pattern.compile("do");
  419.                             m = p.matcher(datumy);
  420.  
  421.                             if (m.find()) {
  422.                                 odDatum.add(oddeldatum(datumy).get(0));
  423.                                 doDatum.add(oddeldatum(datumy).get(1));
  424.                             } else {
  425.                                 odDatum.add(datumy);
  426.                                 doDatum.add(null);
  427.                             }
  428.  
  429.                             System.out.println("Datum od:" + editDate(odDatum.get(count).replaceAll("[(\\|)]", "")));
  430.  
  431.                             if (doDatum.get(count) == null) {
  432.                                 System.out.println(" Este aktualne");
  433.                             } else {
  434.                                 System.out.println("Dátum do: " + editDate(doDatum.get(count).replaceAll("[(\\|)]", "")));
  435.                             }
  436.  
  437.  
  438.                             // pri konateloch prvy riadok naprazdno
  439.  
  440.  
  441.                             //  System.out.println("Vlaaastníci: " + vlastnici.get(count));
  442.                             System.out.println("Vlstník: TitilPred:" + vlastnici.get(count).get(0) + ", Meno: " + vlastnici.get(count).get(1) + " Priezvisko: " + vlastnici.get(count).get(2) + ", TitilZa:" + vlastnici.get(count).get(3));
  443.  
  444.  
  445.                             count++;
  446.                         }
  447.                         System.out.println("------------");
  448.                     }
  449.                 }
  450.  
  451.                 tableSize = document.select("table").size();
  452.  
  453.                 for (int l = 10; l < tableSize - 1; l++) {
  454.                     table = document.select("table").get(l);
  455.                     rows = table.select("tr");
  456.                     for (int n = 0; n < rows.size(); n++) {
  457.                         row = rows.get(n);
  458.                         p = Pattern.compile("Deň výmazu:");
  459.                         m = p.matcher(row.toString());
  460.                         if (m.find()) {
  461.                             helpDenVymazu = n;
  462.                             tableSize = 0;
  463.                             row = rows.get(helpDenVymazu);
  464.                             m = p.matcher(row.toString());
  465.                             if (m.find())
  466.                                 row = rows.get(helpDenVymazu + 1);
  467.                             cols = row.select("td");
  468.                             col = cols.get(0);
  469.                             denVymazu = col.toString();
  470.                             denVymazu = denVymazu.replaceAll("<[^>]*>", "");
  471.                             break;
  472.                         }
  473.  
  474.                     }
  475.                     if (l == tableSize)
  476.                         denVymazu = null;
  477.                 }
  478.  
  479.                 if (denVymazu == null) {
  480.                     //    System.out.println("Den výmazu: FRMA ESTE EXISTUJE");
  481.                 } else {
  482.                     // System.out.println("Den výmazu: " + editDate(denVymazu.replaceAll("[(\\|)]", "")));
  483.                 }
  484.             } else {
  485.                 System.out.println("Nenašlo sa IČO....");
  486.             }
  487.         }
  488.  
  489.     }
  490.  
  491.     private static ArrayList<String> rozdelAdresu(String adresa) {
  492.  
  493.         ArrayList<String> rozdelenaAdresa = new ArrayList<String>();
  494.         if (adresa != null) {
  495.             adresa = adresa.replaceAll(",", "");
  496.             char[] buff = adresa.toCharArray();
  497.             String pom = "";
  498.             int pocitadlomedzier = 0;
  499.  
  500.             for (int i = 1; i < buff.length + 1; i++) {
  501.                 if (buff[i] == ' ' && pocitadlomedzier == 1) {
  502.                     //pom = String.valueOf(buff).trim();
  503.                     //System.out.println(pom);
  504.                     rozdelenaAdresa.add(pom);
  505.                     pocitadlomedzier++;
  506.                     pom = "";
  507.  
  508.                 }
  509.                 if (buff[i] == ' ' && pocitadlomedzier == 2 && i < buff.length && Character.isDigit(buff[i + 1]) ) {
  510.                     //pom = String.valueOf(buff).trim();
  511.                     //System.out.println(øpom);
  512.                     rozdelenaAdresa.add(pom);
  513.                     pom = "";
  514.                     pocitadlomedzier++;
  515.                 }
  516.                 if (buff[i] == ' ' && pocitadlomedzier == 3) {  //pre psc
  517.                     pom = String.valueOf(buff).trim();
  518.                     // System.out.println(pom);
  519.                     rozdelenaAdresa.add(pom);
  520.                     break;
  521.                 }
  522.  
  523.  
  524.                 if (buff[i] == ' ' && Character.isDigit(buff[i + 1])) {   //preto lebo ulica moze byt viac slovna
  525.                     rozdelenaAdresa.add(pom);
  526.                     //System.out.println(pom);
  527.                     pom = "";
  528.                     pocitadlomedzier++;
  529.                 } else {
  530.                     pom = pom + String.valueOf(buff[i]);
  531.                     buff[i] = ' ';
  532.                 }
  533.             }
  534.  
  535.         }
  536.         return rozdelenaAdresa;
  537.     }
  538.  
  539.     private static ArrayList<String> oddelPredstavitelov(String predstavitel) {
  540.         ArrayList<String> rozdeleniePredstavitelov = new ArrayList<String>();
  541.  
  542.         if (predstavitel != null) {
  543.             char[] buff = predstavitel.toCharArray();
  544.             String pom = "";
  545.  
  546.             for (int i = 1; i < buff.length + 1; i++) {
  547.  
  548.                 if (buff[i] == '-' && buff[i + 1] == ' ') {     //lebo moze v mene byt -
  549.                     pom = pom.replaceAll("td width=\"67%\">", "");
  550.                     pom = pom.replaceAll("- ", "");
  551.                     rozdeleniePredstavitelov.add(pom);
  552.                     pom = "";
  553.                 }
  554.                 if (buff[i] == '<' && buff[i + 1] == 'b' && buff[i + 2] == 'r' && buff[i + 3] == '>') {
  555.                     pom = pom.replaceAll("td width=\"67%\">", "");
  556.                     Pattern p = Pattern.compile("člen");
  557.                     Pattern p2 = Pattern.compile("predseda");
  558.                     Matcher m = p.matcher(pom);
  559.                     Matcher m2 = p2.matcher(pom);
  560.                     if (!m.find() && !m2.find())
  561.                         pom = "člen";
  562.                     rozdeleniePredstavitelov.add(pom);
  563.                     break;
  564.                 } else {
  565.                     pom = pom + String.valueOf(buff[i]);
  566.                     buff[i] = ' ';
  567.                 }
  568.             }
  569.  
  570.         }
  571.         return rozdeleniePredstavitelov;
  572.     }
  573.  
  574.     private static ArrayList<String> oddelVlastnikov(String vlastnik) {
  575.  
  576.         ArrayList<String> rozdelenieVlastnikov = new ArrayList<String>();
  577.         if (vlastnik != null) {
  578.             char[] buff = vlastnik.toCharArray();
  579.             String pom = "";
  580.             int medzera = 0;
  581.  
  582.             for (int i = 1; i < buff.length + 1; i++) {
  583.                 if (buff[i] == '<' && buff[i + 1] == 'b' && buff[i + 2] == 'r' && buff[i + 3] == '>') {
  584.                     pom = pom.replaceAll("td width=\"67%\">", "");
  585.                     rozdelenieVlastnikov.add(pom);
  586.                     //System.out.println(pom);
  587.                     break;
  588.                 } else {
  589.                     pom = pom + String.valueOf(buff[i]);
  590.                     buff[i] = ' ';
  591.                 }
  592.             }
  593.  
  594.         }
  595.         return rozdelenieVlastnikov;
  596.     }
  597.  
  598.     private static ArrayList<String> oddeldatum(String datumy) {
  599.  
  600.         ArrayList<String> rozdeleniedatumov = new ArrayList<String>();
  601.         if (datumy != null) {
  602.             char[] buff = datumy.toCharArray();
  603.             String pom = "";
  604.             int medzera = 0;
  605.  
  606.             for (int i = 1; i < buff.length + 1; i++) {
  607.                 if (buff[i] == 'd') {
  608.                     pom = pom.replaceAll("\\(", "");
  609.                     rozdeleniedatumov.add(pom);
  610.                     pom = "";
  611.                     medzera++;
  612.                 }
  613.                 if (medzera == 1 && i == buff.length - 1) {
  614.                     pom = pom.replaceAll("do:", "");
  615.                     pom = pom.replaceAll("\\(", "");
  616.                     pom = pom.replaceAll("\\)", "");
  617.  
  618.                     rozdeleniedatumov.add(pom);
  619.                     break;
  620.                 } else {
  621.                     pom = pom + String.valueOf(buff[i]);
  622.                     buff[i] = ' ';
  623.                 }
  624.             }
  625.  
  626.         }
  627.         return rozdeleniedatumov;
  628.     }
  629.  
  630.     private static boolean isPredstavenstvo(Elements rows) {
  631.         Element row = rows.get(0);
  632.         Pattern p = Pattern.compile("predstavenstvo");
  633.         Matcher m = p.matcher(row.toString());
  634.         return m.find();
  635.     }
  636.  
  637.     private static Date editDate(String date) throws ParseException {
  638.         SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy");
  639.         java.util.Date parsed = format.parse(date.trim());
  640.  
  641.         return new Date(parsed.getTime());
  642.     }
  643.  
  644.     private static ArrayList<String> rozdelMenoATituly(String meno) {
  645.         ArrayList<String> rozdelene = new ArrayList<>();
  646.  
  647.         //0 - pred
  648.         //1 - meno
  649.         //2 - priezvisko
  650.         //3 - titulza
  651.  
  652.         char[] buff = meno.toCharArray();
  653.         ArrayList<String> pomocnePole = new ArrayList<>();   //pole, kde si rozdelim data medzi '> <'
  654.  
  655.         int pos1 = 0;
  656.         int pos2 = 0;
  657.  
  658.         for (int i = 0; i < buff.length; i++) {
  659.  
  660.             if (pos1 != 0 && pos2 != 0 && pos1 < pos2) {
  661.                 if (meno.substring(pos1 + 1, pos2).length() > 2) {   //kvoli htmltagom kde su medzeri medzi nimi len
  662.                     pomocnePole.add(meno.substring(pos1 + 1, pos2));
  663.                     pos1 = 0;
  664.                     pos2 = 0;
  665.                 }
  666.             }
  667.  
  668.             if (buff[i] == '>') {
  669.                 pos1 = i;
  670.             }
  671.  
  672.             if (buff[i] == '<') {
  673.                 pos2 = i;
  674.             }
  675.         }
  676.  
  677.  
  678.         switch (pomocnePole.size()) {
  679.             case 2: {                    //meno a priezvisko
  680.                 rozdelene.add(" ");
  681.                 rozdelene.add(pomocnePole.get(0));
  682.                 rozdelene.add(pomocnePole.get(1));
  683.                 rozdelene.add(" ");
  684.                 break;
  685.             }
  686.  
  687.             case 3: {                    //meno a priezvisko a 1 titul bud pred alebo za
  688.  
  689.                 if (pomocnePole.get(0).contains(".") || pomocnePole.get(0).contains(",")) {
  690.                     rozdelene.add(pomocnePole.get(0));
  691.                     rozdelene.add(pomocnePole.get(1));
  692.                     rozdelene.add(pomocnePole.get(2));
  693.                     rozdelene.add(" ");
  694.                 } else {
  695.                     rozdelene.add(" ");
  696.                     rozdelene.add(pomocnePole.get(0));
  697.                     rozdelene.add(pomocnePole.get(1));
  698.                     rozdelene.add(pomocnePole.get(2));
  699.                 }
  700.                 break;
  701.  
  702.             }
  703.             case 4: {                    //meno a priezvisko a titul pred aj za
  704.                 rozdelene.add((pomocnePole.get(0)));
  705.                 rozdelene.add(pomocnePole.get(1));
  706.                 rozdelene.add(pomocnePole.get(2));
  707.                 rozdelene.add((pomocnePole.get(3)));
  708.                 break;
  709.             }
  710.             default: {
  711.                 rozdelene.add(" ");
  712.                 rozdelene.add(" ");
  713.                 rozdelene.add(" ");
  714.                 rozdelene.add(" ");
  715.                 break;
  716.             }
  717.  
  718.         }
  719.         /*System.out.println("_____________________________________________________");
  720.         System.out.println("Titil pred: " + rozdelene.get(0));
  721.         System.out.println("Meno: " + rozdelene.get(1));
  722.         System.out.println("Priezvisko: " + rozdelene.get(2));
  723.         System.out.println("Titul za:" + rozdelene.get(3));
  724.         System.out.println("_____________________________________________________");*/
  725.  
  726.         return rozdelene;
  727.     }
  728.  
  729. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement