Assign actions a menu group based on class
No edit summary
(Adding message template to the top of the page)
Line 1: Line 1:
{{message|Write the content here to display this box}}
The scenario is that many classes based on a superclass have Class actions that should all have the same Menu Group.
The scenario is that many classes based on a superclass have Class actions that should all have the same Menu Group.



Revision as of 22:10, 16 June 2024

This page was created by Lars.olofsson@mdriven.net on 2024-05-01. Last edited by Edgar on 2025-01-20.

Write the content here to display this box

The scenario is that many classes based on a superclass have Class actions that should all have the same Menu Group.

This OCL will list all classes with a named superclass and list the class actions and their Menu Group:

Class.allInstances->select(c|c.AllSuperClassesAndSelf->includes(Class.allInstances->select(c|c.Name='PeWork')->first)).ClassActions->collect(ca|ca.Name, ca.MenuGroup.Name)

Replace 'PeWork' in the example above to the class or superclass you want to find.

The EAL code will update the Menu Group to a named one.

Class.allInstances->select(c|c.AllSuperClassesAndSelf->includes(Class.allInstances->select(c|c.Name='PeWork')->first)).ClassActions->forEach(ca|ca.MenuGroup := MenuGroup.allInstances->select(mg|mg.Name='PE')->first)

Replace 'PeWork' in the example above to the class or superclass you want to find and change 'PE' to the existing Menu Group you want to set.