Skip to content

Commit f247913

Browse files
author
Rubens F. N. da Silva
committed
fixes package sanitization
This fixes an issue that caused not only the packages but also routines to be affected by the sanitization.
1 parent a5a244d commit f247913

File tree

1 file changed

+15
-11
lines changed

1 file changed

+15
-11
lines changed

cls/Port/Project/XMLExporter.cls

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -21,17 +21,21 @@ Method ExportToXML(justProject As %Boolean = 0, qspec As %String = "/diffexport=
2121
SanitizePackages(items="")
2222
set sc = $$$OK
2323
set testPrefix = ##class(Port.Configuration).GetTestClassPrefix()
24-
if testPrefix '= "" {
25-
for i=1:1:..Project.Items.Count() {
26-
set item = ..Project.Items.GetAt(i)
27-
if $isobject(item) && (item.Type '= "PRJ") && '($extract(item.Name, 1, $length(testPrefix)) = testPrefix && (item.Type = "CLS")) {
28-
set name = item.Name
29-
set type = item.Type
30-
do ##class(%Studio.Project).NormalizeName(.name, .type)
31-
if type = "CLS" || (type = "PKG") set name = name_"."_type
32-
set items(name) = ""
33-
}
34-
}
24+
25+
set s = ##class(%SQL.Statement).%New()
26+
do s.%PrepareClassQuery("%Studio.Project", "ProjectItemsList")
27+
28+
set r = s.%Execute(..Project.Name)
29+
while r.%Next() {
30+
set itemName = r.%Get("Name")
31+
set itemType = r.%Get("Type")
32+
if itemType '= "CLS" || (itemType = "CLS" && '($extract(itemName, 1, $length(testPrefix)) = testPrefix)) {
33+
set name = itemName
34+
set type = itemType
35+
do ##class(%Studio.Project).NormalizeName(.name, .type)
36+
if type = "CLS" || (type = "PKG") set name = name_"."_type
37+
set items(name) = ""
38+
}
3539
}
3640
quit
3741
}

0 commit comments

Comments
 (0)