Вроде все сделано, документ через дебагер не вывелся, был скопирован через консоль. Помогите, пожалуйста, что ему не нравится? Задание 6 1. Слева в панеле Project найди снизу External Libraries. В jsoup найди пакет examples, посмотри классы в этом пакете.

  1. По аналогии с реализацией в примерах кода jsoup - реализуй коннекшен к урлу ХэдХантера методом GET. Это нужно сделать в методе getVacancies класса HHStrategy. Подсказка: получится объект класса Document.

  2. Поставь брекпоинт сразу после коннекшена. Запусти программу в дебаг моде. Скопируй полученное значение document.html() в буффер.

  3. Создай файл с расширением html где-то в корне JavaRushHomeWork. Вставь содержимое буффера в этот файл и отформатируй его Ctrl+Alt+L, IDEA умеет форматировать HTML. Ура! Это код страницы HTML :)

  4. Реализуй в вакансии (Vacancy) методы equals/hashCode Alt+Enter - equals() and hashCode()

package com.javarush.test.level28.lesson15.big01.model; import com.javarush.test.level28.lesson15.big01.vo.Vacancy; import java.util.List; import java.io.IOException;

import org.jsoup.Jsoup; import org.jsoup.nodes.Document;

public class HHStrategy implements Strategy { private static final String URL_FORMAT = "http://hh.ua/search/vacancy?text=java+%s&page=%d"; @Override public List<vacancy> getVacancies(String searchString) { try {

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

            }

            catch (IOException e)
            {
                    e.printStackTrace();
            }
            return null;
    }

} package com.javarush.test.level28.lesson15.big01.model; import com.javarush.test.level28.lesson15.big01.vo.Vacancy; import java.util.List; public class Provider { private Strategy strategy; public void setStrategy(Strategy strategy) { this.strategy = strategy; } public Provider(Strategy strategy) { this.strategy = strategy; }

   public List<Vacancy> getJavaVacancies(String searchString){
        return strategy.getVacancies(searchString);
}

} package com.javarush.test.level28.lesson15.big01.model; import com.javarush.test.level28.lesson15.big01.vo.Vacancy; import java.util.List; public interface Strategy { List<vacancy> getVacancies(String searchString); } package com.javarush.test.level28.lesson15.big01.vo; public class Vacancy { private String title, salary, city, companyName, siteName, url; public String getTitle() { return title; } public void setTitle(String title) { this.title = title; } public String getSalary() { return salary; } public void setSalary(String salary) { this.salary = salary; } public String getCity() { return city; } public void setCity(String city) { this.city = city; } public String getCompanyName() { return companyName; } public void setCompanyName(String companyName) { this.companyName = companyName; } public String getSiteName() { return siteName; } public void setSiteName(String siteName) { this.siteName = siteName; } public String getUrl() { return url; } public void setUrl(String url) { this.url = url; }

@Override
public boolean equals(Object obj)
{
    return super.equals(obj);
}

@Override
public int hashCode()
{
    return super.hashCode();
}

} package com.javarush.test.level28.lesson15.big01; import com.javarush.test.level28.lesson15.big01.model.HHStrategy; import com.javarush.test.level28.lesson15.big01.model.Provider; import com.javarush.test.level28.lesson15.big01.model.Strategy; import org.jsoup.Jsoup; import java.util.List; import com.javarush.test.level28.lesson15.big01.vo.Vacancy;

public class Aggregator { public static void main(String[] args){ Provider provider = new Provider(new HHStrategy()); Controller controller = new Controller(provider); controller.scan(); } } package com.javarush.test.level28.lesson15.big01; import com.javarush.test.level28.lesson15.big01.model.Provider; import com.javarush.test.level28.lesson15.big01.vo.Vacancy; import java.util.ArrayList; import java.util.Arrays; import java.util.List; public class Controller { private Provider[] providers; @Override public String toString() { return "Controller{" + "providers=" + Arrays.toString(providers) + '}'; } public Controller(Provider... providers ) { if(providers == null || providers.length == 0) throw new IllegalArgumentException(); this.providers = providers; } public void scan() { List<vacancy> vacancies = new ArrayList<>(); try { for (Provider provider : providers) { for(Vacancy vac : provider.getJavaVacancies("SOME TEXT")) vacancies.add(vac); } }catch (NullPointerException e) { /Something/ } System.out.println(vacancies.size()); } }

задан 16 Ноя '16, 09:47

felite's gravatar image

felite
11
одобрено: 0%

закрыто 13 Сен, 17:12

AndyRad's gravatar image

AndyRad
13.1k29

Вопрос был закрыт по следующей причине: "Problem is not reproducible or outdated" AndyRad 13 Сен, 17:12

Следить за вопросом

По Email:

После авторизации вы сможете подписаться на любые обновления здесь

Основы Markdown

  • *italic* or _italic_
  • **bold** or __bold__
  • ссылка:[текст](http://url.com/ "заголовок")
  • изображение?![alt текст](/path/img.jpg "заголовок")
  • нумерованный список: 1. Foo 2. Bar
  • Для того чтобы добавить разрыв строки просто добавьте два пробела.
  • основные HTML тэги, также поддерживаются

Тэги:

×3,805
×1,628
×16
×12

Задан: 16 Ноя '16, 09:47

Просмотров: 249 раз

Отредактирован: 13 Сен, 17:12