Index: TECH/ObjectUtils/impl/WaardenKopieerder.cls.xml =================================================================== diff -u -r848 -r1291 --- TECH/ObjectUtils/impl/WaardenKopieerder.cls.xml (.../WaardenKopieerder.cls.xml) (revision 848) +++ TECH/ObjectUtils/impl/WaardenKopieerder.cls.xml (.../WaardenKopieerder.cls.xml) (revision 1291) @@ -1,131 +1,16 @@ -vhLib.Class TECH.RegisteredObject,TECH.ObjectUtils.WaardenKopieerder - -%String -list -1 - - - -%ListOfDataTypes - - - Object1:%RegisteredObject,Object2:%RegisteredObject,flagOverwrite:%Boolean=0 TECH.ObjectUtils.KopieerWaardenResultaat "_Object2.%ClassName(1)) - do ##class(TECH.ExceptionHandler).Throw(Exception) - } - - #dim arrProperties As %String = "" - do arrProperties^vhLib.Class(Object1.%ClassName(1),.arrProperties,"A","A","A") - set itProperties = ##class(TECH.ArrayOneDimIterator).%New(.arrProperties) - while itProperties.HasNext() { - #dim PropertyInfo As %List = itProperties.Next() - #dim PropertyName As %String = itProperties.Key() - - #dim WaardePropertyObject1 As %String = ..GeefPropertyWaarde(Object1,PropertyName) - #dim WaardePropertyObject2 As %String = ..GeefPropertyWaarde(Object2,PropertyName) - - #dim PropertyIsCollection As %String = $listget(PropertyInfo,$$$fldCollection) - - #dim MagOverschrijven As %Boolean = 0 - - if ..WaardenVerschillen(WaardePropertyObject1 , WaardePropertyObject2 , PropertyIsCollection ) { - if ##class(TECH.ClassUtils).IsDataType($listget(PropertyInfo,$$$fldClassName)) { - if $length(PropertyIsCollection) { - set MagOverschrijven = ..MagOverschrijven(PropertyName , (WaardePropertyObject1.Count()=0) , (WaardePropertyObject2.Count()=0), flagOverwrite) - if MagOverschrijven { - if (WaardePropertyObject2.Count()>0) { - if PropertyIsCollection = "list" set WaardePropertyObject1 = ##class(TECH.ListUtils).CopyListOfDataTypes(WaardePropertyObject2) - if PropertyIsCollection = "array" set WaardePropertyObject1 = ##class(TECH.ListUtils).CopyArrayOfDataTypes(WaardePropertyObject2) - } - } - } else { - set MagOverschrijven = ..MagOverschrijven(PropertyName , (WaardePropertyObject1="") , (WaardePropertyObject2="" ) , flagOverwrite) - if MagOverschrijven { - set WaardePropertyObject1 = WaardePropertyObject2 - } - } - if MagOverschrijven { - do ..ZetPropertyWaarde(Object1,PropertyName,WaardePropertyObject1) - do ..ZetGewijzigdeProperty(PropertyName) - } - } - } - } - - Quit ..GeefKopieerWaardenResultaat() + set Kopieerder = ##class(TECH.ObjectUtils.impl.WaardenKopieerder.KopieerWaarden).%New() + quit Kopieerder.KopieerWaarden(Object1,Object2,flagOverwrite) ]]> - - -Value1:%CacheString,Value2:%CacheString,PropertyIsCollection:%Boolean - - - - -PropertyName:%String,OudeWaardeIsLeeg:%Boolean,NieuweWaardeIsLeeg:%Boolean,flagOverwrite:%Boolean -1 -%Boolean - - - - -1 -TECH.ObjectUtils.KopieerWaardenResultaat - - - - -Object:%Library.Base,Property:%String -1 -0 -%CacheString - - - - -Object:%Library.Base,Property:%String,Value:%CacheString -1 -0 - - - - -PropertyName:%String -1 - -