Community
Participate
Working Groups
The ultra slim diet for EStore-delegating objects would be a very helpful argument to make users consider to generate their model for the more flexible EStore infrastructure and thereby make it easier to switch between persistence mechanisms now or later.
Created attachment 226760 [details] My initial attemp to provide a new store-based implementation This new implementation is abstract and introduces no additional fields, so only the two fields from MinimalEObjectImpl are present. It should be an ideal replacement for CDO's use of EStoreEObjectImpl. Note that the cached storage for eContainer and eContainerFeatureID (used for CDO objects that are transient) are available via the protected eBasicInternalContainer and eBasicContainerFeatureID methods.
Created attachment 226783 [details] Additional changes based on testing with CDO This new patch includes the changes Eike and I tested along with improvements we noted along the way, i.e., removing the last element in the array can set an empty array, when setting an empty array, we don't need to check the container's adapter, and we can check the container's adapters more efficiently. A new callback is included for handling adding and removing adapters without adding a listener.
Reminder: You may want to add "@since 2.5" to MinimalEObjectImpl ;-)
The improvements are committed to master http://git.eclipse.org/c/emf/org.eclipse.emf.git/commit/?id=3ac87e6b677ccb38675e287d21f71febaa030094
Thank you, that's awesome!
The changes are available in Kepler.