Задача [IDE4]: Интеграция интерпретатора JavaScript

Формулировка проблемы: для упрощения процесса разработки приложений на базе Synergy необходимо изменить интерфейс конфигуратора на оболочку Synergy IDE.

Связанные задачи:

Решение:

В данной задаче описаны:

Способ установки и настройки интерпретатора

Ранее пакет интерпретатора arta-synergy-interpreter требовал отдельной установки и дальнейшего ручного изменения конфигурационных файлов. Необходимо изменить процесс установки и настройки интерпретатора:

  1. Интегрировать функциональность интерпретатора в основную поставку платформы, т.е. исключить необходимость дополнительной установки пакета.

  2. В раздел "Настройки платформы" - "Настройки системы" добавить новый пункт "Настройки интерпретатора" (выше пункта "Импорт/экспорт настроек":

Рисунок 37. Новый пункт в настройках платформы

Новый пункт в настройках платформы

Рисунок 38. Раздел "Настройки интерпретатора"

Раздел "Настройки интерпретатора"

В новом пункте должны содержаться настройки интерпретатора:

  • "Префикс для скриптов интерпретатора" - однострочное поле ввода, обязательное, значение по умолчанию: event.blocking.interpreter.

  • Настройки для случая, когда не найден скрипт интерпретатора:

  • флаг "Успешно завершать блокирующий процесс", по умолчанию отключен;

  • "Сообщение по умолчанию" - однострочное поле ввода, обязательное, значение по умолчанию: Скрипт не найден

При обновлении системы необходимо заполнять настройки соответствующими значениями из конфигурационного файла интерпретатора /opt/synergy/jboss/standalone/configuration/arta/interpreter/interpreter.properties, далее значения из этого файла игнорируются.

Работа со скриптами интерпретатора в приложении

Каждый отдельный скрипт интерпретатора является объектом приложения Synergy, который можно добавить в произвольную папку приложения.

Для этого в верхней панели и в контекстном меню папки необходимо добавить новый пункт "Добавить" - "Интеграция" - "Скрипт интерпретатора".

Скрипт интерпрератора отображается в навигаторе аналогично пользовательскому компоненту - двухуровневое дерево:

  • корнем дерева являются сведения и основные настройки скрипта:

    • Название (обязательное);

    • Код (обязательное);

    • Описание;

    • Комментарий по умолчанию (обязательное);

    • Авторизация (обязательные):

      • По логину и паролю (включено по умолчанию):

        • Логин

        • Пароль

      • По ключу:

        • Ключ

    • Настройки пробного запуска:

      • dataUUID

      • documentID

      • executionID

  • при создании нового объекта поле "Название" предзаполнено значением настройки "Префикс для скриптов интерпретатора".

  • по двойному клику по ноде сведений в основной панели вкладок отображается общая вкладка скрипта интерпертатора, а в рабочей области отображается незакрывающаяся внутренняя вкладка, содержащая редактор этих сведений:

Рисунок 39. Сведения о скрипте интерпретатора, авторизация по логину и паролю

Сведения о скрипте интерпретатора, авторизация по логину и паролю

Рисунок 40. Сведения о скрипте интерпретатора, авторизация по ключу

Сведения о скрипте интерпретатора, авторизация по ключу

  • при первом сохранении сведений автоматически создается файл script.js, который отображается как дочерняя нода компонента. По двойному клику по этой ноде во внутренней вкладке скрипта интерпретатора отображается редактор кода. В правой части рабочей области (ниже панели внутренних вкладок интерпрератора) отображается вспомогательная панель, содержащая синтаксис методов FormData.

Правая панель имеет два состояния: свернута и развернута, без возможности динамического изменения ее ширины с помощью сплиттера. По умолчанию панель свернута, при разворачивании она перекрывает правый край рабочей области редактора кода, причем ширина редактора кода не адаптируется.

Текст подсказки используется тот же, что и в текущей реализации интерпретатора.

Рисунок 41. Редактор кода, подсказка свернута

Редактор кода, подсказка свернута

Рисунок 42. Редактор кода, подсказка развернута

Редактор кода, подсказка развернута

  • для редактора скрипта интерпретатора в нижней панели рабочей области, помимо кнопок "Сохранить" и "Отменить", отображается кнопка "Запустить", позволяющая произвести запуск скрипта.

При сохранении скрипта выполняется проверка уникальности его названия в рамках экземпляра Synergy. Возможно выполнение альтернативного потока 1.

Альтернативный поток 1. Система содержит скрипт интерпретатора с указанным названием.

Система отображает ошибку с текстом:

"Скрипт с таким названием уже существует"

Сохранение не выполняется.