Настройка стандартного компоновщика для создания схем из пользовательских запросов
При создании представлений стандартного компоновщика, полностью построенных на основе пользовательских запросов, пользователи не имеют возможности предоставить конкретный входной контекст. В этом случае стандартный компоновщик работает с пользовательскими запросами, которые настроены для всех классов объектов, связанных с шаблонами представлений. Все эти запросы можно настроить на работу из базы данных любого типа, из который они возвращают наборы записей. Затем стандартный компоновщик работает с этими наборами записей для построения связанных объектов схемы, которые ожидаются созданными схематическими представлениями.
Если стандартный компоновщик работает только с пользовательскими запросами, то на странице свойств компоновщика не требуется указывать какие-либо конкретные свойства. Настройка компоновщика в этом случае, в основном, состоит из настройки пользовательского запроса для каждого класса объектов схемы, который участвует в построении содержимого представления. Кроме того, пользовательский запрос часто может быть указан в самом шаблоне представления, в случае если предполагается, что стандартный компоновщик построит несколько представлений. В разделе Настройка пользовательских запросов для создания содержимого схематических представлений стандартного компоновщика вкратце объясняется, как нужно настраивать такие запросы.
В версиях Schematics до 10-й содержимое схематических представлений, полностью построенных из пользовательских запросов, управлялось специальным компоновщиком, который назывался Компоновщик на основе пользовательских запросов (Custom Query Based builder). В этом компоновщике ни один объект схемы, содержащийся в представлении, основанном на пользовательских запросах, не хранился в наборе схематических данных. Запросы, настроенные с использованием классов объектов схемы, связанных с шаблонами схематических представлений, выполнялись в памяти во время создания представления и повторно каждый раз при последующем открытии представления. В текущей версии Schematics стандартный компоновщик, настроенный на создание таких представлений, работает в наборе схематических данных таким же образом, как и любой другой предустановленный компоновщик. Во время создания представления объекты схемы, построенные из пользовательских запросов, хранятся в классах объектов схемы в наборе схематических данных. Когда схематические представления повторно открываются, их содержимое напрямую идет из тех классов объектов схемы без автоматического повторного выполнения пользовательских запросов. Чтобы сымитировать поведение предыдущих версий Schematics, можно вручную установить повторное выполнения пользовательских запросов при каждом отображении представлений. В разделе Настройка динамических представлений стандартного компоновщика объясняется, как настроить автоматическое повторное выполнение пользовательских запросов при каждом отображении таких представлений.
Настройка пользовательских запросов для создания содержимого схематических представлений стандартного компоновщика
Настройка запроса для создания набора предустановленных представлений
Если стандартный компоновщик работает с пользовательскими запросами, его можно настроить на построение схематического представления (представление, которое содержит все предполагаемые данные) или набора предустановленных схематических представлений (каждое представление в наборе содержит отфильтрованные данные, т. е. одно представление на округ, одно представление на станцию и т. д.) Если требуется, чтобы стандартный компоновщик реализовал несколько представлений, нужно выполнить следующие действия по настройке шаблона представления.
- Первый шаг состоит из указания запроса, который будет использован для возвращения всех ожидаемых элементов схематического представления. На этой же стадии настройки нужно указать, как будет построен каждый идентификатор представления. Все эти параметры настраиваются в разделе Query/Identifier (Запрос/Идентификатор) на вкладке Свойства (Properties), связанном с шаблоном схематического представления.
Как указать запрос шаблона схематического представления и идентификаторы схематических представлений
- Следующий шаг состоит из создания атрибута схемы, чьи значения будут использованы для фильтрации данных представления. Этот атрибут нужно настраивать на уровне шаблона представления. Обычно он связан с идентификатором или полем имени, значения которых также доступны в таблицах, запрашиваемых для построения объектов схемы, ожидаемых в каждом представлении (например, название станции или округа).
Если предполагается, что стандартный компоновщик реализует представление, приведенные выше стадии настройки выполнять не нужно.
Настройка запросов на классы объектов схемы, связанные с шаблоном представления стандартного компоновщика
Стандартный компоновщик создает объекты схемы, ожидаемые в представлении, используя пользовательские запросы, настроенные на основе классов объектов схемы, связанных с шаблоном представления. Следующая стадия настройки состоит из создания и настройки этих классов объектов схемы. Эта стадия включает четыре шага:
- Создание классов объектов схемы.
- Связывание классов объектов съемы с шаблоном представления на основе шаблона представления стандартного компоновщика.
- Затем для каждого класса объектов схемы выполняется настройка запроса, который будет возвращать набор записей, из которого стандартный компоновщик создает объекты схемы, ожидаемые в каждом предустановленном представлении. Также необходимо указать способ построения идентификатора для каждого создаваемого объекта схемы. Эти параметры настраиваются в разделе Query (Запрос) на вкладке Properties (Свойства), связанном с классом объектов схемы.
Более подробно об указании запроса класса объектов схемы и идентификаторов объектов схемы
- Последний шаг влияет только на классы объектов связей схемы. Schematics сможет корректно создать связи, содержащиеся в схематических представлениях, только после того, как предопределенные атрибуты ExtremityNode и OriginNode настроены для каждого класса объектов связанных узлов схемы. Эти атрибуты нужно создать и настроить так, чтобы возвращался идентификатор каждой исходной точки и и каждого крайнего узла связи.
Настройка динамических представлений стандартного компоновщика
Во время создания представления все объекты схемы, построенные из пользовательских запросов, хранятся в классах объектов схемы в наборе схематических данных. При каждом последующем открытии представления пользовательские запросы не выполняются по умолчанию. Содержимое представления запрашивается напрямую из классов объектов схемы в наборе схематических данных. Можно создавать собственные конфигурации, которые обеспечивают динамическое перестроение представлений при каждом открытии. Для настройки такого динамического узла требуется установить следующие параметры.
- Нужно настроить шаблон схематического представления так, чтобы все использующие его представления, автоматически загружались в память при открытии.
Более подробно об автоматической загрузке представлений в память
- Нужно настроить каждый класс объектов схемы, связанный с шаблоном представления, таким образом, чтобы его запрос автоматически повторно выполнялся при загрузке представления в память.
Более подробно о настройке динамических пользовательских запросах по классам объектов схемы
- Нужно настроить атрибуты, которые указаны в каждом классе объектов схемы, связанном с шаблоном представления, таким образом, чтобы они (атрибуты) автоматически переоценивались при загрузке представления.
Более подробно о настройке атрибутов и их оценке при каждой загрузке представления в память
Если представления стандартного компоновщика настраиваются в динамическом режиме, то содержимое классов объектов схемы в наборе схематических данных никогда не отражает факт открытия представлений. При создании или обновлении представления объекты схемы строятся и сохраняются в классах объектов схем в наборе схематических данных. При загрузке представления в память пользовательские запросы и атрибуты, настроенные для классов объектов схем, систематически переоцениваются, а отображаемые представления автоматически отражают новые результаты оценки.
Если требуется автоматизировать содержимое схематического представления с помощью правил схемы, нельзя настраивать этот динамический режим. Правила схемы не применяются к объектам схемы, исходящим от классов объектов схемы с пользовательскими запросами, которые настроены на запуск при загрузке представления. Правила схемы применимы только к объектам схемы, исходящим от классов объектов схемы с пользовательскими запросами, которые настроены на запуск при создании и обновления представления.