ObeoNetwork / UML-Designer

OpenSource (EPL licensed) UML2 Graphical Modelers (Class, Composite, State, Activity, Sequence ...)
http://umldesigner.org
320 stars 123 forks source link

Fix the last remaining validation errors #920

Open mbats opened 7 years ago

mbats commented 7 years ago

See #915

UMLDesigner_odesign_validation.pdf

aql:self.oclIsKindOf(uml::Stereotype) and self.oclAsType(uml::Stereotype).getAppliedStereotypes() should be aql:self.oclIsKindOf(uml::Stereotype) and self.oclAsType(uml::Stereotype).getAppliedStereotypes()->size() > 0 (I guess)

aql:container.eInverse()->select(elt ecore::EObject | elt.oclIsTypeOf(uml::Message)).interaction seems to fail on the ecore::EObject type declaration which should be removed anyway as it's just syntactic noise. (it's in the diagram navigation "Open sequence diagram from operation")

in SM_CompositeStateVertical and SM_CompositeStateHorizontal the semantic candidate expression should check for the type as the feature subvertex seems not to exist in the type "State".

in the node creation 'Property' of the Profile Diagram a call to aql:self.findTypeByName('String') doesn't resolve, and indeed the corresponding service does not exist as only findTypeByName(Collection roots, String typeName) seems accessible, either the expression or the service should be fixed

and aql:element.openSelectExistingElementsDialog(elementView, diagram) in the "AddExistingElements" tool of "existingElements" fails to validate, it looks like the service could be changed to EObject selectedContainerView instead of DSemanticDecorator to make the validation happy.

With all those changes and the upcoming improvements in Sirius 5.0 the validation should be ok