kreta/Tools/CodeGeneration/Templates/UML/UMLCheck/AssocWithoutDescription.tdl
2024-03-13 00:33:46 +01:00

33 lines
No EOL
1.3 KiB
Text

USES Common/std;
USES Common/Converters;
USES Common/CommonUtil;
USES Common/ModelDataRetreive;
USES Common/StringUtil;
proc main()
Init();
info = "UML check STARTED at \t"time()"\n";
AssocWithoutDescriptoins();
info = "UML check STOPPED at \t"time()"\n";
end proc
proc Init()
//Language
setLanguage("SQL");
mkdir([OutputDir]);
setOutput( [OutputDir] "/" "AssocWithoutDescriptoins.bat" );
info = "Output generatig into: " [OutputDir] "/" "AssocWithoutDescriptoins.bat\n";
end proc
proc AssocWithoutDescriptoins()
out = "@echo off\n";
loop (Instances -> MClass as StartClass Where( getStereotype([StartClass]) == "Entity" ) )
loop (StartClass -> Role as StartRole -> MAssociation as Assoc where ([Assoc.description] == "") )
loop (Assoc -> MAssociationEnd as EndRole -> MClass as PartnerClass Where ([StartRole.id] < [EndRole.id]) and (getStereotype([PartnerClass])== "Entity") )
info = "Assoc between [" [StartClass.name] "]{"[StartRole.name] "} [" [PartnerClass.name] "]{"[EndRole.name]"}\n";
out = "echo between [" [StartClass.name] "]{"[StartRole.name] "} [" [PartnerClass.name] "]{"[EndRole.name]"}\n";
GenerateEditorNavigation([Assoc.guid]);
end loop
end loop
end loop
end proc