Практика 8.1 Поиск по шаблону.
Ответ на задание необходимо предоставить в виде файлов Scala и XML, которые были изменены в текущем уроке (для написанного программного кода). Скриншоты интерфейса приложения для заданий выполняемых в интерфейсе и для демонстрации работы кода в системе Global ERP следует отправить в формате PDF, PNG или JPG. Для удобства рекомендуется прислать все файлы в одном архиве.
В ответе на задание должны содержаться элементы, обеспечивающие работоспособность описанного в задании функционала.
- Для книг добавьте поле «Описание» в перечень полей, по которым будет работать поиск.
Проверьте, что при вводе части описания книги осуществляется подбор книги в ссылочном поле.
-
Для книг переопределите метод поиска по шаблону, сделайте возможность поиска по авторам и году публикации книги.
Например, при вводе значения
Иванов 2002
искались книги, чей авторИванов
и год публикации2002
Для этого:
-
Переопределите метод поиска по шаблону в
Api
классаКнига
-
Если текст не содержит пробелов, то вызывайте стандартный метод поиска по шаблону.
-
Входящий текст бейте на 2 части, определяя авторов и год выпуска.
-
Если вторая часть текста – число, то:
-
осуществите поиск авторов по первой части введенного текста (вызовите метод поиска по шаблону)
-
если авторы найдены, то запросите книги по этим авторам, чей год публикации подходит под условие поиска.
- Внимание!
-
-
Для поиска по списку авторов, полученному ранее используйте конструкцию
t.idAuthor in (select unnest (${LongPgArray(idAuthors.toList)}) )
для реляционного запроса, либо условиеin
для объектного запроса типаOQuery
. -
Производить инъекцию списка в текст запроса, преобразуя массив к строке, используя методы вроде mkString не рекомендуется, тк в случае больших массивов может быть превышена максимальная длина строки.
-
-
если записей не найдено, то вызывайте стандартный метод поиска по шаблону
-
Проверьте, что при вводе автора и года выпуска в ссылочное на книгу поле осуществляется новая логика поиска (в позициях документа).
- Примечание
-
-
Для проверки, что строка является числом, используйте метод
org.apache.commons.lang3.math.NumberUtils#isCreatable