Adding or removing tagged values in your model - using the model debugger
No edit summary
No edit summary
Line 1: Line 1:
For background, see [[Using the model debugger to change the model itself|Using the model debugger to change the model itself.]]
For background, see: [[Using the model debugger to change the model itself|Using the model debugger to change the model itself.]]


==== To find all ViewModels with a specific tag: ====
==== To find all ViewModels with a specific tag: ====
<code>Span.allInstances->select(s | s.TaggedValue->select(tv | tv.Tag.toUpper='MVC')->notEmpty)</code>
Span.allInstances->select(s | s.TaggedValue->select(tv | tv.Tag.toUpper='MVC')->notEmpty)


==== To add the tag MVC to all ViewModels that don't already have it: ====
==== To add the tag MVC to all ViewModels that don't already have it: ====
Line 23: Line 23:
   )
   )
  )
  )
  [[Category:MDriven Designer]]
[[Category:MDriven Designer]]

Revision as of 06:38, 23 June 2023

For background, see: Using the model debugger to change the model itself.

To find all ViewModels with a specific tag:

Span.allInstances->select(s | s.TaggedValue->select(tv | tv.Tag.toUpper='MVC')->notEmpty)

To add the tag MVC to all ViewModels that don't already have it:

Span.allInstances->select(s | s.TaggedValue->select(tv | tv.Tag.toUpper='MVC')->isEmpty)->forEach(s |
let newtag = TaggedValue.Create in
  (
    newtag.Tag := 'MVC';
    newtag.Value := 'True';
    newtag.ModelElement := s
  )
)

To add the tag Eco.BusinessDeleteRule to all association ends that don't already have it, set it to NeedNotBeEmptyNoWarning:

AssociationEnd.allInstances->select(s | s.TaggedValue->select(tv | tv.Tag='Eco.BusinessDeleteRule')->isEmpty)->forEach(s | 
let newtag = TaggedValue.Create in 
  (
    newtag.Tag := 'Eco.BusinessDeleteRule';
    newtag.Value := 'NeedNotBeEmptyNoWarning';
    newtag.ModelElement := s
  )
)
This page was edited 97 days ago on 02/10/2024. What links here