- Создатель Васильев Антон, отредактировано 01.09.2022
Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим просмотр истории страницы
« Предыдущий Версия 5 Следующий »
Краткое описание
В коннекторе может быть задана дополнительная (необязательная) конфигурация для представления. Она позволяет поддержать функционал, неподдерживаемый AF5. Конфигурация представляет собой обыкновенный Spring-бин, являющийся экземпляром класса CollectionMetadataNew.
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd" default-lazy-init="true"> <bean id="{Collection Name}Metadata" class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.CollectionMetadataNew" p:searchArea="{search_area}"> <constructor-arg> <list value-type="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field"> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="self"> <property name="virtualField"> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.TnUnidVirtualField"> <property name="realFields"> <list> <value>self_1</value> <value>Module</value> <value>self_2</value> <value>ID</value> <value>created_date</value> <value>close_tag</value> </list> </property> <property name="separator" value=""/> <property name="emptySeparator" value="true"/> </bean> </property> </bean> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="fullname" p:filter="fullname_partial" p:sortOrder="ASCENDING"> <property name="virtualField"> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.BuildVirtualField" p:name="fullname"> <property name="realFields"> <list> <value>fullname</value> </list> </property> </bean> </property> </bean> </list> </constructor-arg> </bean> </beans>
attributes
Параметры | Описание |
---|---|
id | Идентификатор формата <Collection Name>Metadata, где <Collection Name> - значение атрибута name элемента collection в конфигурационном файле AF5. |
class | ru.intertrust.cm_sochi.srv.connector.sochi.collections.CollectionMetadataNew |
searchArea | Область поиска при полнотекстовом поиске |
caseSensitiveFieldNames | Если указан, имена полей при сортировке будут взяты в двойные кавычки. Важно: имя элемента противоречит его функции. |
<property>
Параметры | Описание |
---|---|
availableFields | Список явно заданных колонок представления. |
virtualFields | Словарь пар Имя поля – Обработчик вычисляемого поля |
defaultCategories | Список флагов категоризированности сортированных колонок. |
filters | Словарь пар Имя поля – Имя фильтра (элемента filter в соответствующем элементе collection конфигурации AF5) |
localeInfo | Информация о способе получения текущей локали. |
defaultSorts | Словарь пар Номер поля – Направление сортировки. Только в устаревшем CollectionMetadata. |
bean
При инициализации бина настроек рекомендуется использовать специальный конструктор вместо сеттеров (для большинства свойств конфигурации это в любом случае единственный возможный вариант). Одним из аргументов конструктора является список объектов типа Field (поле представления), которые делают определения бинов более удобными для чтения и написания и преобразуются во внутренний формат внутри конструктора.
Параметры | Описание |
---|---|
class | ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field |
name | Имя поля. Будет использовано во всех словарях. |
sortPriority | Приоритет сортировки. Чем ниже значение, тем выше приоритет. |
sortOrder | Направление сортировки ASCENDING - по возрастанию DESCENDING - по убыванию |
categorized | Флаг категоризации. |
filter | Имя фильтра, который будет использован при поиске |
class
Параметры | Описание |
---|---|
UnidVirtualField | Используется для преобразований (Id, Date) <-> Unid. При поиске по unid’у он будет преобразован в Id, который будет передан в качестве единственного параметра. При вычислении значения имя Id-поля берется из первого элемента свойства realFields, а Date-поля – из второго. Пример <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="rkkDocId"> <property name="virtualField"> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.UnidVirtualField"> <property name="realFields"> <list> <value>id</value> <value>created_date</value> </list> </property> </bean> </property> </bean> |
BuildVirtualField | Используется для преобразований (String | Id [, Date]), … <-> String. При поиске по строке, если указан шаблон поиска (свойство pattern), из всех найденных по шаблону строк формируется массив, в противном случае, если указан разделитель (свойство separator), строка разрезается на массив строк по этому разделителю. После этого, каждая строка из массива проверяется на соответствие шаблону. Если строка – 16-разрядное десятичное число или 32-разрядное шестнадцатеричное число, ее значение преобразуется в Id AF5. Несколько следующих друг за другом строковых значений (которые не были преобразованы) склеиваются вместе c добавлением разделителя между ними (т.е. cтрока вида 1015000000000001%abc%xyz c разделителем % будет преобразована в список значений {Id{1015, 1}, abc%xyz}, а не {Id{1015, 1}, abc, xyz}). После этого все значения передаются как параметры фильтра. При вычислении значения идет считывание значений полей из выборки, заданных в свойстве realFields. После этого к временному значению вычисляемого поля, если оно не пустое, приклеивается значение разделителя. После этого к нему приклеивается преобразованное значение текущего поля из списка realFields. Если значение строковое, оно не меняется. Если значение является Id, а следующее значение является датой, эти два значения преобразуются в unid, дата после этого отдельно не обрабатывается. Если значение является Id, а следующее значение не является датой, значение преобразуется в ReplicaId. Пример <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="self"> <property name="virtualField"> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.BuildVirtualField"> <property name="realFields"> <list> <value>self_1</value> <value>Module</value> <value>self_2</value> <value>ID</value> <value>created_date</value> <value>self_3</value> </list> </property> <property name="pattern" value="<id>([0-9]{16}):([0-9A-F]{32})</>"/> <property name="separator" value=""/> <property name="emptySeparator" value="true"/> </bean> </property> </bean> |
TnUnidVirtualField | Виртуальное поле для обработки unid для НР объектов. Наследуется с BuildVirtualField. Пример <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="self"> <property name="virtualField"> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.TnUnidVirtualField"> <property name="realFields"> <list> <value>self_1</value> <value>Module</value> <value>self_2</value> <value>id</value> <value>created_date</value> <value>self_3</value> </list> </property> <property name="pattern" value="<id>([0-9]{16}):([0-9A-F]{32})</>"/> <property name="separator" value=""/> </bean> </property> </bean> |
MultiValuedVirtualField | Используется для преобразований (String[{Separator}, …]) <-> Array[String], т.е. преобразовывает строку в массив строк, разрезая ее по разделителю (свойство elementSeparator). Преобразует значение в поле, имя которого стоит первым в свойстве realFields, остальные игнорирует. Передает параметр поиска без изменений, поэтому для корректной фильтрации в условии фильтра в конфигурации коллекции нужно использовать оператор вхождения подстроки. <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="exampleActor"> <property name="virtualField"> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.MultiValuedVirtualField" p:realFields="exampleActor" p:elementSeparator=";"/> </property> </bean> |
InputOutDateVirtualField | Адаптер вычисляемого поля, который пропускает значения без изменений, за исключением преобразования null - "б/д". Используется для коллекций InputDocs_(*) поля OutDate(ForeignRegDate у ДОПа) Пример <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="exampleDate"> <property name="virtualField"> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.InputOutDateVirtualField" p:realFields="exampleDate"/> </property> </bean> |
DateTimeFormattedVirtualField | Используется для преобразования даты и время к заданному формату. Формат задается свойство pattern. Пример <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="exampleDate"> <property name="virtualField"> <bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.DateTimeFormattedVirtualField" p:realFields="exampleDate"> <property name="pattern" value="dd.MM.yyyy" /> </bean> </property> </bean> |
IconVirtualField |
Статус | В РАБОТЕ |
---|---|
Комментарий |
Теги и атрибуты:
- Нет меток