Структура данных
Структура данных в Юниверс DG состоит из двух моделей: модели типов активов и модели справочников.
Модель типов активов
Файл dg-model.xml - содержит модель типов активов и состоит из следующих частей:
Часть “assetTypes”
Представленный пример части assetTypes содержит тип актива "Проверка качества" (системное имя dq_check), который имеет определенные свойства.
Свойства типа актива:
name- имя типа актива (обязательное; может содержать латинские буквы, цифры, символ '_').displayName- имя типа актива, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).description- описание типа актива.color- цвет, задающийся типу актива для отображения на графе связей.
Перечень атрибутов типа актива может содержать множество атрибутов трех типов: простой, массив-атрибут и комплексный.
В приведенном примере тип актива "Проверка качества" имеет в своем составе только один простой атрибут.
Свойства простого атрибута типа актива:
name- имя атрибута (обязательное; может содержать латинские буквы, цифры, символ '_').displayName- имя атрибута, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).order- порядок атрибутов в перечне атрибутов типа актива.readOnly,hidden,nullable,searchable,displayable,unique,searchMorphologically,searchCaseInsensitive,base- параметры атрибута.simpleDataType- свойство, устанавливающее тип данных простого атрибута (в примере: Строковый тип данных -String).enumDataType- свойство типа данных - перечисление. Все перечисления модели и их элементы прописываются в файле enumerations.xml.linkDataType- свойство типа ссылки на данные.
Примечания:
Каждый тип актива должен иметь как минимум один простой атрибут.
Один простой атрибут каждого типа актива должен быть главным отображаемым (иметь следующие свойства:
mainDisplayable=true,displayable=true,nullable=false,searchable=true).
Рисунок 1 – Часть “assetTypes”
Часть “relationTypes”
Активы могут соединяться между собой с помощью связей. Эти связи имеют определенные типы со следующими свойствами:
name- имя типа связи.outwardDisplayName- исходящее описание. Параметр для просмотра однонаправленной связи со стороны записи (с какими другими записями она связана).inwardDisplayName- входящее описание. Параметр для просмотра однонаправленной связи со стороны других записей, которые связаны с первоначальной записью. Для двунаправленной связи используются оба описания (Исходящее и Входящее).direction- направление связи (одно/двунаправленная).inner- признак "Вложенная связь".
Рисунок 2 – Часть “relationTypes”
Часть “relations”
Часть “relations” содержит информацию об имеющихся связях между активами со следующими свойствами:
relationType- тип связи, который задается в секции “relationTypes” (см. выше).fromAssetType- тип актива, от которого начинается связь (левый конец связи).toAssetType- тип актива, к которому проложена связь (правый конец связи).fromCardinality- допустимое количество связей активов левого конца связи (кардинальность).toCardinality- допустимое количество связей активов правого конца связи (кардинальность).required- признак "Обязательная связь".
Рисунок 3 – Часть “relations”
Часть “nesteds”
Модель типов активов также может содержать вложенные объекты, которые в свою очередь не могут существовать без типа актива.
Вложенный объект определяет структуру комплексного атрибута и может содержать перечень простых, массив или комплексных атрибутов.
В приведенном примере вложенный объект "Дополнительное описание" (системное имя nestedobject1) имеет в своем составе 2 простых атрибута и 1 массив-атрибут.
Свойства вложенного объекта:
name- имя вложенного объекта (обязательное; может содержать латинские буквы, цифры, символ '_');displayName- имя объекта, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).description- описание объекта.
Свойства массив-атрибута вложенного объекта:
name- имя атрибута (обязательное; может содержать латинские буквы, цифры, символ '_').displayName- имя атрибута, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).order- порядок атрибутов в перечне атрибутов типа актива.readOnly,hidden,nullable,searchable,displayable,unique,searchMorphologically,searchCaseInsensitive,base- параметры атрибута.arrayValueType- свойство, устанавливающее тип значения массив-атрибута (в примере: Строковый тип значения -String).exchangeSeparator- параметр "Разделитель", позволяющий задать символ для разделения значений массив-атрибута при отображении в виде строки (в примере: символ|).
Рисунок 4 – Часть “nesteds”
Часть “graphLayoutTemplate”
Часть “graphLayoutTemplate” содержит шаблоны для пользовательского отображения типов активов на графе связей.
Свойства шаблона:
name- имя шаблона.displayName- имя шаблона, отображаемое в пользовательском интерфейсе.maxRow- максимальное количество строк в шаблоне.maxColumn- максимальное количество столбцов в шаблоне.Секция
layout:row- номер строки, где располагается тип актива.column- номер столбца, где располагается тип актива.assetType- имя типа актива.
Рисунок 5 – Часть “graphLayoutTemplate”
Модель справочников
Файл lookups.xml - содержит модель справочников и состоит из следующих частей:
Часть “entitiesGroup”
Модель может содержать множество справочников, поэтому для облегчения поиска в пользовательском интерфейсе можно использовать группы справочников.
Существует одна группа по умолчанию - ROOT.
Свойства групп:
innerGroups- секция групп справочников.`name- системное имя группы.displayName- имя группы, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел).
Доступно создание глубокой иерархии групп справочников. Каждая внутренняя группа может содержать внутри себя множество внутренних групп.
Рисунок 6 – Часть “entitiesGroup”
Часть “lookups”
Справочники схожи с типа активами и имеют такие же свойства.
Представленный пример части “lookups” содержит тип актива "Countries" (системное имя country), который имеет определенные свойства.
Свойства справочника:
name- имя справочника (обязательное; может содержать латинские буквы, цифры, символ '_');displayName- имя справочника, отображаемое в пользовательском интерфейсе (обязательное; может содержать буквы разных языков, цифры, различные символы, включая пробел);description- описание справочника.
Перечень атрибутов справочника может содержать множество простых атрибутов и один кодовый атрибут. Также справочник может иметь альтернативные кодовые атрибуты.
В приведенном примере справочник "Countries" имеет в своем составе 4 простых атрибута и 1 кодовый.
Свойства простого атрибута справочника совпадают со свойствами атрибута типа актива (см. выше)
Примечания:
Каждый справочник должен иметь кодовый атрибут. Этот атрибут по умолчанию простой, и в интерфейсе создается автоматически вместе со справочником.
Кодовый атрибут или один простой атрибут каждого справочника должен быть основным отображаемым (должен иметь следующие свойства:
mainDisplayable=true,displayable=true,nullable=false).
Рисунок 7 – Часть “lookups”