Community
Participate
Working Groups
Created attachment 15854 [details] testcase. An uml2 resource containing all JDK classes Testcase: It is an UML2 Resource (jdk.uml2) that contains all the classes from JDK (rt.jar). It is an example of a big resource that makes unusable the destroy operation, because it is too slow (it spend minutes to destroy a newly created package)
[plan pri=2 est=1w/]
Created attachment 28596 [details] Prototype implementation for dynamic maintaining inverses of uni-directional references Feedback one the prototype will be welcome
Hi Ed, The implementation in the prototype is not accounting for derived references as shown below: protected boolean crossReference(EObject eObject, EReference eReference, EObject crossReferencedEObject) { return eReference.getEOpposite() == null && !eReference.isDerived(); } Ideally the following are required in order to find the entire set of references to an EObject: Containment References:Can be computed at runtime using the EObject's eContainmentFeature Non-Containment uni-directional References: Need to be stored in the map Derived References: Need to be stored in the map since it cant be computed from the referenced EObject References that are bi-directional(eopposite): Can be computed from the reference features of the EObject So I think derived references should also be included in the map. Please correct me if any of the above assumptions are incorrect. Your thoughts? Vishy
The prototype with the isDerived guard removed has been committed to CVS.
Fixed in 2.2.0M3 (S200511100200)
Move to verified as per bug 206558.