11Class CDV .CDV
22{
33
4- ClassMethod ScanFromAllClasses () As %Status
4+ ClassMethod ScanFromAllClasses (ByRef Oid As %String ) As %Status
55{
66 #Dim sc As %Status = $$$OK
77 set sc = $System .OBJ .GetClassList (.Classes , " /application=0 /system=0 /percent=0 /mapped=0" )
88 Quit :$$$ISERR(sc )
9- Set sc = ..ScanFromClassLocal (.Classes )
9+ Set sc = ..ScanFromClassLocal (.Classes , . Oid )
1010 Quit sc
1111}
1212
13- ClassMethod ScanFromSubclassesOf (Class As %String ) As %Status
13+ ClassMethod ScanFromSubclassesOf (Class As %String , ByRef Oid As %String ) As %Status
1414{
1515 #Dim sc As %Status = $$$OK
1616 Set RS = ##class (%ResultSet ).%New (" %Dictionary.ClassDefinition:SubclassOf" )
@@ -24,11 +24,11 @@ ClassMethod ScanFromSubclassesOf(Class As %String) As %Status
2424 Set Classes (RS .Data (" Name" )) = " "
2525 }
2626
27- Set sc = ..ScanFromClassLocal (.Classes )
27+ Set sc = ..ScanFromClassLocal (.Classes , . Oid )
2828 Quit sc
2929}
3030
31- ClassMethod ScanFromMatchingClasses (Mask As %String ) As %Status
31+ ClassMethod ScanFromMatchingClasses (Mask As %String , ByRef Oid As %String ) As %Status
3232{
3333 #Dim sc As %Status = $$$OK
3434
@@ -44,11 +44,11 @@ ClassMethod ScanFromMatchingClasses(Mask As %String) As %Status
4444 Set Classes (RS .%GetData (1 )) = " "
4545 }
4646
47- Set sc = ..ScanFromClassLocal (.Classes )
47+ Set sc = ..ScanFromClassLocal (.Classes , . Oid )
4848 Quit sc
4949}
5050
51- ClassMethod ScanFromClassLocal (ByRef Classes As %String ) As %Status
51+ ClassMethod ScanFromClassLocal (ByRef Classes As %String , ByRef Oid As %String ) As %Status
5252{
5353 #Dim sc ,sc1 As %Status = $$$OK
5454 Set Class = " "
@@ -57,15 +57,15 @@ ClassMethod ScanFromClassLocal(ByRef Classes As %String) As %Status
5757 Quit :Class =" "
5858 If ($classmethod (Class , " %Extends" , " %RegisteredObject" ))
5959 {
60- Set sc1 = ..ValidateClassObjects (Class )
60+ Set sc1 = ..ValidateClassObjects (Class , . Oid )
6161 }
6262 Set sc = $$$ADDSC(sc , sc1 )
6363 }
6464
6565 Quit sc
6666}
6767
68- ClassMethod ValidateClassObjects (Class As %String ) As %Status
68+ ClassMethod ValidateClassObjects (Class As %String , ByRef Oid As %String ) As %Status
6969{
7070 #Dim sc As %Status = $$$OK
7171
@@ -81,11 +81,13 @@ ClassMethod ValidateClassObjects(Class As %String) As %Status
8181 While (rset .%Next ())
8282 {
8383 set obj = $classmethod (Class , " %OpenId" , rset .%Get (" ID" ))
84- set Oid (Class ,rset .%Get (" ID" )) = obj .%ValidateObject ()
84+ if (obj .%ValidateObject () '= 1 )
85+ {
86+ set Oid (Class ,rset .%Get (" ID" )) = obj .%ValidateObject ()
87+ }
8588 Kill obj
8689 }
87-
88- zw Oid
90+
8991 Quit sc
9092}
9193
0 commit comments