Дерево страниц
Skip to end of metadata
Go to start of metadata

Вы просматриваете старую версию данной страницы. Смотрите текущую версию.

Сравнить с текущим просмотр истории страницы

« Предыдущий Версия 5 Следующий »

Корневой элемент 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>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

Статус

В РАБОТЕ

Комментарий

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

  • Нет меток