diff options
author | Arnaud Cuccuru | 2015-05-27 10:25:33 +0000 |
---|---|---|
committer | Arnaud Cuccuru | 2015-05-27 10:26:23 +0000 |
commit | d0024a664a8758da3b9fa7902767a200c9201e4b (patch) | |
tree | 1ef1ddd6f97fa3ced93f5fe16b6cb70153ddd7f4 /plugins/uml/alf/org.eclipse.papyrus.uml.alf.to.fuml/transformation/Alf2UML.qvto | |
parent | de50dad6422b3bec79c629c94eb69e34dd432f0b (diff) | |
parent | b9ae078da54b58d1813b3518c633d5f514523f17 (diff) | |
download | org.eclipse.papyrus-d0024a664a8758da3b9fa7902767a200c9201e4b.tar.gz org.eclipse.papyrus-d0024a664a8758da3b9fa7902767a200c9201e4b.tar.xz org.eclipse.papyrus-d0024a664a8758da3b9fa7902767a200c9201e4b.zip |
Merge branch 'bugs/462954-alf'
Change-Id: I817f46d46ed9ddd706367b18c6ca9b719c26c851
Signed-off-by: Arnaud Cuccuru <arnaud.cuccuru@cea.fr>
Diffstat (limited to 'plugins/uml/alf/org.eclipse.papyrus.uml.alf.to.fuml/transformation/Alf2UML.qvto')
-rw-r--r-- | plugins/uml/alf/org.eclipse.papyrus.uml.alf.to.fuml/transformation/Alf2UML.qvto | 16 |
1 files changed, 11 insertions, 5 deletions
diff --git a/plugins/uml/alf/org.eclipse.papyrus.uml.alf.to.fuml/transformation/Alf2UML.qvto b/plugins/uml/alf/org.eclipse.papyrus.uml.alf.to.fuml/transformation/Alf2UML.qvto index 007cb7de705..fe44b8e75e9 100644 --- a/plugins/uml/alf/org.eclipse.papyrus.uml.alf.to.fuml/transformation/Alf2UML.qvto +++ b/plugins/uml/alf/org.eclipse.papyrus.uml.alf.to.fuml/transformation/Alf2UML.qvto @@ -880,11 +880,17 @@ mapping ActiveClassDefinition::toClass() : Class ownedReception := self.ownedMember->map toNamedElement()[Reception]; ownedReception += self.ownedMember[definition.oclIsKindOf(SignalReceptionDefinition)]->map toReception(); if self.classifierBehavior <> null then { - classifierBehavior := self.classifierBehavior.map toActivity(); - classifierBehavior.name := uniqueName(result.name + "$behavior", result); - classifierBehavior.visibility := VisibilityKind::private; - ownedBehavior += classifierBehavior; // Eclipse implementation only - // addDefinition(classifierBehavior.oclAsType(Activity), self.classifierBehavior.body); + // NOTE: The Xtext grammar currently does not set isStub = true for a stub classifierBehavior. + if self.classifierBehavior.isStub or self.classifierBehavior.body = null then { + classifierBehavior := new Activity(Sequence{}); + classifierBehavior.name := self.classifierBehavior.actualName() + "$stub"; + } else { + classifierBehavior := self.classifierBehavior.map toActivity(); + classifierBehavior.name := uniqueName(result.name + "$behavior", result); + classifierBehavior.visibility := VisibilityKind::private; + ownedBehavior += classifierBehavior; // Because classifierBehavior is not a member in the Ecore metamodel. + // addDefinition(classifierBehavior.oclAsType(Activity), self.classifierBehavior.body); + } endif; } endif; } endif; } |