Файл конфигурации импорта. Тег <...-filter>
Описание
Тег <...-filter> описывает фильтрацию и сортировку объектов из источника.
Вложен в <class>.
<hierarchical-filter>
Описание
Тег <hierarchical-filter> определяет необходимость иерархической сортировки импортируемых строк.
Если при импорте одновременно создаются иерархически подчиненные объекты, то при импорте сначала будут обработаны строки содержащие объекты "родители", а затем строки с объектами "потомками". Т.е. гарантируется, что сначала будет проимпортирован объект со значением id-column совпадающим со значением parent-column.
Параметр
-
parent-column — название колонки, указывающей на родителя, который считается корнем иерархии, т.е. будет импортироваться первым.
Тип: Строка. Обязательный
Пример
<hierarchical-filter parent-column="parent"/>
<column-notempty-filter>
Описание
Тег <column-notempty-filter> указывает фильтр, исключающий из импорта строки с пустым значением указанной колонки в источнике данных.
Параметр
-
column — название колонки, в которой надо проверять значение на пустоту.
Тип: Строка. Обязательный
Пример
<column-notempty-filter column="title"/>
<id-prefix>
Описание
Тег <id-prefix> позволяет модифицировать значение id-column и parent-column, дописывая к ним в качестве префикса указанное значение. Это позволяет загружать данные из нескольких источников с одинаковыми внешними идентификаторами.
Параметр
-
prefix — значение, которое будет подставляться перед внешним идентификатором.
Тип: Строка. Обязательный
Пример
<id-prefix prefix="prefix-value"/>
<script-filter>
Описание
Тег <script-filter> указывает фильтр на основе скрипта. С помощью script-filter при импорте выполняется отсеивание ненужных строк данных, соответствующих создаваемым или изменяемым объектам.
Содержимое тега
Внутри тега задается содержание скрипта
Скрипт возвращает:
- true, если строка данных должна участвовать в импорте;
- false, если строку нужно пропустить.
В скрипте доступны контекстные переменные:
- ctx — контекст импорта, получение значений выражений ctx.evaluate(expr);
- item — строка импортируемых данных;
- parameters — параметры импорта.
Параметр
-
mime-type — тип скрипта.
Тип: Строка. Необязательный. По умолчанию "application/x-groovy".
Примеры
1. В приведенном примере noSkip — имя параметра заданного тегом <parameter>.
<script-filter mime-type="">return item.properties.id != "skip" || "true" == parameters.noSkip</script-filter>
2. В приведенном примере импортируются объекты со значением code = correctCode
<script-filter> <![CDATA[ if (item.properties.code == "correctCode'') //импортируем объекты со значением code = correctCode { return true } else { return false } ]]> </script-filter>