Практика реализации модуля интеграции для Rational Software Architect. Часть 2Источник: developerworks Александр Новичков, руководитель отдела внедрения и консалтинга, СМ-Консалт, Алексей Черников, ведущий специалист отдела перспективных разработок, СМ-Консалт
В появившемся окне выбираем "Browse…", а затем находим папку с декомпилированным CQJNI, и ставим на ней галочку в диалоговом окне импорта. В поле "Into folder" вводим "CQJNITest/com/rational/clearquest/cqjni" (Рисунок 4). Рисунок 4. Окно с настройками импорта, импорт классов CQJNI После этого можно нажимать "Finish", и в нашем проекте появится package с именем "com.rational.clearquest.cqjni", где будут лежать все декомпилированные классы. Осталось их подправить, чтобы не было ошибок компиляции. Должно получиться два класса с такими ошибками: CPUCount и CQJNIBaseObj. В CPUCount в единственном статическом методе стоит убрать всё после return, и добавить throws ClassNotFoundException в объявление метода. В CQJNIBaseObj метод procedureHashCode можно переписать, например, так:
Будет ещё один проблемный метод в этом классе - _mthclass$. Он абсолютно такой же, как неработающий метод в CPUCount, поэтому нужно произвести те же модификации, что мы делали для CPUCount. Осталось создать простой тест, чтобы убедиться, что всё правильно работает в IBM Rational Software Architect :
Разработка plug-in"а для интеграции IBM Rational ClearQuest и IBM Rational Software Architect Создадим plug-in для RSA, который будет обращаться к ClearQuest и выполнять функции, описанные во введении к данной статье. Разрабатываемый plug-in должен обеспечивать следующие (минимальные) функции:
Создание и настройка plug-in"а Заходим в File - New - Other, и выбираем plug-in project (Рисунок 5). Рисунок 5. Окно создания нового проекта, выбор проекта типа plug-in Назовём проект "RSACQIntegration". Наш plug-in будет доступен через основное меню. Plug-in типа "Hello World" сам создаст новый пункт меню с названием Sample Menu и пунктом "Sample Action", реагирующий на нажатие открытием диалогового окна, поэтому это будет удобно использовать в качестве базы (Рисунок 6). Рисунок 6. Окно с шаблонными типами plug-in"ов, выбор plug-in"а, расширяющего Menu Bar В принципе, остальные возможные настройки нам сейчас не очень интересны, поэтому можно нажать Finish. |