Установите значение атрибута через вызов метода java

У меня есть модель Ecore с идентификатором атрибута. Теперь в Sirius мы можем установить значения атрибута с помощью операции set, указав имя функции атрибута и значение Expression в дизайне Sirius. Теперь проблема в том, что я хочу установите идентификатор значения атрибута, поэтому я хочу использовать методы, предоставленные java, для создания случайных чисел, поэтому как я могу вызвать этот метод в выражении значения, чтобы имя функции имело значение возвращаемого типа метода.


person NVN    schedule 05.07.2016    source источник


Ответы (1)


Операция Set в Sirius использует выражение для получения устанавливаемого значения. Выражения могут быть записаны на различных языках запросов. Большинство поддерживает обратный вызов так называемых "служб Java", которые представляют собой простые методы Java, которые должны соответствовать нескольким правилам. Подробнее см. в соответствующем разделе документации.

В основном для вашего случая вам нужно:

  1. Напишите небольшой класс Java, который предоставляет код «генерации случайных чисел», который вы хотите вызывать, таким образом, чтобы Sirius мог вызывать его как службу.
  2. Зарегистрируйте соответствующий класс в своем VSM (это описано в документации).
  3. Наконец, вызовите службу из выражения в вашей операции Set Value с чем-то вроде service:getRandomId.

В конце расширенного руководства по Sirius также есть раздел об использовании служб Java, которые могут быть полезным.

person pcdavid    schedule 12.08.2016