Community
Participate
Working Groups
From fabianbrosig@gmx.de's newsgroup message -----WORKING EXAMPLE---------------------------------------------------------------------- -- This is the working example, it works perfect. ------------------------------------------------------------------------------------------ import ecore : 'http://www.eclipse.org/emf/2002/Ecore#/'; package tutorial : tut = 'http://www.eclipse.org/mdt/ocl/oclinecore/tutorial' { class Library { property books#_'library' : Book[*] { composes }; } class Book { property _'library'#books : Library; } } -----NOT WORKING-------------------------------------------------------------------------- -- This does not work. The references between p1 and p2 seem not to be resolved. -- For the role opposites <xyz>, the OCLinEcore Editor shows the following error: -- "Couldn't resolve reference to ReferenceCS <xyz>". ------------------------------------------------------------------------------------------ import ecore : 'http://www.eclipse.org/emf/2002/Ecore#/'; package tutorial : tut = 'http://www.eclipse.org/mdt/ocl/oclinecore/tutorial' { package pack1 : p1 = 'http://www.eclipse.org/mdt/ocl/oclinecore/tutorial/p1' { class Library { property books#_'library' : tutorial::pack2::Book[*] { composes }; } } package pack2 : p2 = 'http://www.eclipse.org/mdt/ocl/oclinecore/tutorial/p2' { class Book { property _'library'#books : tutorial::pack1::Library; } } } -----NOT WORKING-------------------------------------------------------------------------- -- This does not work. The references between p1 and the parent package seem not to be resolved. -- For the role opposites <xyz>, the OCLinEcore Editor shows the following error: -- "Couldn't resolve reference to ReferenceCS <xyz>". ------------------------------------------------------------------------------------------ import ecore : 'http://www.eclipse.org/emf/2002/Ecore#/'; package tutorial : tut = 'http://www.eclipse.org/mdt/ocl/oclinecore/tutorial' { package pack1 : p1 = 'http://www.eclipse.org/mdt/ocl/oclinecore/tutorial/p1' { class Library { property books#_'library' : Book[*] { composes }; } } class Book { property _'library'#books : tutorial::pack1::Library; } }
Created attachment 175963 [details] Eliminate qualification blindness Problem was that the reference type was only examined if unqualified, patch uses the polymorphism to accommodate qualified and unqualified types. Add the following to LoadTests to activate the test public void testLoad_Bug321171_oclinecore() throws IOException, InterruptedException { doLoad("Bug321171", "oclinecore"); }
A candidate for 3.0.1.
Getting carried away; not RESOLVED, till committed to CVS.
Committed to HEAD for 3.1.0M2 and to R3_0_maintenance for 3.0.1RC2.
Closing