Example usage for org.jsoup.nodes Element select

List of usage examples for org.jsoup.nodes Element select

Introduction

In this page you can find the example usage for org.jsoup.nodes Element select.

Prototype

public Elements select(String cssQuery) 

Source Link

Document

Find elements that match the Selector CSS query, with this element as the starting context.

Usage

From source file:com.rickendirk.rsgwijzigingen.ZoekService.java

private Wijzigingen checkerNieuw(boolean clusters_enabled) {
    Wijzigingen wijzigingen = new Wijzigingen(false, null);
    //String halen uit SP
    String klasTextS = PreferenceManager.getDefaultSharedPreferences(getApplicationContext())
            .getString("pref_klas", "");
    //Checken of klas niet leeg is
    if (klasTextS.equals("")) {
        wijzigingen.setFout("geenKlas");
        return wijzigingen;
    }/* ww w .ja va  2  s  .c o m*/
    //Eerste teken klas mag geen letter zijn
    if (Character.isLetter(klasTextS.charAt(0))) {
        wijzigingen.setFout("EersteTekenLetter");
        return wijzigingen;
    }
    String klasGoed = corrigeerKlas(klasTextS);
    if (klasGoed.equals("TeLangeKlas")) {
        wijzigingen.setFout("klasMeerDan4Tekens");
        return wijzigingen;
    }
    ArrayList<String> clusters = new ArrayList<>();
    if (clusters_enabled) {
        clusters.addAll(getClusters());
        //Lege clusters weghalen
        clusters.removeAll(Collections.singleton(""));
        //Clusters moeten aanwezig zijn
        if (clusters.isEmpty()) {
            wijzigingen.setFout("geenClusters");
            return wijzigingen;
        }
    }
    Document doc;
    try {
        doc = Jsoup.connect(TABLE_URL).get();
    } catch (java.io.IOException e) {
        wijzigingen.setFout("verbindFout");
        return wijzigingen;
    }
    Elements tables = doc.select("table");
    if (tables.size() < 2) {
        //Geen geschikte tabel aanwezig
        wijzigingen.setFout("geenTabel");
        return wijzigingen;
    }
    Element table = tables.get(1);
    Elements rows = table.select("tr");
    ArrayList<Element> rowsList;
    if (clusters_enabled) {
        rowsList = getWijzigingenListClusters(rows, klasGoed, clusters);
    } else {
        rowsList = getwijzigingenListKlas(rows, klasGoed);
    }
    if (rowsList.isEmpty()) {
        //Geen wijzigingen TODO: Onderstaande comment weghalen als alles werkt
        //list.add("Er zijn geen roosterwijzigingen");
        wijzigingen.zijnWijzigingen = false;
    } else {
        maakWijzigingenKlas(rowsList, wijzigingen);
    }
    addDagEnDatum(wijzigingen, doc);
    addMessage(wijzigingen, doc);
    return wijzigingen;
}

From source file:com.rickendirk.rsgwijzigingen.ZoekService.java

private ArrayList<Element> getWijzigingenListClusters(Elements rows, String klas, ArrayList<String> clusters) {
    ArrayList<Element> list = new ArrayList<>();
    //Dubbele loop, over zowel tabel als lijst met clusters
    for (int a = 0; a < clusters.size(); a++) {
        String cluster = clusters.get(a);
        for (int i = 2; i < rows.size(); i++) {
            Element row = rows.get(i);
            Elements cols = row.select("td");

            String klasWijziging = cols.get(0).text();
            String clusterWijziging = cols.get(2).text();
            if (klasWijziging.contains(klas) && clusterWijziging.equals(cluster)) {
                list.add(row);//from w ww . j av a 2  s.  c  o m
            }
        }
    }
    return list;
}

From source file:com.rickendirk.rsgwijzigingen.ZoekService.java

private void maakWijzigingenKlas(ArrayList<Element> rowsList, Wijzigingen wijzigingen) {
    for (int i = 0; i < rowsList.size(); i++) {
        Element row = rowsList.get(i);
        Elements cols = row.select("td");

        String uur = Jsoup.parse(cols.get(1).toString()).text();
        String vakOud = Jsoup.parse(cols.get(2).toString()).text();
        String docentOud = Jsoup.parse(cols.get(3).toString()).text();
        String vakNieuw = Jsoup.parse(cols.get(4).toString()).text();
        String docentNieuw = Jsoup.parse(cols.get(5).toString()).text();
        String lokaal = Jsoup.parse(cols.get(6).toString()).text();
        String ipv = Jsoup.parse(cols.get(7).toString()).text();
        String naar = Jsoup.parse(cols.get(8).toString()).text();
        String opmerking = "";
        if (cols.size() > 9) {
            opmerking = Jsoup.parse(cols.get(9).toString()).text();
        }//www  .  j a v a 2 s . c o m

        String wijzigingKaal;
        //5 opties: Uitval, uur verplaatst, lokaal verplaatst, docent vervangen of anders
        if (lokaal.contains("--")) {

            //2 Opties: Uur wordt verplaatst of valt uit
            if (naar.contains("Uitval")) {
                wijzigingKaal = uur + "e uur " + vakOud + " valt uit";
            } else {
                wijzigingKaal = uur + "e uur wordt verplaatst"; //naar wordt later toegevoegd
            }
        } else if (vakOud.equals(vakNieuw) && docentOud.equals(docentNieuw)) {
            // Verplaatsing lokaal
            wijzigingKaal = uur + "e uur " + vakOud + " wordt verplaatst naar " + lokaal;
        } else if (vakOud.equals(vakNieuw) && !docentOud.equals(docentNieuw)) {
            //Opvang door andere docent
            wijzigingKaal = uur + "e uur " + docentOud + " wordt opgevangen door " + docentNieuw + " in "
                    + lokaal;
        } else {
            //Andere, onbekende wijziging: dit is een "backup"-optie
            wijzigingKaal = uur + "e uur " + vakOud + " " + docentOud + " wordt " + vakNieuw + " " + docentNieuw
                    + " in " + lokaal;
        }

        String ipvZin = "";
        if (ipv.contains("/")) {
            ipvZin = " ipv " + ipv;
        }
        String naarZin = "";
        if (naar.contains("/")) {
            naarZin = " naar " + naar;
        }
        String opmerkingZin = "";
        if (!opmerking.equals("\u00a0") && cols.size() > 9) { //Opmerking mag niet leeg zijn en wel aanwezig
            opmerkingZin = " (" + opmerking + ")";
        }
        String wijziging = wijzigingKaal + ipvZin + naarZin + opmerkingZin;
        wijzigingen.addWijziging(wijziging);
    }
    //Kunnen, vooral bij onderbouw, dubbele wijzigingen in zitten
    verwijderDubbeleWijzigingen(wijzigingen);
}

From source file:com.rickendirk.rsgwijzigingen.ZoekService.java

private ArrayList<Element> getwijzigingenListKlas(Elements rows, String klas) {
    ArrayList<Element> list = new ArrayList<>();

    for (int i = 2; i < rows.size(); i++) {
        Element row = rows.get(i);
        Elements cols = row.select("td");
        String klasWijziging = cols.get(0).text();
        if (klasWijziging.contains(klas)) {
            list.add(row);/*w  w  w .  ja v a 2 s .  c o m*/
        }
    }
    return list;
}

From source file:com.rickendirk.rsgwijzigingen.ZoekService.java

private ArrayList<String> checkerKlas() {
    ArrayList<String> tempList = new ArrayList<>();
    //String halen uit SP
    String klasTextS = PreferenceManager.getDefaultSharedPreferences(getApplicationContext())
            .getString("pref_klas", "");
    //Checken of klas niet leeg is
    if (klasTextS.equals("")) {
        tempList.add("geenKlas");
        return tempList;
    }/*from   w  ww .  j  a va 2s.com*/
    //Eerste teken klas mag geen letter zijn
    if (Character.isLetter(klasTextS.charAt(0))) {
        tempList.add("EersteTekenLetter");
        return tempList;
    }
    //String opsplitsen in 2 delen, om naar hoofdletters te converteren
    char charcijfer = klasTextS.charAt(0);
    String klascijfer = String.valueOf(charcijfer);
    char charafdeling = klasTextS.charAt(1);
    String klasafdelingBig = String.valueOf(charafdeling).toUpperCase();
    //Onderstaand voor hoofdlettercorrectie
    String klasCorrect; //KlasCorrect is klas na hoofdlettercorrectie
    switch (klasTextS.length()) {
    case 2:
        klasCorrect = klascijfer + klasafdelingBig;
        break;
    case 3:
        char klasabc = klasTextS.charAt(2);
        String klasabcSmall = String.valueOf(klasabc).toLowerCase();
        klasCorrect = klascijfer + klasafdelingBig + klasabcSmall;
        break;
    case 4:
        char klasafdeling2 = klasTextS.charAt(2);
        String klasafdeling2Big = String.valueOf(klasafdeling2).toUpperCase();
        klasabc = klasTextS.charAt(3);
        klasabcSmall = String.valueOf(klasabc).toLowerCase();

        klasCorrect = klascijfer + klasafdelingBig + klasafdeling2Big + klasabcSmall;
        break;
    default:
        tempList.add("klasMeerDan4Tekens");
        return tempList;
    }

    //Try en catch in het geval dat de internetverbinding mist
    try {
        String url = "http://www.rsgtrompmeesters.nl/roosters/roosterwijzigingen/Lijsterbesstraat/subst_001.htm";
        Document doc = Jsoup.connect(url).get();
        Elements tables = doc.select("table");
        if (tables.size() < 2) {
            //Geen geschikte tabel aanwezig
            tempList.add("geenTabel");
            return tempList;
        }
        Element table = tables.get(1);
        Elements rows = table.select("tr");
        //Loop genereren, voor elke row kijken of het de goede tekst bevat
        //Beginnen bij 4e, bovenstaande is niet belangrijk
        for (int i = 2; i < rows.size(); i++) {
            Element row = rows.get(i);
            Elements cols = row.select("td");

            if (cols.get(0).text().contains(klasCorrect)) {
                String vakOud = Jsoup.parse(cols.get(2).toString()).text();
                String docentOud = Jsoup.parse(cols.get(3).toString()).text();
                String vakNieuw = Jsoup.parse(cols.get(4).toString()).text();
                String docentNieuw = Jsoup.parse(cols.get(5).toString()).text();
                //If in geval van uitval, else ingeval van wijziging
                if (Jsoup.parse(cols.get(6).toString()).text().contains("--")) {
                    //2 opties: wordt verplaatst of valt uit
                    if (Jsoup.parse(cols.get(8).toString()).text().contains("Uitval")) {
                        String wijziging = Jsoup.parse(cols.get(1).toString()).text() + "e uur "
                                + Jsoup.parse(cols.get(2).toString()).text() + " valt uit";
                        tempList.add(wijziging);
                    } else {
                        //Uur wordt verplaatst
                        String wijziging = Jsoup.parse(cols.get(1).toString()).text() + "e uur "
                                + "wordt verplaatst naar " + Jsoup.parse(cols.get(8).toString()).text();
                        tempList.add(wijziging);
                    }
                } else if (vakOud.equals(vakNieuw) && docentOud.equals(docentNieuw)) {
                    String wijziging = Jsoup.parse(cols.get(1).toString()).text() + "e uur " + vakOud
                            + " wordt verplaatst naar " + Jsoup.parse(cols.get(6).toString()).text();
                    tempList.add(wijziging);
                } else {
                    String wijzigingKaal;
                    if (vakOud.equals(vakNieuw) && !docentOud.equals(docentNieuw)) {
                        // Opvang door andere docent: dit staat alleen bij klas omdat
                        // dit amper gebeurt bij clusters
                        wijzigingKaal = Jsoup.parse(cols.get(1).toString()).text() + "e uur " + docentOud
                                + " wordt opgevangen door " + docentNieuw;
                    } else { //Geen opvang door andere docent, lokaalwijziging oid
                        wijzigingKaal =
                                // Voegt alle kolommen samen tot 1 string
                                // .text() zorgt voor leesbare text
                                // Spaties voor leesbaarheid
                                Jsoup.parse(cols.get(1).toString()).text() + "e uur "
                                        + Jsoup.parse(cols.get(2).toString()).text() + " "
                                        + Jsoup.parse(cols.get(3).toString()).text() + " wordt "
                                        + Jsoup.parse(cols.get(4).toString()).text() + " "
                                        + Jsoup.parse(cols.get(5).toString()).text() + " in "
                                        + Jsoup.parse(cols.get(6).toString()).text();
                    }
                    //ipv en naar bevatten een "/" ivm uren (ma 12-04 / 4)
                    String ipv = "";
                    if (Jsoup.parse(cols.get(7).toString()).text().contains("/")) {
                        ipv = "ipv " + Jsoup.parse(cols.get(7).toString()).text();
                    }
                    String naar = "";
                    if (Jsoup.parse(cols.get(8).toString()).text().contains("/")) {
                        naar = "naar " + Jsoup.parse(cols.get(8).toString()).text() + " ";
                    }
                    String vervangingsTekst = "";
                    //&nbsp; staat in lege cell, encoding enz, zie volgende link:
                    // http://stackoverflow.com/questions/26837034/how-to-tell-if-a-html-table-has-an-empty-cell-nbsp-using-jsoup
                    //Soms veregeten ze de opmerkingen, dan krijg je size = 9 en error
                    if (cols.size() > 9) {
                        if (!Jsoup.parse(cols.get(9).toString()).text().equals("\u00a0")) {
                            vervangingsTekst = "(" + Jsoup.parse(cols.get(9).toString()).text() + ")";
                        }
                    }
                    String wijziging = wijzigingKaal + " " + ipv + " " + naar + " " + vervangingsTekst;
                    tempList.add(wijziging);

                }

            }
            //Geen wijzigingen pas bij laatste rij
            if (i == rows.size() - 1) {
                //Checken of tempList leeg is, zo ja 1 ding toevoegen
                if (tempList.isEmpty()) {
                    tempList.add("Er zijn geen wijzigingen");
                }
                //Dag waarvoor wijzigingen zijn ophalen
                Element dag = doc.select("body > div > div:nth-child(2) > p > b > span").first();
                //Compatibiliteit met andere opmaak, om NPE te voorkomen
                if (dag == null) {
                    dag = doc.select("body > center:nth-child(2) > div").first();
                }
                String dagStr = dag.text().toLowerCase();
                // Woorden staan verkeerd om: omwisselen
                int indexVanSpatie = dagStr.indexOf(" ");
                String datum = dagStr.substring(0, indexVanSpatie);
                String rest = dagStr.substring(indexVanSpatie + 1);
                String dagGoed = rest + " " + datum;
                tempList.add(dagGoed);

                //Stand ophalen: staat in 1e tabel van HTML
                Element tableDate = doc.select("table").get(0);
                String dateFullText = tableDate.getElementsContainingOwnText("Stand:").text();
                //Deel achter "Stand:" pakken
                String FullTextSplit[] = dateFullText.split("Stand:");
                tempList.add(FullTextSplit[1]);
                return tempList;
            }
        }
    } catch (java.io.IOException e) {
        //Error toevoegen aan tempList, dat wordt weergegeven in messagebox
        tempList.clear();
        tempList.add("verbindFout");
        return tempList;
    }
    //Zover hoort de method NOOIT te komen
    tempList.add("andereFout");
    return tempList;
}

From source file:com.rickendirk.rsgwijzigingen.ZoekService.java

private ArrayList<String> checkerClusters() {
    ArrayList<String> tempList = new ArrayList<>();
    //String van klas halen uit SP
    String klasTextS = PreferenceManager.getDefaultSharedPreferences(getApplicationContext())
            .getString("pref_klas", "");
    String url = "http://www.rsgtrompmeesters.nl/roosters/roosterwijzigingen/Lijsterbesstraat/subst_001.htm";
    SharedPreferences sp = PreferenceManager.getDefaultSharedPreferences(getApplicationContext());
    //Clusters ophalen uit SP
    ArrayList<String> clusters = new ArrayList<>();
    for (int a = 1; a < 15; a++) {
        //String initializen, anders kan hij hem niet toevoegen
        String clusterLowCase = "";
        String cluster = sp.getString("pref_cluster" + a, "");
        //If om nullpointer te voorkomen
        if (!cluster.equals("")) {
            clusterLowCase = cluster.substring(0, 1).toLowerCase() + cluster.substring(1);
        }/*www. j  a  v a 2s. c o  m*/
        clusters.add(clusterLowCase);
    }

    //Lege clusters weghalen uit arraylist TODO: Kijken of singleton werkt/wat het is
    clusters.removeAll(Collections.singleton(""));
    //Er moeten wel clusters zijn ingevoerd: Zo nee, komt AlertDialog via onPostExecute
    if (clusters.isEmpty()) {
        tempList.add("geenClusters");
        return tempList;
    }
    //Checken of klas niet leeg is
    if (klasTextS.equals("")) {
        tempList.add("geenKlas");
        return tempList;
    }
    //Eerste teken klas mag geen letter zijn
    if (Character.isLetter(klasTextS.charAt(0))) {
        tempList.add("EersteTekenLetter");
        return tempList;
    }
    //String opsplitsen in 2 delen, om naar hoofdletters te converteren
    char charcijfer = klasTextS.charAt(0);
    String klascijfer = String.valueOf(charcijfer);
    char charafdeling = klasTextS.charAt(1);
    String klasafdelingBig = String.valueOf(charafdeling).toUpperCase();
    //Onderstaand voor hoofdlettercorrectie
    String klasCorrect; //KlasCorrect is klas na hoofdlettercorrectie
    switch (klasTextS.length()) {
    case 2:
        klasCorrect = klascijfer + klasafdelingBig;
        break;
    case 3:
        char klasabc = klasTextS.charAt(2);
        String klasabcSmall = String.valueOf(klasabc).toLowerCase();
        klasCorrect = klascijfer + klasafdelingBig + klasabcSmall;
        break;
    case 4:
        char klasafdeling2 = klasTextS.charAt(2);
        String klasafdeling2Big = String.valueOf(klasafdeling2).toUpperCase();
        klasabc = klasTextS.charAt(3);
        klasabcSmall = String.valueOf(klasabc).toLowerCase();

        klasCorrect = klascijfer + klasafdelingBig + klasafdeling2Big + klasabcSmall;
        break;
    default:
        tempList.add("klasMeerDan4Tekens");
        return tempList;
    }
    //Try en catch in het geval dat de internetverbinding mist
    try {
        Document doc = Jsoup.connect(url).get();
        Elements tables = doc.select("table");
        if (tables.size() < 1) {
            //Geen geschikte tabel aanwezig
            tempList.add("geenTabel");
            return tempList;
        }
        Element table = tables.get(1);
        Elements rows = table.select("tr");
        //Eerste loop is om 2e loop te herhalen voor iedere cluster, tweede loop
        //doorzoekt dan op zowel klas als cluster
        for (int b = 0; b < clusters.size(); b++) {
            for (int i = 2; i < rows.size(); i++) {
                Element row = rows.get(i);
                Elements cols = row.select("td");

                if (cols.get(0).text().contains(klasCorrect) && cols.get(2).text().contains(clusters.get(b))) {
                    String vakOud = Jsoup.parse(cols.get(2).toString()).text();
                    String docentOud = Jsoup.parse(cols.get(3).toString()).text();
                    String vakNieuw = Jsoup.parse(cols.get(4).toString()).text();
                    String docentNieuw = Jsoup.parse(cols.get(5).toString()).text();
                    //If in geval van uitval, else ingeval van wijziging
                    if (Jsoup.parse(cols.get(6).toString()).text().contains("--")) {
                        //2 opties: wordt verplaatst of valt uit
                        if (Jsoup.parse(cols.get(8).toString()).text().contains("Uitval")) {
                            String wijziging = Jsoup.parse(cols.get(1).toString()).text() + "e uur "
                                    + Jsoup.parse(cols.get(2).toString()).text() + " valt uit";
                            tempList.add(wijziging);
                        } else {
                            //Uur wordt verplaatst
                            String wijziging = Jsoup.parse(cols.get(1).toString()).text() + "e uur "
                                    + "wordt verplaatst naar " + Jsoup.parse(cols.get(8).toString()).text();
                            tempList.add(wijziging);
                        }
                    } else if (vakOud.equals(vakNieuw) && docentOud.equals(docentNieuw)) {
                        String wijziging = Jsoup.parse(cols.get(1).toString()).text() + "e uur " + vakOud
                                + " wordt verplaatst naar " + Jsoup.parse(cols.get(6).toString()).text();
                        tempList.add(wijziging);
                    } else {
                        String wijzigingKaal =
                                // Voegt alle kolommen samen tot 1 string
                                // .text() zorgt voor leesbare text
                                // Spaties voor leesbaarheid
                                Jsoup.parse(cols.get(1).toString()).text() + "e uur "
                                        + Jsoup.parse(cols.get(2).toString()).text() + " "
                                        + Jsoup.parse(cols.get(3).toString()).text() + " wordt "
                                        + Jsoup.parse(cols.get(4).toString()).text() + " "
                                        + Jsoup.parse(cols.get(5).toString()).text() + " in "
                                        + Jsoup.parse(cols.get(6).toString()).text();

                        //ipv en naar bevatten een "/" ivm uren (ma 12-04 / 4)
                        String ipv = "";
                        if (Jsoup.parse(cols.get(7).toString()).text().contains("/")) {
                            ipv = "ipv " + Jsoup.parse(cols.get(7).toString()).text();
                        }
                        String naar = "";
                        if (Jsoup.parse(cols.get(8).toString()).text().contains("/")) {
                            naar = "naar " + Jsoup.parse(cols.get(8).toString()).text() + " ";
                        }
                        String vervangingsTekst = "";
                        //&nbsp; staat in lege cell, encoding enz, zie volgende link:
                        // http://stackoverflow.com/questions/26837034/how-to-tell-if-a-html-table-has-an-empty-cell-nbsp-using-jsoup
                        if (cols.size() > 9) {
                            if (!Jsoup.parse(cols.get(9).toString()).text().equals("\u00a0")) {
                                vervangingsTekst = "(" + Jsoup.parse(cols.get(9).toString()).text() + ")";
                            }
                        }
                        String wijziging = wijzigingKaal + " " + ipv + " " + naar + " " + vervangingsTekst;
                        tempList.add(wijziging);
                    }

                }
                //Geen wijzigingen pas bij laatste rij en de laatste cluster
                if (i == rows.size() - 1 && b == clusters.size() - 1) {
                    //Checken of tempList leeg is, zo ja 1 ding toevoegen
                    if (tempList.isEmpty()) {
                        tempList.add("Er zijn geen wijzigingen");
                    }
                    //Dag waarvoor wijzigingen zijn ophalen
                    Element dag = doc.select("body > div > div:nth-child(2) > p > b > span").first();
                    //Compatibiliteit met andere opmaak, om NPE te voorkomen
                    if (dag == null) {
                        dag = doc.select("body > center:nth-child(2) > div").first();
                    }
                    String dagStr = dag.text().toLowerCase();
                    // Woorden staan verkeerd om: omwisselen
                    int indexVanSpatie = dagStr.indexOf(" ");
                    String datum = dagStr.substring(0, indexVanSpatie);
                    String rest = dagStr.substring(indexVanSpatie + 1);
                    String dagGoed = rest + " " + datum;
                    tempList.add(dagGoed);

                    //Stand ophalen: staat in 1e tabel van HTML
                    Element tableDate = doc.select("table").get(0);
                    String dateFullText = tableDate.getElementsContainingOwnText("Stand:").text();
                    //Deel achter "Stand:" pakken
                    String FullTextSplit[] = dateFullText.split("Stand:");
                    tempList.add(FullTextSplit[1]);
                    return tempList;

                }
            }
        }
    } catch (java.io.IOException e) {
        //Error toevoegen aan tempList, dat wordt weergegeven in messagebox
        tempList.clear();
        tempList.add("verbindFout");
        return tempList;
    }
    //Zover hoort de method NOOIT te komen
    tempList.add("andereFout");
    return tempList;
}

From source file:com.semfapp.adamdilger.semf.protectPlanActivity.java

public void createPdf() {
    Document documentTemplate = null;
    Element body = null;

    try {// w  ww.j  av  a  2s  .co m
        documentTemplate = Pdf.getTemplate(getApplicationContext(), null);

        body = Jsoup.parse(getAssets().open("protectPlan.html"), "utf-8", "http://www.example.com");

        Elements lists = body.select(".list_box"); //Lists html Elements
        ArrayList<String[]> arrayList = data.getArray(); //editText string arrays

        //for each Element in lists, add each bullet from arrayList.string[] as a <p>
        for (int x = 0; x < lists.size(); x++) {
            String f = "";

            for (String bullet : arrayList.get(x)) {
                f += "<p>" + bullet + "</p>";
            }

            lists.get(x).html(f);
        }
    } catch (Exception e) {
        System.out.println("ERROR: " + e.toString());
    }

    documentTemplate.getElementById("main").html(body.html());

    String filePath = MainActivity.pdf.createFilePath(this, "Protect Plan");

    MainActivity.pdf.createPdfToFile(this, documentTemplate.html(), filePath, null);

    pdfAttatchment = new File(filePath);

}

From source file:net.meiolania.apps.habrahabr.fragments.companies.loader.CompaniesLoader.java

@Override
public ArrayList<CompaniesData> loadInBackground() {
    ArrayList<CompaniesData> data = new ArrayList<CompaniesData>();

    try {/*from   w  w w. j  a  v  a  2  s.  c o m*/
        String readyUrl = String.format(URL, page);

        Log.i(TAG, "Loading a page: " + readyUrl);

        Document document = Jsoup.connect(readyUrl).get();

        Elements companies = document.select("div.company");

        for (Element company : companies) {
            CompaniesData companiesData = new CompaniesData();

            Element icon = company.select("div.icon > img").first();
            Element index = company.select("div.habraindex").first();
            Element title = company.select("div.description > div.name > a").first();
            Element description = company.select("div.description > p").first();

            companiesData.setTitle(title.text());
            companiesData.setUrl(title.attr("abs:href"));
            // TODO: rewrite the code below
            companiesData.setIcon("http://habrahabr.ru" + icon.attr("src"));
            companiesData.setIndex(index.text());
            companiesData.setDescription(description.text());

            data.add(companiesData);
        }
    } catch (IOException e) {
    }

    return data;
}

From source file:net.meiolania.apps.habrahabr.fragments.companies.loader.CompaniesShowLoader.java

@Override
public CompanyFullData loadInBackground() {
    CompanyFullData company = new CompanyFullData();

    try {/*from  w ww. j  a v a  2  s  .c o m*/
        Log.i(TAG, "Loading a page: " + url);

        Document document = Jsoup.connect(url).get();

        Elements datas = document.select("div.company_profile > dl");

        int i = 0;
        for (Element data : datas) {
            switch (i) {
            case INFO_DATE:
                company.setDate(data.getElementsByTag("dd").first().text());
                break;
            case INFO_SITE:
                company.setCompanyUrl(data.getElementsByTag("dd").first().text());
                break;
            case INFO_INDUSTRIES:
                company.setIndustries(data.getElementsByTag("dd").first().text());
                break;
            case INFO_LOCATION:
                company.setLocation(data.getElementsByTag("dd").first().text());
                break;
            case INFO_QUANTITY:
                company.setQuantity(data.getElementsByTag("dd").first().text());
                break;
            case INFO_SUMMARY:
                company.setSummary(data.select("dd.summary").first().html());
                break;
            case INFO_MANAGEMENT:

                // TODO: think of a new algorithm
                Elements managers = data.getElementsByTag("dd");
                StringBuilder managerContent = new StringBuilder();

                for (Element manager : managers)
                    managerContent.append(manager.html());
                company.setManagement(managerContent.toString());

                break;
            case INFO_DEVELOPMENT_STAGES:

                Elements stages = data.getElementsByTag("dd");
                StringBuilder stagesContent = new StringBuilder();

                for (Element stage : stages)
                    stagesContent.append(stage.html());
                company.setDevelopmentStages(stagesContent.toString());

                break;
            }
            i++;
        }
    } catch (IOException e) {
    }

    return company;
}

From source file:net.meiolania.apps.habrahabr.fragments.events.loader.EventLoader.java

@Override
public ArrayList<EventsData> loadInBackground() {
    ArrayList<EventsData> data = new ArrayList<EventsData>();

    try {//from w  ww .  ja v a 2 s  .  c  o m
        String readyUrl = url.replace("%page%", String.valueOf(page));

        Log.i(TAG, "Loading a page: " + readyUrl);

        Document document = Jsoup.connect(readyUrl).get();

        Elements events = document.select("div.event");

        for (Element event : events) {
            EventsData eventsData = new EventsData();

            Element title = event.select("h1.title > a").first();
            //Element detail = event.select("div.detail").first();
            Element text = event.select("div.text").first();
            Element month = event.select("div.date > div.month").first();
            Element day = event.select("div.date > div.day").first();
            Element hubs = event.select("div.hubs").first();

            eventsData.setTitle(title.text());
            eventsData.setUrl(title.attr("abs:href"));
            //eventsData.setDetail(detail.text());
            eventsData.setText(text.text());
            eventsData.setDate(day.text() + " " + month.text());
            eventsData.setHubs(hubs.text());

            data.add(eventsData);
        }
    } catch (IOException e) {
    }

    return data;
}