Загрузка одного и того же плагина дважды с другой версией в Eclipse

StackOverflow https://stackoverflow.com/questions/9383880

Вопрос

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

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

Это было полезно?

Решение

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

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

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

Другие советы

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top