Файл конфигурации импорта. Тег <...-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>