Advertisement
Guest User

Untitled

a guest
Nov 1st, 2017
85
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 61.78 KB | None | 0 0
  1. package sk.tuke.tssu;
  2.  
  3. import org.jsoup.Jsoup;
  4. import org.jsoup.nodes.Document;
  5. import org.jsoup.nodes.Element;
  6. import org.jsoup.select.Elements;
  7.  
  8. import java.sql.*;
  9. import java.text.ParseException;
  10. import java.text.SimpleDateFormat;
  11. import java.util.ArrayList;
  12. import java.util.regex.Matcher;
  13. import java.util.regex.Pattern;
  14.  
  15. //import org.openqa.selenium.WebElement;
  16.  
  17.  
  18. public class Orsr {
  19.     private 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 = "root";
  24.     private static final String PASS = "admin";
  25.     private static ArrayList<String> pouziteICO = new ArrayList<String>();
  26.     private static MySQLAccess mySQLAccess;
  27.     //  private static int IdStatut = 1;
  28.     //  private static int IdPreds = 1;
  29.  
  30.  
  31.     public static void main(String[] args) throws Exception {
  32.  
  33.         ArrayList<Long> icoList = new ArrayList<Long>();
  34.         Element row = null;
  35.         String html;
  36.         int i = 0;
  37.         Connection conn = null;
  38.         Statement stmt = null;
  39.         mySQLAccess = new MySQLAccess();
  40.         //ORSR
  41.         try {
  42.             //STEP 2: Register JDBC driver
  43.             Class.forName("com.mysql.jdbc.Driver");
  44.  
  45.             //STEP 3: Open a connection
  46.             System.out.println("Connecting to a selected database...");
  47.             conn = DriverManager.getConnection("jdbc:mysql://localhost/tssu?user=tssuuser&password=tssuuserPW&autoReconnect=true&useSSL=false");
  48.             System.out.println("Connected database successfully...");
  49.  
  50.             //STEP 4: Execute a query
  51.             System.out.println("Creating statement...");
  52.             stmt = conn.createStatement();
  53.  
  54.             String sql = "SELECT  ICO FROM tssu.faktura";
  55.             ResultSet rs = stmt.executeQuery(sql);
  56.             //STEP 5: Extract data from result set
  57.             while (rs.next()) {
  58.                 //Retrieve by column na
  59.                 long ico = rs.getLong("ICO");
  60.                 icoList.add(ico);
  61.                 //System.out.println(i+ " ICO: " + ico);
  62.                 i++;
  63.             }
  64.             rs.close();
  65.         } catch (Exception e) {
  66.             //Handle errors for Class.forName
  67.             e.printStackTrace();
  68.         } finally {
  69.             //finally block used to close resources
  70.             try {
  71.                 if (stmt != null)
  72.                     conn.close();
  73.             } catch (SQLException se) {
  74.             }// do nothing
  75.             try {
  76.                 if (conn != null)
  77.                     conn.close();
  78.             } catch (SQLException se) {
  79.                 se.printStackTrace();
  80.             }//end finally try
  81.         }//end try
  82.  
  83.         // System.out.println(icoList.size());
  84.         //--------------------------DOWNLOAD----------------------------------------
  85.  
  86.  
  87.         for (int j = 491; j < icoList.size(); j++) {
  88.  
  89.  
  90.             int countClen = 0;
  91.             int countKonatel = 0;
  92.             System.out.println("***************************************************************************************");
  93.             System.out.println("Cislo faktury v cykle: " + j);
  94.  
  95.             if (j % 100 == 0) {
  96.                 System.out.println("Ideme spinkať...");
  97.                 Thread.sleep(2500);
  98.             }
  99.  
  100.  
  101.             ////////////////////////////////////////////////
  102.             ////////////tabulka dodavatel////////////////////
  103.             boolean isOZPZO = false;
  104.             String sidlo = null;
  105.             String denVymazu = null;
  106.             String denZapisu = null;
  107.             String obchodnéMeno = null;
  108.             String čisloDomu;
  109.             String pravnaForma = null;
  110.             String PSČ;
  111.  
  112.             String mesto;
  113.             String ulica;
  114.             String ico = String.valueOf(icoList.get(j));
  115.             ///////////////////////////////////////////////////
  116.  
  117.             ////////////////////////////////////////////////
  118.             ////////////tabulka statutarny organ////////////
  119.             String statutarnyOrgan = null;
  120.  
  121.  
  122.             ////////////////////////////////////////////////
  123.             ////////////TABULKA Predstavenstvo////////////
  124.             String predseda = null;
  125.             String podpredseda = null;
  126.             boolean isPodpredseda = false;
  127.             boolean isPredseda = false;
  128.  
  129.             ////////////////////////////////////////////////
  130.             ////////////tabulka clen////////////////////
  131.             ArrayList<String> vlastnici = new ArrayList<String>();
  132.             ArrayList<String> titulPredClena = new ArrayList<String>();
  133.             ArrayList<String> titulZaClena = new ArrayList<String>();
  134.             ArrayList<String> pscClena = new ArrayList<String>();
  135.             ArrayList<String> ulicaClena = new ArrayList<String>();
  136.             ArrayList<String> cisloDomuClen = new ArrayList<String>();
  137.             ArrayList<String> mestoClena = new ArrayList<String>();
  138.             ArrayList<String> menoClena = new ArrayList<String>();
  139.             ArrayList<String> priezviskoClena = new ArrayList<String>();
  140.             ArrayList<String> rolaClena = new ArrayList<String>();
  141.             ArrayList<String> odDatumClen = new ArrayList<String>();
  142.             ArrayList<String> doDatumClen = new ArrayList<String>();
  143.             ///////////////////////////////////////////////////
  144.  
  145.             ////////////////////////////////////////////////
  146.             ////////////tabulka konatel////////////////////
  147.             ArrayList<String> titulPredKonatel = new ArrayList<String>();
  148.             ArrayList<String> titulZaKonatel = new ArrayList<String>();
  149.             ArrayList<String> pscKonatel = new ArrayList<String>();
  150.             ArrayList<String> ulicaKonatel = new ArrayList<String>();
  151.             ArrayList<String> cisloDomuKonatel = new ArrayList<String>();
  152.             ArrayList<String> mestoKonatel = new ArrayList<String>();
  153.             ArrayList<String> menoKonatel = new ArrayList<String>();
  154.             ArrayList<String> priezviskoKonatel = new ArrayList<String>();
  155.             ArrayList<String> odDatumKonatel = new ArrayList<String>();
  156.             ArrayList<String> doDatumKonatel = new ArrayList<String>();
  157.             ///////////////////////////////////////////////////
  158.  
  159.             ////////////tabulka zivnostnik////////////////////
  160.             String titulPredZivnostnik = null;
  161.             String titulZaZivnostnik = null;
  162.             String priezviskoZivnostnik = null;
  163.             String menoZivnostnik = null;
  164.             String celeMenoZivnostnik = null;
  165.             String ulicaZivnostnik = null;
  166.             String cdZivnostnik = null;
  167.             String mestoZivnostnik = null;
  168.             String pscZivnostnik = null;
  169.  
  170.             ///////////////////////////////////////////////////
  171.             ////////////tabulka zahranicny osoba////////////////////
  172.             String titulPredZahrOsoba = null;
  173.             String titulZaZahrOsoba = null;
  174.             String priezviskoZahrOsoba = null;
  175.             String menoZahrOsoba = null;
  176.             String celeMenoZahrOsoba = null;
  177.             String ulicaZahrOsoba = null;
  178.             String cdZahrOsoba = null;
  179.             String mestoZahrOsoba = null;
  180.             String pscZahrOsoba = null;
  181.  
  182.             ///////////////////////////////////////////////////
  183.  
  184.             ///////////////////////////////////////////////
  185.  
  186.             ico = ico.replaceAll(" ", "");
  187.  
  188.             String url = "http://orsr.sk/hladaj_ico.asp?ICO=+" + ico;
  189.             //  System.out.println("Adresa pre URL PRE HLADANIE:" + url);
  190.  
  191.             Document document = Jsoup.connect(url).get();
  192.             Elements links = document.select("a[href]");
  193.             String[] urls = new String[links.size()];
  194.  
  195.             for (i = 0; i < links.size(); i++) {
  196.                 urls[i] = links.get(i).attr("href");
  197.             }
  198.  
  199.             url = "http://orsr.sk/" + urls[8];
  200.             Pattern p = Pattern.compile("&P=1");
  201.             Matcher m = p.matcher(url);
  202.             if (m.find()) {
  203.                 System.out.println("Adresa pre URL PRE DETAIL:" + url);
  204.                 // System.out.println("=========================");
  205.  
  206.                 document = Jsoup.connect(url).get();
  207.                 int tableSize = document.select("table").size();
  208.                 Element table = null;
  209.                 Elements rows = null;
  210.                 int helpName = 0;
  211.  
  212.                 for (int l = 0; l < tableSize - 1; l++) {
  213.                     table = document.select("table").get(l);
  214.                     rows = table.select("tr");
  215.                     p = Pattern.compile("Obchodné meno");   ///menil som :
  216.                     m = p.matcher(rows.toString());
  217.                     if (m.find()) {
  218.                         helpName = l;
  219.                         break;
  220.                     }
  221.                 }
  222.  
  223.                 table = document.select("table").get(helpName);
  224.                 rows = table.select("tr");
  225.                 p = Pattern.compile("Obchodné meno");    //menil som
  226.                 m = p.matcher(rows.toString());
  227.  
  228.                 if (m.find()) {
  229.                     row = rows.get(1);
  230.                     Elements cols = row.select("td");
  231.                     Element col = cols.get(0);
  232.                     obchodnéMeno = col.toString();
  233.                     obchodnéMeno = obchodnéMeno.replaceAll("<[^>]*>", "");
  234.                     //  System.out.println("Obchodné meno: " + obchodnéMeno);
  235.                 } else {
  236.                     isOZPZO = true;
  237.                     row = rows.get(1);
  238.                     Elements cols = row.select("td");
  239.                     Element col = cols.get(0);
  240.                     obchodnéMeno = col.toString();
  241.                     obchodnéMeno = obchodnéMeno.replaceAll("<[^>]*>", "");
  242.                     //   System.out.println("Obchodné meno: " + obchodnéMeno);
  243.                 }
  244.  
  245.                 ///////////////////////vlozenie obchodneho mena do tabulky dodavatel
  246.  
  247.                 int helpSidlo = 0;
  248.                 int helpDenZapisu = 0;
  249.                 int helpDenVymazu = 0;
  250.                 int helpPravnaForma = 0;
  251.                 int helpStatutarnyOrgan = 0;
  252.  
  253.                 for (int l = 0; l < tableSize - 1; l++) {
  254.                     table = document.select("table").get(l);//7
  255.                     rows = table.select("tr");
  256.                     for (int n = 0; n < rows.size(); n++) {
  257.                         row = rows.get(n);
  258.                         p = Pattern.compile("Sídlo:");
  259.                         m = p.matcher(row.toString());
  260.                         if (m.find()) {
  261.                             helpSidlo = n;
  262.                             tableSize = 0;
  263.                             break;
  264.                         }
  265.                         p = Pattern.compile("Miesto podnikania:");
  266.                         m = p.matcher(row.toString());
  267.                         if (m.find()) {
  268.                             helpSidlo = n;
  269.                             tableSize = 0;
  270.                             break;
  271.                         }
  272.                         p = Pattern.compile("Sídlo organizačnej zložky:");
  273.                         m = p.matcher(row.toString());
  274.                         if (m.find()) {
  275.                             helpSidlo = n;
  276.                             tableSize = 0;
  277.                             break;
  278.                         }
  279.                     }
  280.  
  281.  
  282.                 }
  283.                 m = p.matcher(row.toString());
  284.                 row = rows.get(helpSidlo);
  285.                 if (m.find())
  286.                     row = rows.get(helpSidlo + 1);
  287.  
  288.                 Elements cols = row.select("td");
  289.                 Element col = cols.get(0);
  290.                 sidlo = col.toString();
  291.                 //sidlo = sidlo.replaceAll("<[^>]*>", "");
  292.  
  293.                 ArrayList<String> rozdelenaAdresa = rozdelAdresuVlastnika(sidlo);
  294.  
  295.                 ulica = rozdelenaAdresa.get(0).trim();
  296.                 čisloDomu = rozdelenaAdresa.get(1).trim();
  297.                 mesto = rozdelenaAdresa.get(2).trim();
  298.                 PSČ = rozdelenaAdresa.get(3).trim();
  299.  
  300.                 /////////////////////////vlozenie adresy do tabulky dodavatel
  301.  
  302.                 tableSize = document.select("table").size();
  303.  
  304.                 for (int l = 7; l < tableSize - 1; l++) {
  305.                     table = document.select("table").get(l);//7
  306.                     rows = table.select("tr");
  307.                     for (int n = 0; n < rows.size(); n++) {
  308.                         row = rows.get(n);
  309.                         p = Pattern.compile("Deň zápisu:");
  310.                         m = p.matcher(row.toString());
  311.                         if (m.find()) {
  312.                             helpDenZapisu = n;
  313.                             tableSize = 0;
  314.                             break;
  315.                         }
  316.                     }
  317.                 }
  318.                 row = rows.get(helpDenZapisu);
  319.                 m = p.matcher(row.toString());
  320.                 if (m.find())
  321.                     row = rows.get(helpDenZapisu + 1);
  322.                 cols = row.select("td");
  323.                 col = cols.get(0);
  324.                 denZapisu = col.toString();
  325.                 denZapisu = denZapisu.replaceAll("<[^>]*>", "");
  326.                 //   System.out.println("Den zápisu: " + denZapisu);
  327.                 ///////////vlozenie dna zapisu dodavatel
  328.                 // System.out.println("---------------------");
  329.  
  330.                 tableSize = document.select("table").size();
  331.  
  332.                 for (int l = 9; l < tableSize - 1; l++) {
  333.                     table = document.select("table").get(l);
  334.                     rows = table.select("tr");
  335.                     for (int n = 0; n < rows.size(); n++) {
  336.                         row = rows.get(n);
  337.                         p = Pattern.compile("Právna forma:");
  338.                         m = p.matcher(row.toString());
  339.                         if (m.find()) {
  340.                             helpPravnaForma = n;
  341.                             tableSize = 0;
  342.                             break;
  343.                         }
  344.                     }
  345.                 }
  346.                 row = rows.get(helpPravnaForma);
  347.                 m = p.matcher(row.toString());
  348.                 if (m.find())
  349.                     row = rows.get(helpPravnaForma + 1);
  350.                 cols = row.select("td");
  351.                 col = cols.get(0);
  352.                 pravnaForma = col.toString();
  353.                 pravnaForma = pravnaForma.replaceAll("<[^>]*>", "");
  354.                 //  System.out.println("Právna forma: " + pravnaForma);
  355.                 ////////////////vlozenie pravnej formy
  356.                 //   System.out.println("=================================================================================================");
  357.  
  358.  
  359.                 tableSize = document.select("table").size();
  360.                 int tableNum = 0;
  361.                 for (int l = 10; l < tableSize - 1; l++) {
  362.                     table = document.select("table").get(l);
  363.                     rows = table.select("tr");
  364.                     for (int n = 0; n < rows.size(); n++) {
  365.                         row = rows.get(n);
  366.                         p = Pattern.compile("Štatutárny orgán:");
  367.                         m = p.matcher(row.toString());
  368.                         Pattern p2 = Pattern.compile("Vedúci organizačnej zložky:");
  369.                         Matcher m2 = p2.matcher(row.toString());
  370.                         if (m.find()) {
  371.                             helpStatutarnyOrgan = n;
  372.                             tableNum = l;
  373.                             tableSize = 0;
  374.                             break;
  375.                         } else if (m2.find()) {
  376.                             helpStatutarnyOrgan = n;
  377.                             tableNum = l;
  378.                             tableSize = 0;
  379.                             break;
  380.                         }
  381.                     }
  382.                 }
  383.                 row = rows.get(helpStatutarnyOrgan);
  384.                 m = p.matcher(row.toString());
  385.                 if (m.find())
  386.                     row = rows.get(helpStatutarnyOrgan + 1);
  387.                 cols = row.select("td");
  388.                 col = cols.get(0);
  389.                 statutarnyOrgan = col.toString();
  390.                 statutarnyOrgan = statutarnyOrgan.replaceAll("<[^>]*>", "");
  391.  
  392.  
  393.                 //  System.out.println("Štatutárny orgán: " + statutarnyOrgan);
  394.                 ///////////////////vlozenie statutarny organ
  395.                 //   System.out.println("=================================================================================================");
  396.  
  397.                 p = Pattern.compile("Samostatne podnikajúca fyzická osoba");
  398.                 m = p.matcher(pravnaForma);
  399.                 if (m.find() || isOZPZO == true) {
  400.                     statutarnyOrgan = null;
  401.                 }
  402.  
  403.                 //-----------ČLENOVIA------------------------
  404.                 table = document.select("table").get(tableNum);
  405.                 rows = table.select("tr");
  406.                 p = Pattern.compile("Samostatne podnikajúca fyzická osoba");
  407.                 m = p.matcher(pravnaForma);
  408.                 if(!m.find()) {
  409.                     int jumpOverN=0;
  410.                     for (int n = 1; n < rows.size(); n++) {
  411.                         row = rows.get(n);
  412.                         cols = row.select("td");
  413.                         col = cols.get(0);
  414.                         Pattern p2 = Pattern.compile("v celom rozsahu");
  415.                         Matcher matcher2 = p2.matcher(col.toString());
  416.                         if(matcher2.find()){
  417.                             jumpOverN=n;
  418.                         }
  419.                     }
  420.                     for (int n = 1; n < rows.size(); n++) {
  421.                         if(n!=jumpOverN) {
  422.                             if (isPredstavenstvo(rows)) {
  423.                                 Pattern p2 = Pattern.compile("v celom rozsahu");
  424.                                 Matcher matcher2 = p2.matcher(col.toString());
  425.                                 p = Pattern.compile("predstavenstvo");
  426.                                 m = p.matcher(row.toString());
  427.                                 p = Pattern.compile("konatelia");
  428.                                 Matcher matcher = p.matcher(row.toString());
  429.                                 if (!m.find()) {
  430.                                     if (!matcher.find()) {
  431.                                         cols = row.select("td");
  432.                                         col = cols.get(0);
  433.                                         String vlastnik = col.toString();
  434.                                         p = Pattern.compile("predseda");
  435.                                         m = p.matcher(row.toString());
  436.                                         Pattern pčlen= Pattern.compile("člen");
  437.                                         Matcher mČlen = pčlen.matcher(row.toString());
  438.                                         if (m.find() ||  mČlen.find()) {
  439.                                             Pattern p1 = Pattern.compile("predstavenstvo");
  440.                                             Matcher m1 = p1.matcher(vlastnik);
  441.                                             if (!m1.find()) {
  442.                                                 //    System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
  443.  
  444.                                                 ArrayList<String> rozdeleneMenoClena = rozdelMenoATituly(oddelPredstavitelov(vlastnik).get(0)); //vracia meno rozdelene na tituly a mena
  445.                                                 vlastnici.add(oddelPredstavitelov(vlastnik).get(0).replaceAll("<[^>]*>", ""));
  446.  
  447.  
  448.                                                 titulPredClena.add(rozdeleneMenoClena.get(0));
  449.                                                 menoClena.add(rozdeleneMenoClena.get(1));
  450.                                                 priezviskoClena.add(rozdeleneMenoClena.get(2));
  451.                                                 titulZaClena.add(rozdeleneMenoClena.get(3));
  452.  
  453.                                                 ArrayList<String> rozdelenaAdresaClena = oddelPredstavitelov(vlastnik);
  454.                                                 ulicaClena.add(rozdelenaAdresaClena.get(2).replaceAll("<[^>]*>", ""));
  455.                                                 cisloDomuClen.add(rozdelenaAdresaClena.get(3).replaceAll("<[^>]*>", ""));
  456.                                                 mestoClena.add(rozdelenaAdresaClena.get(4).replaceAll("<[^>]*>", ""));
  457.                                                 pscClena.add(rozdelenaAdresaClena.get(5).replaceAll("<[^>]*>", ""));
  458.  
  459.                                                 rozdelenaAdresaClena.clear();
  460.                                                 rozdeleneMenoClena.clear();
  461.  
  462.                                                 p1 = Pattern.compile("člen");
  463.                                                 p2 = Pattern.compile("predseda");
  464.                                                 m1 = p1.matcher(vlastnik);
  465.                                                 Matcher m2 = p2.matcher(vlastnik);
  466.                                                 if (!m.find() && !m2.find())
  467.                                                     rolaClena.add("člen");
  468.  
  469.                                                 else {
  470.                                                     rolaClena.add(oddelPredstavitelov(vlastnik).get(1).replaceAll("<[^>]*>", "").replaceAll("-", ""));
  471.                                                 }
  472.  
  473.                                                 if (isPodpredseda == false) {
  474.                                                     Pattern pattern = Pattern.compile("podpredseda");
  475.                                                     Matcher matcher1 = pattern.matcher(rolaClena.get(countClen));
  476.                                                     if (matcher1.find()) {
  477.                                                         podpredseda = vlastnici.get(countClen);
  478.                                                         isPodpredseda = true;
  479.                                                     }
  480.                                                 }
  481.                                                 if (isPredseda == false) {
  482.                                                     Pattern pattern = Pattern.compile("predseda");
  483.                                                     Matcher matcher1 = pattern.matcher(rolaClena.get(countClen));
  484.                                                     if (matcher1.find()) {
  485.                                                         predseda = vlastnici.get(countClen);
  486.                                                         isPredseda = true;
  487.                                                     }
  488.                                                 }
  489.  
  490.                                             }
  491.                                         } else {
  492.  
  493.                                             ArrayList<String> rozdeleneMenoClena = rozdelMenoATituly(oddelVlastnikov(vlastnik).get(0)); //vracia meno rozdelene na tituly a mena
  494.                                             vlastnici.add(oddelVlastnikov(vlastnik).get(0).replaceAll("<[^>]*>", ""));
  495.                                             titulPredClena.add(rozdeleneMenoClena.get(0));
  496.                                             menoClena.add(rozdeleneMenoClena.get(1));
  497.                                             priezviskoClena.add(rozdeleneMenoClena.get(2));
  498.                                             titulZaClena.add(rozdeleneMenoClena.get(3));
  499.  
  500.                                             ArrayList<String> rozdelenaAdresaClena = oddelVlastnikov(vlastnik);
  501.                                             ulicaClena.add(rozdelenaAdresaClena.get(1).replaceAll("<[^>]*>", ""));
  502.                                             cisloDomuClen.add(rozdelenaAdresaClena.get(2).replaceAll("<[^>]*>", ""));
  503.                                             mestoClena.add(rozdelenaAdresaClena.get(3).replaceAll("<[^>]*>", ""));
  504.                                             pscClena.add(rozdelenaAdresaClena.get(4).replaceAll("<[^>]*>", ""));
  505.                                             rolaClena.add("člen");
  506.  
  507.                                         }
  508.  
  509.                                         col = cols.get(1);
  510.                                         String datumy = col.toString();
  511.                                         datumy = datumy.replaceAll("<[^>]*>", "");
  512.                                         datumy = datumy.replaceAll("&nbsp;", "");
  513.                                         datumy = datumy.replaceAll("od:", "");
  514.                                         p = Pattern.compile("do");
  515.                                         m = p.matcher(datumy);
  516.                                         if (m.find()) {
  517.                                             odDatumClen.add(oddeldatum(datumy).get(0));
  518.                                             doDatumClen.add(oddeldatum(datumy).get(1));
  519.                                         } else {
  520.                                             odDatumClen.add(datumy);
  521.                                             doDatumClen.add(null);
  522.  
  523.  
  524.                                         }
  525.  
  526.  
  527.                                         //    System.out.println("Pozicia vlastnika: " + rolaClena.get(count));
  528.                                         //    System.out.println("Datum od: " + editDate(odDatumClen.get(count).replaceAll("[(\\|)]", "").trim()));
  529.  
  530.  
  531.                                         if (doDatumClen.get(countClen) == null) {
  532.  
  533.                                             //      System.out.println("Dátum do: Este aktualne");
  534.                                         } else {
  535.                                             //     System.out.println("Dátum do: " + editDate(doDatumClen.get(countClen).replaceAll("[(\\|)]", "")));
  536.                                         }
  537.                                         //         System.out.println("+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++");
  538.                                         countClen++;
  539.                                     }
  540.                                 }
  541.                             } else {
  542.                                 row = rows.get(n);
  543.                                 cols = row.select("td");
  544.                                 col = cols.get(0);
  545.                                 String vlastnik = col.toString();
  546.                                 Pattern p1 = Pattern.compile("konateľ");
  547.                                 Matcher m1 = p1.matcher(vlastnik);
  548.                                 Pattern p2 = Pattern.compile("konatelia");
  549.                                 Matcher m2 = p2.matcher(vlastnik);
  550.                                 if (!m1.find() && !m2.find()) {
  551.  
  552.                                     ArrayList<String> rozdeleneMenoKonatel = rozdelMenoATituly(oddelVlastnikov(vlastnik).get(0)); //vracia meno rozdelene na tituly a mena
  553.                                     vlastnici.add(oddelVlastnikov(vlastnik).get(0).replaceAll("<[^>]*>", ""));
  554.  
  555.                                     titulPredKonatel.add(rozdeleneMenoKonatel.get(0));
  556.                                     menoKonatel.add(rozdeleneMenoKonatel.get(1));
  557.                                     priezviskoKonatel.add(rozdeleneMenoKonatel.get(2));
  558.                                     titulZaKonatel.add(rozdeleneMenoKonatel.get(3));
  559.                                     ArrayList<String> rozdelenaAdresaVlastnika = oddelVlastnikov(vlastnik);
  560.                                     ulicaKonatel.add(rozdelenaAdresaVlastnika.get(1).replaceAll("<[^>]*>", ""));
  561.                                     cisloDomuKonatel.add(rozdelenaAdresaVlastnika.get(2).replaceAll("<[^>]*>", ""));
  562.                                     mestoKonatel.add(rozdelenaAdresaVlastnika.get(3).replaceAll("<[^>]*>", ""));
  563.                                     pscKonatel.add(rozdelenaAdresaVlastnika.get(4).replaceAll("<[^>]*>", ""));
  564.                                     col = cols.get(1);
  565.                                     String datumy = col.toString();
  566.                                     datumy = datumy.replaceAll("<[^>]*>", "");
  567.                                     datumy = datumy.replaceAll("&nbsp;", "");
  568.                                     datumy = datumy.replaceAll("od:", "");
  569.                                     datumy = datumy.replaceAll("\\(:", "");
  570.  
  571.                                     p = Pattern.compile("do");
  572.                                     m = p.matcher(datumy);
  573.  
  574.                                     if (m.find()) {
  575.                                         odDatumKonatel.add(oddeldatum(datumy).get(0));
  576.                                         doDatumKonatel.add(oddeldatum(datumy).get(1));
  577.                                     } else {
  578.                                         odDatumKonatel.add(datumy);
  579.                                         doDatumKonatel.add(null);
  580.  
  581.  
  582.                                     }
  583.                                     countKonatel++;
  584.  
  585.                                     //    System.out.println("Datum od:" + editDate(odDatumKonatel.get(count).replaceAll("[(\\|)]", "")));
  586.  
  587.                           /*  if (doDatumKonatel.get(countKonatel) == null) {
  588.  
  589.                                 //     System.out.println(" Este aktualne");
  590.                             } else {
  591.                                 //       System.out.println("Dátum do: " + editDate(doDatum.get(count).replaceAll("[(\\|)]", "")));
  592.                             }
  593.                             //System.out.println("Vlstníci: " + vlastnici.get(count));
  594. */
  595.                                 }
  596.                             }
  597.  
  598.                         }
  599.                     }
  600.                 }
  601.  
  602.  
  603.                 tableSize = document.select("table").size();
  604.  
  605.                 for (int l = 10; l < tableSize - 1; l++) {
  606.                     table = document.select("table").get(l);
  607.                     rows = table.select("tr");
  608.                     for (int n = 0; n < rows.size(); n++) {
  609.                         row = rows.get(n);
  610.                         p = Pattern.compile("Deň výmazu:");
  611.                         m = p.matcher(row.toString());
  612.                         if (m.find()) {
  613.                             helpDenVymazu = n;
  614.                             tableSize = 0;
  615.                             row = rows.get(helpDenVymazu);
  616.                             m = p.matcher(row.toString());
  617.                             if (m.find())
  618.                                 row = rows.get(helpDenVymazu + 1);
  619.                             cols = row.select("td");
  620.                             col = cols.get(0);
  621.                             denVymazu = col.toString();
  622.                             denVymazu = denVymazu.replaceAll("<[^>]*>", "");
  623.                             break;
  624.                         }
  625.  
  626.                     }
  627.                     if (l == tableSize)
  628.                         denVymazu = null;
  629.                 }
  630.                 int helpZivnostnik = 0;
  631.                 for (int l = 0; l < tableSize - 1; l++) {
  632.                     table = document.select("table").get(l);
  633.                     rows = table.select("tr");
  634.                     p = Pattern.compile("Údaje o podnikateľovi");   ///menil som :
  635.                     m = p.matcher(rows.toString());
  636.                     if (m.find()) {
  637.                         helpZivnostnik = l;
  638.                         break;
  639.                     }
  640.                 }
  641.                 table = document.select("table").get(helpZivnostnik);
  642.                 rows = table.select("tr");
  643.                 p = Pattern.compile("Údaje o podnikateľovi");    //menil som
  644.                 m = p.matcher(rows.toString());
  645.                 if (m.find()) {
  646.                     row = rows.get(1);
  647.                     cols = row.select("td");
  648.                     col = cols.get(0);
  649.                     celeMenoZivnostnik = col.toString();
  650.                     //  System.out.println("SOM TU: " + celeMenoZivnostnik);
  651.                     ArrayList<String> rozdeleneMenoZivnostnika = rozdelMenoATituly(celeMenoZivnostnik); //vracia meno rozdelene na tituly a mena
  652.                     titulPredZivnostnik = rozdeleneMenoZivnostnika.get(0);
  653.                     menoZivnostnik = rozdeleneMenoZivnostnika.get(1);
  654.                     priezviskoZivnostnik = rozdeleneMenoZivnostnika.get(2);
  655.                     titulZaZivnostnik = rozdeleneMenoZivnostnika.get(3);
  656.                 }
  657.  
  658.                 int helpBydlisko = 0;
  659.                 for (int l = 0; l < tableSize - 1; l++) {
  660.                     table = document.select("table").get(l);
  661.                     rows = table.select("tr");
  662.                     p = Pattern.compile("Bydlisko");   ///menil som :
  663.                     m = p.matcher(rows.toString());
  664.                     if (m.find()) {
  665.                         helpBydlisko = l;
  666.                         break;
  667.                     }
  668.                 }
  669.                 table = document.select("table").get(helpBydlisko);
  670.                 rows = table.select("tr");
  671.                 p = Pattern.compile("Bydlisko");    //menil som
  672.                 m = p.matcher(rows.toString());
  673.                 if (m.find()) {
  674.                     row = rows.get(1);
  675.                     cols = row.select("td");
  676.                     col = cols.get(0);
  677.                     String adresaZivnostnik = col.toString();
  678.                     //  System.out.println("SOM TU: " + celeMenoZivnostnik);
  679.                     ArrayList<String> rozdeleneMenoZivnostnika = rozdelAdresuVlastnika(adresaZivnostnik); //vracia meno rozdelene na tituly a mena
  680.                     ulicaZivnostnik = rozdeleneMenoZivnostnika.get(0);
  681.                     cdZivnostnik = rozdeleneMenoZivnostnika.get(1);
  682.                     mestoZivnostnik = rozdeleneMenoZivnostnika.get(2);
  683.                     pscZivnostnik = rozdeleneMenoZivnostnika.get(3);
  684.                 }
  685.  
  686.  
  687.                 ///////////////////////////////////////////////////////////////////////////////////////////////
  688.                 ////////////////////////////////////////tu sa bude vkladat//////////////////////////////////////
  689.                 ///////////////////////////////////////////////////////////////////////////////////////////////
  690.  
  691.                 if (obchodnéMeno != null && ico != null && editDate(denZapisu.replaceAll("[(\\|)]", "")) != null && pravnaForma.trim().replaceAll("\\.", "") != null && ulica != null && PSČ != null && čisloDomu != null && mesto != null) {
  692.  
  693.                     //    System.out.println("__________________________________________Tabulka Dodavatel___________________________________________");
  694.                     if (denVymazu == null) {
  695.                         //    System.out.println("Obchodne meno: " + obchodnéMeno + " |ICO: " + ico + " |Zapis: " + editDate(denZapisu.replaceAll("[(\\|)]", "")) + " |Vymaz:" + editDate("0.0"));
  696.                         mySQLAccess.writeDodavatel(obchodnéMeno, ico, editDate(denZapisu.replaceAll("[(\\|)]", "")), null, pravnaForma.trim().replaceAll("\\.", ""), ulica, PSČ, čisloDomu, mesto);
  697.                     } else {
  698.                         //    System.out.println("Obchodne meno: " + obchodnéMeno + " |ICO: " + ico + " |Zapis: " + editDate(denZapisu.replaceAll("[(\\|)]", "")) + " |Vymaz:" + editDate(denVymazu.replaceAll("[(\\|)]", "")));
  699.                         mySQLAccess.writeDodavatel(obchodnéMeno, ico, editDate(denZapisu.replaceAll("[(\\|)]", "")), editDate(denVymazu.replaceAll("[(\\|)]", "")), pravnaForma.trim().replaceAll("\\.", ""), ulica, PSČ, čisloDomu, mesto);
  700.  
  701.                     }
  702.                 }
  703.                 ////  System.out.println("Právna forma: " + pravnaForma.trim().replaceAll("\\.", "") + " |Ulica: " + ulica + " |CD: " + čisloDomu + " |PSC: " + PSČ + " |Mesto: " + mesto);
  704.                 //   System.out.println("______________________________________________________________________________________________________");
  705.                 //    System.out.println("__________________________________________Statutarny Ogan_____________________________________________");
  706.  
  707.                 if (pravnaForma.trim().equals("Samostatne podnikajúca fyzická osoba")) {
  708.                     statutarnyOrgan = "Živnostník";
  709.                 } else if (pravnaForma.trim().equals("Organizačná zložka podniku zahraničnej osoby.")) {
  710.                     statutarnyOrgan = "Zahraničná osoba";
  711.                 }
  712.                 mySQLAccess.writeStatutarnyOrgan(statutarnyOrgan.trim(), mySQLAccess.readId());
  713.                 //   System.out.println("ICO: " + ico + " |Typ: " + statutarnyOrgan.trim() + " |ID: " + IdStatut);
  714.                 //   System.out.println("______________________________________________________________________________________________________");
  715.  
  716.  
  717.                 if (statutarnyOrgan.equals("Živnostník")) {
  718.                     //    System.out.println("__________________________________________Zivnostnik______________________________________________");
  719.  
  720.                     if (menoZivnostnik != null && priezviskoZivnostnik != null && ulicaZivnostnik != null && pscZivnostnik != null && cdZivnostnik != null && mestoZivnostnik != null && editDate(denZapisu.replaceAll("[(\\|)]", "")) != null) {
  721.  
  722.                         if (denVymazu == null) {
  723.                             //   System.out.println("Zapis: " + editDate(denZapisu.replaceAll("[(\\|)]", "")) + " |Vymaz:*******|");
  724.                             mySQLAccess.writeZivnostnik(menoZivnostnik, priezviskoZivnostnik, titulPredZivnostnik, titulZaZivnostnik, ulicaZivnostnik, pscZivnostnik, cdZivnostnik, mestoZivnostnik, editDate(denZapisu.replaceAll("[(\\|)]", "")), null, mySQLAccess.readIdStatu());
  725.  
  726.                         } else {
  727.                             //     System.out.println("Zapis: " + editDate(denZapisu.replaceAll("[(\\|)]", "")) + " |Vymaz:" + editDate(denVymazu.replaceAll("[(\\|)]", "")));
  728.                             mySQLAccess.writeZivnostnik(menoZivnostnik, priezviskoZivnostnik, titulPredZivnostnik, titulZaZivnostnik, ulicaZivnostnik, pscZivnostnik, cdZivnostnik, mestoZivnostnik, editDate(denZapisu.replaceAll("[(\\|)]", "")), editDate(denVymazu.replaceAll("[(\\|)]", "")), mySQLAccess.readIdStatu());
  729.  
  730.                         }
  731.                     }
  732.                     //  System.out.println("Titul pred: " + titulPredZivnostnik + "Meno: " + menoZivnostnik + "Priezvisko: " + priezviskoZivnostnik + "Titul za: " + titulZaZivnostnik +
  733.                     //       " |Ulica: " + ulicaZivnostnik + " |CD: " + cdZivnostnik + " |PSC: " + pscZivnostnik + " |Mesto: " + mestoZivnostnik + "Id: CHYBA PREMENNÁ");
  734.                     //  System.out.println("______________________________________________________________________________________________________");
  735.  
  736.  
  737.                 } else if (pravnaForma.trim().equals("Akciová spoločnosť")) {
  738.                     //     System.out.println("__________________________________________Predstavenstvo__________________________________________");
  739.                     if (predseda != null)
  740.                         predseda.trim();
  741.                     if (podpredseda != null)
  742.                         podpredseda.trim();
  743.                     //    System.out.println("Predseda: " + predseda + "|Podpredseda: " + podpredseda + " |ID: " + IdStatut);
  744.                     //kazdeho clena este
  745.                     if (predseda != null && podpredseda != null)
  746.                         mySQLAccess.writPredstavenstvo(predseda, podpredseda, mySQLAccess.readIdStatu());
  747.  
  748.                     //    System.out.println("__________________________________________________________________________________________________");
  749.  
  750.                     //   System.out.println("__________________________________________Tabuľka člen__________________________________________");
  751.                     for (int clen = 0; clen < countClen; clen++) {
  752.                         String dateClen;
  753.                         dateClen = odDatumClen.get(clen).replaceAll("\\(", "");
  754.                         dateClen = dateClen.replaceAll("\\)", "");
  755.                         //       System.out.println("_________________________________________________________________________________________________");
  756.                         //      System.out.println("Tituly pred: "
  757.                         //              + titulPredClena.get(clen).trim() +
  758.                         //              "|Meno: " + menoClena.get(clen).trim() +
  759.                         //              "|Priezvisko: " + priezviskoClena.get(clen).trim()
  760.                         //               + "|Tituly za: " + titulZaClena.get(clen).trim());
  761.                         //       System.out.println("Rola: " + rolaClena.get(clen).trim() + "|Ulica: " + ulicaClena.get(clen).trim() + "|CD: " + cisloDomuClen.get(clen).trim() +
  762.                         //              "|Mesto: " + mestoClena.get(clen).trim() + "|PSČ: " + pscClena.get(clen).trim());
  763.                         //      System.out.println("Dátum priradenia: " + dateClen.trim() + "|Dátum ukončenia: " + doDatumClen.get(clen) + "|Id: CHÝBA PREMENNÁ");
  764.  
  765.                         if (menoClena.get(clen).trim() != null && priezviskoClena.get(clen).trim() != null && rolaClena.get(clen).trim() != null && ulicaClena.get(clen).trim() != null && cisloDomuClen.get(clen).trim() != null && pscClena.get(clen).trim() != null && mestoClena.get(clen).trim() != null && editDate(dateClen.trim()) != null)
  766.                             mySQLAccess.writeClen(menoClena.get(clen).trim(), priezviskoClena.get(clen).trim(), titulPredClena.get(clen).trim(), titulZaClena.get(clen).trim(), rolaClena.get(clen).trim(), ulicaClena.get(clen).trim(), cisloDomuClen.get(clen).trim(), pscClena.get(clen).trim(), mestoClena.get(clen).trim(), editDate(dateClen.trim().replaceAll("[(\\|)]", "")), editDate(dateClen.trim().replaceAll("[(\\|)]", "")), mySQLAccess.readIdPredstaven());
  767.                         //     System.out.println("_________________________________________________________________________________________________");
  768.  
  769.                     }
  770.                     // IdPreds++;
  771.                     //  System.out.println("__________________________________________________________________________________________________");
  772.  
  773.                 } else if (pravnaForma.trim().equals("Spoločnosť s ručením obmedzeným")) {
  774.                     //    System.out.println("__________________________________________Konatel_________________________________________________");
  775.                     for (int konatel = 0; konatel < countKonatel; konatel++) {
  776.                         //      System.out.println(konatel);
  777.                         //       System.out.println(countKonatel);
  778.                         String dateKonatel;
  779.                         dateKonatel = odDatumKonatel.get(konatel).replaceAll("\\(", "");
  780.                         dateKonatel = dateKonatel.replaceAll("\\)", "");
  781.                         //       System.out.println("_________________________________________________________________________________________________");
  782.                         //       System.out.println("Tituly pred: "
  783.                         //               + titulPredKonatel.get(konatel).trim() +
  784.                         //               "|Meno: " + menoKonatel.get(konatel).trim() +
  785.                         //               "|Priezvisko: " + priezviskoKonatel.get(konatel).trim()
  786.                         //               + "|Tituly za: " + titulZaKonatel.get(konatel).trim());
  787.                         //       System.out.println("Ulica: " + ulicaKonatel.get(konatel).trim() + "|CD: " + cisloDomuKonatel.get(konatel).trim() +
  788.                         //               "|Mesto: " + mestoKonatel.get(konatel).trim() + "|PSČ: " + pscKonatel.get(konatel).trim());
  789.                         //       System.out.println("Dátum priradenia: " + dateKonatel.trim() + "|Dátum ukončenia: " + doDatumKonatel.get(konatel) + "|Id: CHÝBA PREMENNÁ");
  790.                         //       System.out.println("_________________________________________________________________________________________________");
  791.  
  792.                         if (menoKonatel.get(konatel).trim() != null && priezviskoKonatel.get(konatel).trim() != null && ulicaKonatel.get(konatel).trim() != null && cisloDomuKonatel.get(konatel).trim() != null && pscKonatel.get(konatel).trim() != null && mestoKonatel.get(konatel).trim() != null && editDate(dateKonatel.trim()) != null)
  793.                             mySQLAccess.writeKonatel(menoKonatel.get(konatel).trim(), priezviskoKonatel.get(konatel).trim(), titulPredKonatel.get(konatel).trim(), titulZaKonatel.get(konatel).trim(), ulicaKonatel.get(konatel).trim(), cisloDomuKonatel.get(konatel).trim(), pscKonatel.get(konatel).trim(), mestoKonatel.get(konatel).trim(), editDate(dateKonatel.trim().replaceAll("[(\\|)]", "")), editDate(dateKonatel.trim().replaceAll("[(\\|)]", "")), mySQLAccess.readIdStatu());
  794.  
  795.                     }
  796.                 } else if (statutarnyOrgan.trim().equals("Zahraničná osoba")) {
  797.                     // System.out.println("__________________________________________Zahranicna osoba________________________________________");
  798.                     for (int konatel = 0; konatel < countKonatel; konatel++) {
  799.                         //      System.out.println(konatel);
  800.                         //      System.out.println(countKonatel);
  801.                         String dateKonatel;
  802.                         dateKonatel = odDatumKonatel.get(konatel).replaceAll("\\(", "");
  803.                         dateKonatel = dateKonatel.replaceAll("\\)", "");
  804.                 //        System.out.println("_________________________________________________________________________________________________");
  805.                   //          System.out.println("Tituly pred: "
  806.                    //                  + titulPredKonatel.get(konatel).trim() +
  807.                   ///      "|Meno: " + menoKonatel.get(konatel).trim() +
  808.                   //                    "|Priezvisko: " + priezviskoKonatel.get(konatel).trim()
  809.                   //                    + "|Tituly za: " + titulZaKonatel.get(konatel).trim());
  810.                   //           System.out.println("Ulica: " + ulicaKonatel.get(konatel).trim() + "|CD: " + cisloDomuKonatel.get(konatel).trim() +
  811.                   //                    "|Mesto: " + mestoKonatel.get(konatel).trim() + "|PSČ: " + pscKonatel.get(konatel).trim());
  812.                    //            System.out.println("Dátum priradenia: " + dateKonatel.trim() + "|Dátum ukončenia: " + doDatumKonatel.get(konatel) + "|Id: CHÝBA PREMENNÁ");
  813.  
  814.                         if (menoKonatel.get(konatel).trim() != null && priezviskoKonatel.get(konatel).trim() != null && ulicaKonatel.get(konatel).trim() != null && cisloDomuKonatel.get(konatel).trim() != null && pscKonatel.get(konatel).trim() != null && mestoKonatel.get(konatel).trim() != null && editDate(dateKonatel.trim().replaceAll("[\\(\\|\\)]", "")) != null&& doDatumKonatel.get(konatel)  != null )
  815.                             mySQLAccess.writeZahranicnaOsoba(menoKonatel.get(konatel).trim(), priezviskoKonatel.get(konatel).trim(), titulPredKonatel.get(konatel).trim(), titulZaKonatel.get(konatel).trim(), ulicaKonatel.get(konatel).trim(), cisloDomuKonatel.get(konatel).trim(), pscKonatel.get(konatel).trim(), mestoKonatel.get(konatel).trim(), editDate(dateKonatel.trim().replaceAll("[\\(\\|\\)]", "")), editDate(doDatumKonatel.get(konatel).replaceAll("[\\(\\|\\)]", "")), mySQLAccess.readIdStatu());
  816.  
  817.                     }
  818.  
  819.                     // System.out.println("__________________________________________________________________________________________________");
  820.  
  821.  
  822.                 } else {
  823.                     System.out.println("!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!NOVY STATUTARNY ORGAN!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!");
  824.                 }
  825.  
  826.  
  827.             } else {
  828.                 System.out.println("Nenašlo sa IČO...");
  829.             }
  830.  
  831.             //  IdStatut++;
  832.  
  833.         }
  834.  
  835.     }
  836.  
  837.     private static ArrayList<String> rozdelAdresuVlastnika(String adresa) {
  838.         ArrayList<String> rozdelene = new ArrayList<>();
  839.  
  840.         //0 - ulica
  841.         //1 - cislo
  842.         //2 - mesto
  843.         //3 - psc
  844.  
  845.         char[] buff = adresa.toCharArray();
  846.         ArrayList<String> pomocnePole = new ArrayList<>();   //pole, kde si rozdelim data medzi '> <'
  847.         // System.out.println(adresa);
  848.         int pos1 = 0;
  849.         int pos2 = 0;
  850.  
  851.         // System.out.println("_______________________________________");
  852.         for (int i = 0; i < buff.length; i++) {
  853.             if (pos1 != 0 && pos2 != 0 && pos1 < pos2) {
  854.  
  855.                 if (adresa.substring(pos1 + 1, pos2).length() > 2) {   //kvoli htmltagom kde su medzeri medzi nimi len
  856.                     pomocnePole.add(adresa.substring(pos1 + 1, pos2));
  857.                     //  System.out.println(pomocnePole.size() - 1 + "    " + adresa.substring(pos1 + 1, pos2));
  858.                     pos1 = 0;
  859.                     pos2 = 0;
  860.                 }
  861.             }
  862.  
  863.             if (buff[i] == '>') {
  864.                 pos1 = i;
  865.             }
  866.  
  867.             if (buff[i] == '<') {
  868.                 pos2 = i;
  869.             }
  870.         }
  871.         //  System.out.println("_______________________________________");
  872.  
  873.  
  874.         switch (pomocnePole.size()) {
  875.             case 3: {                    //ulica, cislo ulice, mesto
  876.                 rozdelene.add(pomocnePole.get(0));
  877.                 rozdelene.add(pomocnePole.get(1));
  878.                 rozdelene.add(pomocnePole.get(2));
  879.                 rozdelene.add("XXXXX");
  880.                 break;
  881.             }
  882.             case 4: {                    //ulica, cislo ulice, mesto,psc
  883.  
  884.                 char[] pom2 = pomocnePole.get(0).trim().toCharArray();   //pre pripad ked zacina sa to cislom domu lbo dedina nema ulice, tak ulicu nastavim taku ako nazov dediny
  885.                 if (Character.isDigit(pom2[0])) {
  886.                     rozdelene.add(pomocnePole.get(1));  //ulica ako dedina
  887.                     rozdelene.add(pomocnePole.get(0));  //cd ktore bolo na zaciatku
  888.                     rozdelene.add(pomocnePole.get(1));  //mesto
  889.                     rozdelene.add(pomocnePole.get(2));  //psc
  890.                 } else {
  891.                     rozdelene.add((pomocnePole.get(0)));
  892.                     rozdelene.add(pomocnePole.get(1));
  893.                     rozdelene.add(pomocnePole.get(2));
  894.                     if (pomocnePole.get(3) != null) {
  895.                         char[] pom = pomocnePole.get(3).toCharArray();
  896.                         if (Character.isAlphabetic(pom[2])) {
  897.                             rozdelene.add("XXXXX");
  898.                         } else
  899.                             rozdelene.add((pomocnePole.get(3)));
  900.                     } else
  901.                         rozdelene.add("XXXXX");
  902.                 }
  903.                 break;
  904.             }
  905.             case 5: {                    //ulica, cislo ulice, mesto,psc
  906.                 rozdelene.add((pomocnePole.get(0)));
  907.                 rozdelene.add(pomocnePole.get(1));
  908.                 rozdelene.add(pomocnePole.get(2));
  909.  
  910.                 if (pomocnePole.get(3) != null) {
  911.                     char[] pom = pomocnePole.get(3).trim().toCharArray();
  912.                     if (Character.isAlphabetic(pom[2])) {    //daktore nemusia mat 4 pismenka
  913.                         rozdelene.add("XXXXX");
  914.                     } else
  915.                         rozdelene.add((pomocnePole.get(3)));
  916.                 } else
  917.                     rozdelene.add("XXXXX");
  918.  
  919.                 break;
  920.             }
  921.             case 6: {                    //ulica, cislo ulice, mesto,psc
  922.                 rozdelene.add((pomocnePole.get(0)));
  923.                 rozdelene.add(pomocnePole.get(1));
  924.                 rozdelene.add(pomocnePole.get(2));
  925.                 if (pomocnePole.get(3) != null) {
  926.                     char[] pom = pomocnePole.get(3).toCharArray();
  927.                     if (Character.isAlphabetic(pom[2])) {
  928.                         rozdelene.add("XXXXX");
  929.                     } else
  930.                         rozdelene.add((pomocnePole.get(3)));
  931.                 } else
  932.                     rozdelene.add("XXXXX");
  933.                 break;
  934.             }
  935.             case 7: {                    //ulica, cislo ulice, mesto,psc
  936.                 rozdelene.add((pomocnePole.get(0)));
  937.                 rozdelene.add(pomocnePole.get(1));
  938.                 rozdelene.add(pomocnePole.get(2));
  939.                 if (pomocnePole.get(3) != null) {
  940.                     char[] pom = pomocnePole.get(3).toCharArray();
  941.                     if (Character.isAlphabetic(pom[2])) {
  942.                         rozdelene.add("XXXXX");
  943.                     } else
  944.                         rozdelene.add((pomocnePole.get(3)));
  945.                 } else
  946.                     rozdelene.add("XXXXX");
  947.                 break;
  948.             }
  949.             case 8: {                    //ulica, cislo ulice, mesto,psc
  950.                 rozdelene.add((pomocnePole.get(0)));
  951.                 rozdelene.add(pomocnePole.get(1));
  952.                 rozdelene.add(pomocnePole.get(2));
  953.  
  954.                 if (pomocnePole.get(3) != null) {
  955.                     char[] pom = pomocnePole.get(3).toCharArray();
  956.                     if (Character.isAlphabetic(pom[2])) {
  957.                         rozdelene.add("XXXXX");
  958.                     } else {
  959.                         rozdelene.add((pomocnePole.get(3)));
  960.                     }
  961.                 } else {
  962.                     rozdelene.add("XXXXX");
  963.                 }
  964.                 break;
  965.             }
  966.             default: {
  967.                 //   System.out.println(pomocnePole.size());
  968.                 rozdelene.add(" ");
  969.                 rozdelene.add(" ");
  970.                 rozdelene.add(" ");
  971.                 rozdelene.add(" ");
  972.                 break;
  973.             }
  974.  
  975.         }
  976.      /*  System.out.println("_____________________________________________________");
  977.         System.out.println("Ulica: " + rozdelene.get(0));
  978.         System.out.println("Čislo: " + rozdelene.get(1));
  979.         System.out.println("Mesto: " + rozdelene.get(2));
  980.         System.out.println("PSČ: " + rozdelene.get(3));
  981.         System.out.println(pomocnePole.size());
  982.         System.out.println("_____________________________________________________");*/
  983.  
  984.         return rozdelene;
  985.     }
  986.  
  987.     private static ArrayList<String> oddelPredstavitelov(String predstavitel) {
  988.         ArrayList<String> rozdeleniePredstavitelov = new ArrayList<String>();
  989.  
  990.         if (predstavitel != null) {
  991.             char[] buff = predstavitel.toCharArray();
  992.             int medzera = 0;
  993.             String pom = "";
  994.  
  995.             for (int i = 0; i <= buff.length; i++) {
  996.  
  997.  
  998.                 if (medzera == 0 && buff[i] == '<' && buff[i + 1] == 'b' && buff[i + 2] == 'r' && buff[i + 3] == '>') {
  999.                     pom = pom.replaceAll("td width=\"67%\">", "");
  1000.                     Pattern p = Pattern.compile("člen");
  1001.                     Pattern p2 = Pattern.compile("predseda");
  1002.                     Matcher m = p.matcher(pom);
  1003.                     Matcher m2 = p2.matcher(pom);
  1004.                     if (!m.find() && !m2.find())
  1005.                         pom = "člen";
  1006.                     rozdeleniePredstavitelov.add(pom);
  1007.                     // System.out.println(pom);
  1008.                     pom = "";
  1009.                     medzera++;
  1010.                 }
  1011.  
  1012.                 if (buff[i] == '-' && buff[i + 1] == ' ' && !Character.isDigit(buff[i + 2])) {     //lebo moze v mene byt - // D - 73434 cislo ulice
  1013.                     pom = pom.replaceAll("td width=\"67%\">", "");
  1014.                     pom = pom.replaceFirst("- ", "");
  1015.                     rozdeleniePredstavitelov.add(pom);
  1016.                     pom = "";
  1017.                 }
  1018.                 if (i == buff.length - 1) {
  1019.                     rozdeleniePredstavitelov.add(rozdelAdresuVlastnika(pom).get(0));
  1020.                     rozdeleniePredstavitelov.add(rozdelAdresuVlastnika(pom).get(1));
  1021.                     rozdeleniePredstavitelov.add(rozdelAdresuVlastnika(pom).get(2));
  1022.                     rozdeleniePredstavitelov.add(rozdelAdresuVlastnika(pom).get(3));
  1023.                     pom = "";
  1024.                     break;
  1025.                 } else {
  1026.  
  1027.                     pom = pom + String.valueOf(buff[i]);
  1028.                     buff[i] = ' ';
  1029.                 }
  1030.             }
  1031.  
  1032.         }
  1033.         return rozdeleniePredstavitelov;
  1034.     }
  1035.  
  1036.     private static ArrayList<String> oddelVlastnikov(String vlastnik) {
  1037.  
  1038.         ArrayList<String> rozdelenieVlastnikov = new ArrayList<String>();
  1039.         if (vlastnik != null) {
  1040.             char[] buff = vlastnik.toCharArray();
  1041.             String pom = "";
  1042.             int medzera = 0;
  1043.  
  1044.             for (int i = 0; i <= buff.length; i++) {
  1045.                 if ((medzera == 0) && buff[i] == '<' && buff[i + 1] == 'b' && buff[i + 2] == 'r' && buff[i + 3] == '>') {
  1046.                     pom = pom.replaceAll("td width=\"67%\">", "");
  1047.                     rozdelenieVlastnikov.add(pom);
  1048.                     pom = "";
  1049.                     medzera++;
  1050.                     // ;break;
  1051.                 }
  1052.                 if (i == buff.length) {
  1053.                     rozdelenieVlastnikov.add(rozdelAdresuVlastnika(pom).get(0));
  1054.                     rozdelenieVlastnikov.add(rozdelAdresuVlastnika(pom).get(1));
  1055.                     rozdelenieVlastnikov.add(rozdelAdresuVlastnika(pom).get(2));
  1056.                     rozdelenieVlastnikov.add(rozdelAdresuVlastnika(pom).get(3));
  1057.  
  1058.                     break;
  1059.                 } else {
  1060.  
  1061.                     pom = pom + String.valueOf(buff[i]);
  1062.                     buff[i] = ' ';
  1063.                 }
  1064.             }
  1065.         }
  1066.  
  1067.  
  1068.         return rozdelenieVlastnikov;
  1069.     }
  1070.  
  1071.     private static ArrayList<String> oddeldatum(String datumy) {
  1072.  
  1073.         ArrayList<String> rozdeleniedatumov = new ArrayList<String>();
  1074.         if (datumy != null) {
  1075.             char[] buff = datumy.toCharArray();
  1076.             String pom = "";
  1077.             int medzera = 0;
  1078.  
  1079.             for (int i = 0; i <= buff.length + 1; i++) {
  1080.                 if (buff[i] == 'd') {
  1081.                     pom = pom.replaceAll("\\(", "");
  1082.                     rozdeleniedatumov.add(pom);
  1083.                     pom = "";
  1084.                     medzera++;
  1085.                 }
  1086.                 if (medzera == 1 && i == buff.length - 1) {
  1087.                     pom = pom.replaceAll("do:", "");
  1088.                     pom = pom.replaceAll("\\(", "");
  1089.                     pom = pom.replaceAll("\\)", "");
  1090.  
  1091.                     rozdeleniedatumov.add(pom);
  1092.                     medzera++;
  1093.                     break;
  1094.  
  1095.                 } else {
  1096.  
  1097.                     pom = pom + String.valueOf(buff[i]);
  1098.                     buff[i] = ' ';
  1099.                 }
  1100.  
  1101.             }
  1102.  
  1103.         }
  1104.         return rozdeleniedatumov;
  1105.     }
  1106.  
  1107.     private static boolean isPredstavenstvo(Elements rows) {
  1108.         Element row = rows.get(0);
  1109.         Pattern p = Pattern.compile("predstavenstvo");
  1110.         Matcher m = p.matcher(row.toString());
  1111.         return m.find();
  1112.     }
  1113.  
  1114.     private static Date editDate(String date) throws ParseException {
  1115.         SimpleDateFormat format = new SimpleDateFormat("dd.MM.yyyy");
  1116.         java.util.Date parsed = format.parse(date.trim());
  1117.         return new Date(parsed.getTime());
  1118.     }
  1119.  
  1120.     private static ArrayList<String> rozdelMenoATituly(String meno) {
  1121.         ArrayList<String> rozdelene = new ArrayList<>();
  1122.  
  1123.         //0 - pred
  1124.         //1 - meno
  1125.         //2 - priezvisko
  1126.         //3 - titulza
  1127.  
  1128.         char[] buff = meno.toCharArray();
  1129.         ArrayList<String> pomocnePole = new ArrayList<>();   //pole, kde si rozdelim data medzi '> <'
  1130.  
  1131.         int pos1 = 0;
  1132.         int pos2 = 0;
  1133.  
  1134.         for (int i = 0; i < buff.length; i++) {
  1135.  
  1136.             if (pos1 != 0 && pos2 != 0 && pos1 < pos2) {
  1137.                 if (meno.substring(pos1 + 1, pos2).length() > 2) {   //kvoli htmltagom kde su medzeri medzi nimi len
  1138.                     pomocnePole.add(meno.substring(pos1 + 1, pos2));
  1139.                     pos1 = 0;
  1140.                     pos2 = 0;
  1141.                 }
  1142.             }
  1143.  
  1144.             if (buff[i] == '>') {
  1145.                 pos1 = i;
  1146.             }
  1147.  
  1148.             if (buff[i] == '<') {
  1149.                 pos2 = i;
  1150.             }
  1151.         }
  1152.  
  1153.  
  1154.         switch (pomocnePole.size()) {
  1155.             case 2: {                    //meno a priezvisko
  1156.                 rozdelene.add(" ");
  1157.                 rozdelene.add(pomocnePole.get(0));
  1158.                 rozdelene.add(pomocnePole.get(1));
  1159.                 rozdelene.add(" ");
  1160.                 break;
  1161.             }
  1162.  
  1163.             case 3: {                    //meno a priezvisko a 1 titul bud pred alebo za
  1164.  
  1165.                 if (pomocnePole.get(0).contains(".") || pomocnePole.get(0).contains(",")) {
  1166.                     rozdelene.add(pomocnePole.get(0));
  1167.                     rozdelene.add(pomocnePole.get(1));
  1168.                     rozdelene.add(pomocnePole.get(2));
  1169.                     rozdelene.add(" ");
  1170.                 } else {
  1171.                     rozdelene.add(" ");
  1172.                     rozdelene.add(pomocnePole.get(0));
  1173.                     rozdelene.add(pomocnePole.get(1));
  1174.                     rozdelene.add(pomocnePole.get(2));
  1175.                 }
  1176.                 break;
  1177.  
  1178.             }
  1179.             case 4: {                    //meno a priezvisko a titul pred aj za
  1180.                 rozdelene.add((pomocnePole.get(0)));
  1181.                 rozdelene.add(pomocnePole.get(1));
  1182.                 rozdelene.add(pomocnePole.get(2));
  1183.                 rozdelene.add((pomocnePole.get(3)));
  1184.                 break;
  1185.             }
  1186.             default: {
  1187.                 rozdelene.add(" ");
  1188.                 rozdelene.add(" ");
  1189.                 rozdelene.add(" ");
  1190.                 rozdelene.add(" ");
  1191.  
  1192.             }
  1193.  
  1194.         }
  1195.         // System.out.println("_____________________________________________________");
  1196.         //   System.out.println("Titil pred: " + rozdelene.get(0));
  1197.         //   System.out.println("Meno: " + rozdelene.get(1));
  1198.         //   System.out.println("Priezvisko: " + rozdelene.get(2));
  1199.         //   System.out.println("Titul za:" + rozdelene.get(3));
  1200.         //   //   System.out.println("_____________________________________________________");
  1201.  
  1202.         return rozdelene;
  1203.     }
  1204. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement