New & Noteworthy in 2.5.2

Neben kleineren Bugfixes sind folgende Änderungen in der Version 2.5.2 enthalten:

  • Fehler im Refactoring wurden behoben
  • Die Performance des Wizards zum Produkt kopieren wurde verbessert
  • Fehler im ClassloaderRuntimeRepository mit referenzierten RuntimeRepositories wurde behoben
  • Im generierten Code wird in den copy-Methoden anstatt der AbstractModelObject das Interface IModelObject verwendet. Dadurch kann es nach dem Installieren der neuen Version zunächst zu Compilefehlern im generierten Code kommen. Dies liegt daran, dass JMerge die Signatur von Methoden nicht korrigiert, wenn nur die generischen Attribute verändert wurden (z.B. alt Map<AbstractModelObject, AbstractModelObject> neu Map<IModelObject, IModelObject>). Bereits generierte copy-Methoden müssen daher nach einem Upgrade manuell angepasst werden. Dazu kann die Suchen/Ersetzen Funktion von Eclipse verwendet werden.

Aktualisieren der copy-Methoden

Zur Aktualisierung der copy-Methoden muss zwei mal Suchen/Ersetzen aufgerufen werden:

  • Suche: public IModelObject newCopyInternal(Map<AbstractModelObject, AbstractModelObject> copyMap)
  • Ersetzen durch: public IModelObject newCopyInternal(Map<IModelObject, IModelObject> copyMap)
  • Suche (mit „Regular Expression“ aktiviert!): protected void copyProperties\((.*), Map<AbstractModelObject, AbstractModelObject> copyMap\)
  • Ersetzen durch: protected void copyProperties\($1, Map<IModelObject, IModelObject> copyMap\)