osate / osate-ge

Old Graphical editor for OSATE repository, kept for reference
6 stars 3 forks source link

Convert Graphiti Features to Command API #188

Closed philip-alldredge closed 7 years ago

philip-alldredge commented 7 years ago

Convert features which are in the org.osate.ge.internal.features package to use the command API. The new commands should be placed in the org.osate.ge.internal.commands package. Branch off of bohandler_migration. Ensure that the behavior and ordering in the context menu doesn't change.

Converting the features will exercise the command API and simplify the code.

Make note of any features that can't be converted and let's discuss later.

Commands which modify the AADL model must have the ModifiesBusinessObjects annotation. There is no need to use the AadlModificationService. Commands which modify the model may only accept one business object.

philip-alldredge commented 7 years ago

To convert features where one feature class is instantiated multiple times, use a commandContributor. Those are defined similarly to commands in the org.osate.ge.commands extension. The capability is new so it hasn't been documented yet. I have added an example command contributor: org.osate.ge.internal.commands.SetInitialModeCommandContributor. It can be used when converting the set initial mode features.