Даны два файла со списком товаров, формат файла соответствует файлу в директории test/resources/test.xml
Необходимо:
- Составить список offer-ов нового файла, у которых недоступна хотя бы одна картинка,
- Составить список идентификаторов новых, изменившихся и исчезнувших товаров.
-jar application.jar "firstFile.xml" "secondFile.xml" где первый параметр - это название файла с новым, второй - со старым списком товаров
Реализовано 3 Актора:
- file-reader читает файл с новым списком товаров
- url-checker проверяет url на доступность
- modification-checker опеределяет изменена ли цена товара, по сравнению со старой
В самом начале работы приложения происходит считываение идентификаторов и цен из файла содержащего старый список товаров. После инициализации кеша, происходит чтение файла с новыми ценами, фомируются сообщения. Они передается modification-checker, который пытается найти в кэше товар и его предыдующую цену, основываясь на результате поиска, он составляет записывает соответствующий результат. Далее сообщения передаются, url-checkers, проверящие доступность ссылок. После того, как все сообщения из файла были прочитаны, отправляется команда о завершении, она передается modification-checker, который вычитывает оставшиеся неиспользуемые товары из кеша и показывает их пользователю,с отметкой - удаленные.
- java se 8
- framework akka
- hppc (использование хештаблицы)
- HOCON
- gradle