Загрузка одного и того же плагина дважды с другой версией в Eclipse - PullRequest
0 голосов
/ 21 февраля 2012

У меня есть две разные версии плагина EMF, который загружает определенный .xmi. Последняя версия была изменена, так что xmi из предыдущей версии несовместимо. Я хочу загрузить xmi с первым плагином, а затем программно построить модель, используя более новый плагин, перенося старые модели. Они идентичны, за исключением некоторых изменений в модели ЭМП.

Как мне загрузить эти плагины? Является ли это возможным? Есть ли лучшие стратегии?

Ответы [ 2 ]

2 голосов
/ 22 февраля 2012

Я предлагаю изменить идентификатор старой версии (и, возможно, URI пакета EMF), чтобы вы могли иметь два кода и модели одновременно.

Поскольку вам нужно обрабатывать как старые, так и новые классы в одном и том же плагине (миграторе), вы не сможете заставить оба работать.

Однако вы должны взглянуть на технологию динамической ЭДС , где вы можете открыть старую модель без сгенерированных пакетов (с другой стороны, вы должны использовать отражающий API). Используя этот метод, вы можете написать конвертер, который откроет старую модель с помощью отражающего API-интерфейса EMF и вручную переведет его в новую версию модели.

1 голос
/ 22 февраля 2012

Извините, но это невозможно, так как эти плагины являются одиночными. И вы не можете переключать плагины во время миграции, так как базовые классы Java мешают вам.

Одним из возможных решений является использование технологии EDapt . Эта технология позволяет автоматически переносить модель по мере ее загрузки. Я использовал COPE - предшественника EDapt - в двух разных проектах с большим успехом.

...