Как автоматизировать «последнее изменение» текстового поля на диаграмме RSM? - PullRequest
0 голосов
/ 08 апреля 2009

Моя команда использует Rational Software Modeler для построения некоторых UML-диаграмм. На каждой диаграмме есть небольшое текстовое поле с указанием удобочитаемого заголовка, даты последнего изменения и некоторой другой информации о диаграмме.

Есть ли способ автоматически обновлять дату последнего изменения? Макрос, возможно? Или какой-нибудь плагин к Eclipse?

1 Ответ

1 голос
/ 18 ноября 2009

Вы, безусловно, можете обновить эту информацию в любое время при сохранении диаграммы. Плагин сделает это. Решением будет решение GMF и EMF (модель UML ecore). Я написал аналогичный плагин, который прослушивает изменения модели или объекта, а затем обновляет объект UML.

Подход на высоком уровне.

  1. Создайте плагин Eclipse, вы можете включить com.ibm.xtools.modeler ...
  2. Добавьте прослушиватель к диаграмме GMF (Notification Listener) или создайте (в GMF, EditPolicy / EditPart). Таким образом, каждый раз, когда он изменяется, вы обновляете отметку времени, вы также можете подумать об ожидании / прослушивании команды сохранения, поэтому сохраните дополнительные транзакции ecore.
  3. Напишите транзакцию, расширив класс, такой как RecordingCommand. Затем найдите все дочерние узлы на диаграмме, которые соответствуют тому, что вы ищете, лично я бы использовал профиль UML и заблокировал бы содержимое заметок и / или автоматизировал бы его, но его можно было оставить в свободной форме.
  4. Попросите слушателя или EditPolicy выполнить транзакцию до завершения сохранения или редактирования, как вы когда-либо выбрали.

Существуют учебники по GMF и EMF, а также книги, не обширные, но сложные. Если вы действительно сильно затрудняетесь с прямым сообщением, я задаю более подробный вопрос или добавляю его здесь и отвечаю на него, если вы все еще нуждаетесь в этом опоздании на 7 месяцев, ваш вопрос является очень конкретным.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...