This page list all the migration process
From v0.8.X to v0.9.X
There was no regressive changes in EEF metamodels in 0.9 version.
Migrating from end-user point of view
- First, relaunch generation. Use the organize imports action of JDT if needed.
- If you have user code lost in *.lost files, use components and views extension mechanism to reintegrate this code. Delete lost files.
- The components providing mechanism have been changed in 0.9. EEF don't use the XXXPackageEditionProvider and XXXPackagePolicyEditionProvider to get controller and editing policies but a generated AdapterFactory instead. Delete theses classes.
- The sample plugin.xml generated file is updated with the new AdapterFactory declaration. Replace old EEF providers declaration by the generated AdapterFactory.
- Finally, update the OpenWizardOnDoubleClick constructor call (if you use wizards). It takes now the adapterFactory to use in parameter.
It works ! If you have any other trouble, see API Changes section or ask on EMFT newsgroup
The Batch mode in EEF have been redefined. It no longer use clone to compute difference before and after editing, but use ChangeRecorder instead. When opening an editing session in batch mode (basically editing a model element with the EEF wizard), changes are made in live, and if cancel button is used, all changes of the session are undone. This implies major API changes :
- IPropertiesEditionPolicy has been renamed PropertiesEditingPolicy
- StandardEditingPolicy and CreateEditingPolicy implements this interface
- StandardEditingCommand and WizardEditingCommand are created
- OpenTransactionalWizardOnDoubleClick and WizardEditingOperation are created for EMF Workspace compliance
- getPropertiesEditionCommand() and getPropertiesEditionObject() are deleted from IPropertiesEditionComponent
- EMFListEditUtil (clones manager) is removed
AdapterFactory are now used in order to replace PropertiesEditionProvider and PropertiesEditionPolicyProvider :
- PropertiesEditingPolicy has been created
- PropertiesEditingPolicyImpl a standard implementation of this interface has been created
- IPropertiesEditionProvider, IPropertiesEditionProviderFactory and IPropertiesEditionPolicyProviderFactory are deleted
- RegistryPropertiesEditionProvider, StandardPropertiesEditionPolicyProvider, StandardPropertiesEditionPolicyProviderFactory and StandardPropertiesEditionProviderFactory are deleted
- PropertiesEditionComponentService and PropertiesEditionPolicyProviderService are deleted
A new layer of component have been introduce to reduce significantly the amount of generated code :
- PropertiesEditingSemanticListener have been created
The editing context management have been improved. Associated API changes are :
- IPropertiesEditionContext renamed PropertiesEditingContext
- DomainPropertiesEditionContext, EObjectPropertiesEditionContext and EReferencePropertiesEditionContext implements this interface
- TypedEReferencePropertiesEditionContext is created as sub-class of EReferencePropertiesEditionContext
A "Extended" runtime (org.eclipse.emf.eef.runtime.extended) has been created to bring all the "third parties dependant" widgets and all elements needed for others concerns than properties view dans wizard (basically for editors) :
- AbstractEEFMDFormPage, EEFDetailsPage, EEFStandardFormPage, EEFPropertiesViewerMDFormPage, EEFTreeMDFormPage have been moved to extended runtime
- EEFFormLayoutFactory, EEFView have been moved to extended runtime
- AbstractEEFMasterDetailsBlock, AbstractEEFMasterPart, PropertiesViewerMasterDetailsBlock, PropertiesViewerMasterPart, EEFTreeMasterDetailsBlock, EEFTreeMasterPart have been moved to extended runtime
- DropDownSelectionListener have been moved to the extended runtime
Some Obsolete classes have been deleted :