1 TECH.ClassInfo.QNameFinder svn.Helper 1 %Boolean 1 %String 1 %String 1 %String vhTest.Mock ZoekOpPrefix:%Boolean=0 1 1 %Status Set cls="DUAL" Do ##class(Tools.impl.MoveHelper).%New().Move("APPS.VisiDot."_cls,"APPS.VisiDot.dto."_cls) q Do ##class(Tools.impl.MoveHelper).%New().Move("APPS.VisiDot.DUAL","APPS.VisiDot.dto.DUAL") ClassFrom:%String,ClassTo:%String 0 { Do Berichten(Class.GeefNaam()).Insert("In de method "_Method.GeefNaam()_" "_AantalWijzigingen_" keer gebruikt") Do Commands.Insert(##class(Tools.impl.RenameImplementationCommand).%New(Lijnen, Method)) Do ClassesToSave.SetAt(Class,Class.GeefNaam()) } } } } Set RoutinesToSave = ##class(%ArrayOfObjects).%New() set rsRoutine = ##class(%ResultSet).%New("%Routine:RoutineList") do rsRoutine.Execute("*.mac") while rsRoutine.Next() { continue:($extract(rsRoutine.Get("Name"),1)="%") continue:(rsRoutine.Get("Name")'[".") set AantalWijzigingen = 0 set Routine = ##class(%RoutineMgr).%OpenId(rsRoutine.Get("Name")) set Lijnen = ..WijzigImplementatie(Class,Routine.Code,.AantalWijzigingen) if AantalWijzigingen > 0 { set Berichten(rsRoutine.Get("Name"))=##class(%ListOfDataTypes).%New() Do Berichten(rsRoutine.Get("Name")).Insert(AantalWijzigingen_" keer gebruikt") Do Commands.Insert(##class(Tools.impl.RenameRoutineCommand).%New(Lijnen, rsRoutine.Get("Name"))) Do RoutinesToSave.SetAt(rsRoutine.Get("Name"),rsRoutine.Get("Name")) } } w "Volgende items zullen hernoemd worden:",!! #dim SourceCode = $Order(Berichten("")) While (SourceCode '= "") { If (Berichten(SourceCode).Count() > 0) { if $piece(SourceCode,".",$length(SourceCode,"."))="mac" { write "In routine "_SourceCode_":",! } else { write "In klasse "_SourceCode_":",! } Set Iterator = ##class(TECH.ListIterator).%New(Berichten(SourceCode)) while (Iterator.HasNext()) { w $J(" ",4)_"- "_Iterator.Next(),! } } Set SourceCode = $Order(Berichten(SourceCode)) } If (##class(%Dictionary.ClassDefinition).%ExistsId(ClassTo)) { w !,"WAARSCHUWING: "_ClassTo_" bestaat reeds en zal worden overschreven!",! } Set Input = "" While (Input '= "Y") && (Input '= "N") { w !,"Wilt u deze acties uitvoeren? (Y/N)",! read Input } If (Input = "Y") { w !!,"Uitvoeren van de acties:",!! Set CommandIterator = ##class(TECH.ListIterator).%New(Commands) While (CommandIterator.HasNext()) { Set Command = CommandIterator.Next() w $J(" ",4)_"- " Set Status = Command.Execute() w ! If ($$$ISERR(Status)) w $J(" ",6)_"Fout: "_$$ParseStatus^vhLib(Status),! } Set ClassesIterator = ##class(TECH.ListIterator).%New(ClassesToSave) While (ClassesIterator.HasNext()) { Set Class = ClassesIterator.Next() If ('##class(TECH.ListUtils).Contains(TeVerplaatsenKlassen, ##class(%Dictionary.ClassDefinition).%OpenId(Class.GeefNaam()))) { w $J(" ",4)_"- Opslaan "_Class.GeefNaam(),! Set Status = Class.Save() If ($$$ISERR(Status)) w $J(" ",6)_"Fout: "_$$ParseStatus^vhLib(Status),! Else Do ..ExportToSVN(Class.GeefNaam()) } } set RoutinesIterator = ##class(TECH.ListIterator).%New(RoutinesToSave) while (RoutinesIterator.HasNext()){ set Routine = RoutinesIterator.Next() Do ..ExportToSVN(Routine) } Set TeVerplaatsenIterator = ##class(TECH.ListIterator).%New(TeVerplaatsenKlassen) While (TeVerplaatsenIterator.HasNext()) { Set ClassFromDefinition = TeVerplaatsenIterator.Next() Do ##class(%Dictionary.ClassDefinition).%DeleteId(..RenameNaar(ClassFromDefinition.Name)) w $J(" ",4)_"- Klasse "_ClassFromDefinition.Name_" verplaatsen...",! // De klasse mag pas op het einde van alle acties verplaatst worden, dit is nodig als er zich in de te verplaatsen // klasse een referentie is naar zichzelf, anders wordt deze niet hernoemd. Set Clone = ClassFromDefinition.%ConstructClone(1) Set Clone.Name = ..RenameNaar(ClassFromDefinition.Name) Set Status = Clone.%Save() If ($$$ISERR(Status)) w $J(" ",6)_"Fout: "_$$ParseStatus^vhLib(Status),! Else Do ..SVNMove(ClassFromDefinition.Name,Clone.Name) } Do ..svnHelper.CompileImportedSourceCode() } do ..CleanUpMocks() ]]> Class:TECH.ClassInfo.ClassDefinition,String:%String,Prefix:%String,Suffix:%String 1 %String %ListOfDataTypes 1) Set NieuweLijn = NieuweLijn_" = "_##class(TECH.StringUtils).Trim($Piece(LijnZonderPrefix,"=",2,$Length(LijnZonderPrefix,"="))) Set Lijn = NieuweLijn Set AantalWijzigingen = AantalWijzigingen + 1 } } ElseIf (Lijn [ "##class(") { #dim Vervangen As %String = ..ReplaceBetween(Class,Lijn,"##class(",")") If (Vervangen '= Lijn) { Set AantalWijzigingen = AantalWijzigingen + 1 Set Lijn = Vervangen } } Do Lijnen.Insert(Lijn) } Do Implementatie.Rewind() quit Lijnen ]]> ClassName:%String 1 ClassName:%String 1 %String SourceCode:%String 1 SourceCodeFrom:%String,SourceCodeTo:%String 1