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

41 lines
No EOL
1.2 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";
UMLBug();
info = "UML check STOPPED at \t"time()"\n";
end proc
proc Init()
//Language
setLanguage("SQL");
// mkdir([OutputDir]);
// setOutput( [OutputDir] "/" "UMLBug.bat" );
// info = "Output generatig into: " [OutputDir] "/" "ClassesWithoutStereotype.bat\n";
end proc
proc UMLBug()
// out = "@echo off\n";
local classesInvestigated = "";
loop (Instances -> MClass as c)
if ( IsElementInTokenset([classesInvestigated], [c.name]) == _False() )
local count = 0;
local o = "";
loop (Instances -> MPackage-> MClass as alias Where( [alias.name] == [c.name]))
[count] = incr([count]);
[o] = [o] [MPackage.name] "::[" [alias.name] "]{" getStereotype([alias]) "}{" [alias.id] "}("[alias.stereotype]")\n";
end loop
if ( [count] != "1")
info = [o];
end if
[count] = 0;
[o] = "";
[classesInvestigated] = [classesInvestigated] [c.name] "\n";
end if
end loop
end proc