eclipse-ocl / org.eclipse.ocl

Eclipse Public License 2.0
0 stars 0 forks source link

[library] Invalid/OclInvalid confusion in stdlib #484

Closed eclipse-ocl-bot closed 3 hours ago

eclipse-ocl-bot commented 3 hours ago

| --- | --- | | Bugzilla Link | 297666 | | Status | CLOSED FIXED | | Importance | P3 normal | | Reported | Dec 12, 2009 11:45 EDT | | Modified | May 27, 2011 02:55 EDT | | Version | 3.0.0 | | Reporter | Ed Willink |

Description

The helper class for stdlib.ecore should be changed from Invalid_Class to OclInvalid_Class.

The instance of InvalidType in oclstdlib.uml should be changed from Invalid to OclInvalid.

eclipse-ocl-bot commented 3 hours ago

By Adolfo Sanchez-Barbudo Herrera on Feb 08, 2010 10:02

Created attachment 158463 Fixing patch

Patch which solves the bug.

Note that an extra ((InstanceSpecification) INVALID).getClassifiers().add(OCL_INVALID); has been removed from UML StdLibImpl since it's done previously.

Regards, Adolfo.

:notepad_spiral: ocl297666_OclInvalidInStdlib.txt

eclipse-ocl-bot commented 3 hours ago

By Alexander Igdalov on Feb 08, 2010 10:16

+1 to patch.

eclipse-ocl-bot commented 3 hours ago

By Ed Willink on Feb 08, 2010 16:30

Wierd things happen when I apply the patch.

oclstdlib.ecore [which has a missing name="OclVoid"] loses its name="OclInvalid" making it impossible to open oclstdlib.ecore with the Sample Ecore Editor.

I think that the problem may be related to overloaded getName() in OclVoidImpl and OclInvalidImpl.

Perhaps the problem is that the #/0/Invalid reference in the edited (resource) model is being resolved against the plugin copy.

Check that oclstdlib.ecore has named classes and validates before committing,\ which will be difficult since there are 30 validation errors before you start.

eclipse-ocl-bot commented 3 hours ago

By Adolfo Sanchez-Barbudo Herrera on Feb 09, 2010 05:29

Ed,

I don't know what you refer with [which has a missing name="OclVoid"]

The Sample Ecore editor fails because you are using the first instance OCL model plugins. If you run a second eclipse's instance you may check that the stdlib model is fine (regarding OclInvalid)

The point is that the name of the OclInvalid comes from InvalidType.SINGLETON_NAME, which is "OclInvalid" after the patch, but it's still "Invalid" in the first instance OCL plugins. That's the reason tou can't open the oclstdlib.ecore in your first Eclipse's instance.

Cheers,\ Adolfo.

eclipse-ocl-bot commented 3 hours ago

By Adolfo Sanchez-Barbudo Herrera on Feb 09, 2010 05:34

Committed to HEAD.

Resolving as fixed.

eclipse-ocl-bot commented 3 hours ago

By Ed Willink on May 27, 2011 02:55

Closing