Added tagged values to attributes based on the class' tagged values
m ((username removed) (log details removed): Moving to Documentation namespace)
m ((username removed) (log details removed))
 
(One intermediate revision by one other user not shown)
(No difference)

Latest revision as of 05:22, 9 January 2024

This EAL code will add the tagged value "PrimaryKey" to the attribute on the class that matches the class' primary key (which itself is stored as a tagged value).

TaggedValue.allInstances->
 select(tv|tv.Tag='Eco.PrimaryKey')->
   collect(tv | tv.ModelElement->safeCast(Class).Feature->filterOnType(Attribute)->select(a|a.TaggedValue->select(atv|(atv.Tag='Eco.ColumnName') and (atv.Value=tv.Value) )->notEmpty)->
     collect(pka | 
       if pka.TaggedValue->select(atv| atv.Tag='Eco.ColumnName')->isEmpty then
         let pktv = TaggedValue.Create in
         (
           pktv.Tag := 'PrimaryKey';
           pktv.Value := 'true';
           pka.TaggedValue.add(pktv)
         );
         true
       else
         false
       endif
     )
)
This page was edited 132 days ago on 01/09/2024. What links here