Дерево страниц
Skip to end of metadata
Go to start of metadata
Корневой элемент bean. Пространство имен: beans

Краткое описание

В коннекторе может быть задана дополнительная (необязательная) конфигурация для представления. Она позволяет поддержать функционал, неподдерживаемый AF5. Конфигурация представляет собой обыкновенный Spring-бин, являющийся экземпляром класса CollectionMetadataNew.

Структура XML
<?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>open_id_tag</value>
                                    <value>module</value>
                                    <value>separate</value>
                                    <value>id</value>
                                    <value>created_date</value>
                                    <value>close_id_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>

bean. collection

attributes

Описание атрибутов коллекции

ПараметрыОписание

id

Идентификатор формата <Collection Name>Metadata, где <Collection Name> - значение атрибута name элемента collection в конфигурационном файле AF5.

class

ru.intertrust.cm_sochi.srv.connector.sochi.collections.CollectionMetadataNew

searchArea

Область поиска при полнотекстовом поиске

caseSensitiveFieldNames

Если указан, имена полей при сортировке будут взяты в двойные кавычки. Важно: имя элемента противоречит его функции.

constructor-arg

Описание агрументов бина коллекции

list

Список объектов

ПараметрыОписание

value-type

Тип объекта. Часто используемый тип: ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field 

bean. field

attributes

Одним из аргументов конструктора является список объектов типа Field (поле представления), которые делают определения бинов более удобными для чтения и написания и преобразуются во внутренний формат внутри конструктора.

ПараметрыОписание

class

ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field

name

Имя поля. Будет использовано во всех словарях

sortOrder

Направление сортировки по умолчанию

ASCENDING - по возрастанию

DESCENDING - по убыванию

Сортировка
<bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" 
p:name="subject" p:sortOrder="ASCENDING" p:sortPriority="0"/>

sortPriority

Приоритет сортировки. Чем ниже значение, тем выше приоритет

Приоритет
<bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" 
p:name="subject" p:sortOrder="ASCENDING" p:sortPriority="0"/>
<bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" 
p:name="exampleStr" p:sortOrder="ASCENDING" p:sortPriority="1"/>

categorized

Флаг категоризации

filter

Имя фильтра (name), который будет использован при поиске

<property name>

ПараметрыОписание

virtualField

Обработчик вычисляемого поля bean.<virtualField>

bean. <virtualField>

Описание часто используемых классов для преобразования данных.

UnidVirtualField

Используется для преобразований (Id, Date) <-> Unid.

При поиске по unid’у он будет преобразован в Id, который будет передан в качестве единственного параметра.

property

ЗначенияОписание
realFields

Объединяет SQL-поля в одно значение.  SQL-поле - название колонки, которое возвращает SQL-запрос из коллекции.

Параметры:

    • id - идентификатор документа
    • created_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>

Результат

5CA9BAC26131452C432588A8004D98FB

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.

property

ЗначенияОписание
realFields

Объединяет SQL-поля в одно значение.  SQL-поле - название колонки, которое возвращает SQL-запрос из коллекции.

Параметры:

    • open_id_tag - открытие тега -   '<id>'
    • module - идентификатор модуля
    • separate - разделитель - ':'
    • id - индентификатор документа
    • created_date - дата создания документа
    • close_id_tag - закрытие тега - '</>
pattern
Regexp-выражение для конвертации ключа поиска в параметры фильтра
separator
Разделитель, используемый при объединении значений полей из SQL-запроса
emptySeparator
Отключает применение разделителя по-умолчанию "%"
Пример
<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>open_id_tag</value>
					<value>module</value>
					<value>separate</value>
					<value>id</value>
					<value>created_date</value>
					<value>close_id_tag</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>

Результат

<id>4325826D00274C26:5CA9BAC26131452C432588A8004D98FB</>

TnUnidVirtualField

Наследник BuildVirtualField.

Виртуальное поле для обработки unid для НР объектов.

property

ЗначенияОписание
realFields

Объединяет SQL-поля в одно значение.  SQL-поле - названияе колонки, которое возвращает SQL-запрос из коллекции.

Параметры:

    • open_id_tag - открытие тега -   '<id>'
    • module - идентификатор модуля
    • separate - разделитель - ':'
    • id - индентификатор документа
    • created_date - дата создания документа
    • close_id_tag - закрытие тега - '</>'
pattern
Regexp-выражение для конвертации ключа поиска в параметры фильтра
separator
Разделитель, используемый при объединении значений полей из SQL-запроса
emptySeparator
Отключает применение разделителя по-умолчанию "%"
Пример
<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>open_id_tag</value>
					<value>module</value>
					<value>separate</value>
					<value>id</value>
					<value>created_date</value>
					<value>close_id_tag</value> 
				</list>
			</property>
			<property name="pattern" value="&lt;id&gt;([0-9]{16}):([0-9A-F]{32})&lt;/&gt;"/>
			<property name="separator" value=""/>
		</bean>
	</property>
</bean>

Результат

<id>4325826D00274C26-TN:5CA9BAC26131452C432588A8004D98FB</>

MultiValuedVirtualField

Используется для преобразований (String[{Separator}, …]) <-> Array[String]

Преобразовывает строку в массив строк, разрезая ее по разделителю.

attributes

ПараметрыОписание
realFields
Название SQL-поля.
elementSeparator
Разделитель, используемый при объединении значений SQL-полей.
Пример
<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>

Результат

На входеНа выходе
Иванов А.В.; Петров В.Н.Иванов А.В.
Петров В.Н

DateTimeFormattedVirtualField

Используется для преобразования даты и время к заданному формату

property

ЗначенияОписание
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>

Результат

На входеНа выходе
12.12.2022  14:18:3012.12.2022

DecimalFormattedVirtualField

Используется для преобразования числа, с плавающей запятой, к заданному формату

property

ЗначенияОписание
pattern
Формат отображение чисел с плавающей запятой
Пример
<bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="exampleDbl">
	<property name="virtualField">
		<bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.DecimalFormattedVirtualField" p:realFields="exampleDbl">
			<property name="pattern" value="#,##0.00" />
		</bean>
	</property>
</bean>

Результат

На входеНа выходе
1233423,33431 233 423,33

InputOutDateVirtualField

Адаптер вычисляемого поля, который пропускает значения без изменений, за исключением преобразования null - "б/д". Используется для коллекций InputDocs_(*) поля OutDate(ForeignRegDate у ДОПа)

attributes

ПараметрыОписание
realFields
Название колонки
Пример
<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>

Результат

На входеНа выходе
12.12.202212.12.2022
nullб/д


IconVirtualField

Используется для форимирования кастомной иконки

property

ЗначенияОписание
realFields

Объединяет SQL-поля в одно значение.  SQL-поле - названияе колонки, которое возвращает SQL-запрос из коллекции.

Параметры:

    • iconId - идентификатор иконки
    • iconHint - подсказка
Пример
<bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.Field" p:name="exampleIcon">
	<property name="virtualField">
		<bean class="ru.intertrust.cm_sochi.srv.connector.sochi.collections.IconVirtualField" p:name="exampleIcon">
			<property name="realFields">
				<list>
					<value>exampleIconID</value>
					<value>exampleIconHint</value>
				</list>
			</property>
		</bean>
	</property>
</bean>

Результат

<iconId>31</><iconHint>Пример иконки</>



Статус

ГОТОВО

Комментарий

Теги и атрибуты: