Index: Tools/MoveClass.cls.xml =================================================================== diff -u -r907 -r931 --- Tools/MoveClass.cls.xml (.../MoveClass.cls.xml) (revision 907) +++ Tools/MoveClass.cls.xml (.../MoveClass.cls.xml) (revision 931) @@ -1,20 +1,23 @@ - + 1 TECH.ClassInfo.QNameFinder -62158,60268.508483 +62161,27785.215735 0 -Do ##class(Tools.MoveClass).%New().Move("zTryout.CSC.TestKlas2","zTryout.CSC.TestKlas3") +Do ##class(Tools.MoveClass).%New().Move("zTryout.CSC.TestKlas3","zTryout.CSC.TestKlas2") ClassFrom:%String,ClassTo:%String 0) { Do Berichten(Class.GeefNaam()).Insert("In de method "_Method.GeefNaam()_" "_i_" keer gebruikt") Do Commands.Insert(##class(Tools.impl.RenameImplementationCommand).%New(Lijnen, Method)) + Do ClassesToSave.SetAt(Class,Class.GeefNaam()) } } } @@ -140,17 +152,58 @@ { w !!,"Uitvoeren van de acties:",!! - Set CommandIterator = ##class(TECH.ListIterator).%New(Commands) - While (CommandIterator.HasNext()) + If (##class(%Dictionary.ClassDefinition).%ExistsId(ClassFrom)) { - Set Command = CommandIterator.Next() - w $J(" ",4)_"- " - Set Status = Command.Execute() - w ! + Do ##class(%Dictionary.ClassDefinition).%DeleteId(ClassTo) - Set Result = $$ParseStatus^vhLib(Status) - If (Result '= "") w $J(" ",6)_"Fout: "_$$ParseStatus^vhLib(Status),! + Set CommandIterator = ##class(TECH.ListIterator).%New(Commands) + While (CommandIterator.HasNext()) + { + Set Command = CommandIterator.Next() + w $J(" ",4)_"- " + Set Status = Command.Execute() + w ! + + If ('Status) w $J(" ",6)_"Fout: "_$$ParseStatus^vhLib(Status),! + } + + Set ClassesIterator = ##class(TECH.ListIterator).%New(ClassesToSave) + While (ClassesIterator.HasNext()) + { + Set Class = ClassesIterator.Next() + w $J(" ",4)_"- Opslaan "_Class.GeefNaam(),! + Set Status = Class.Save() + If ('Status) w $J(" ",6)_"Fout: "_$$ParseStatus^vhLib(Status),! + } + + Set ClassFromDefinition = ##class(%Dictionary.ClassDefinition).%OpenId(ClassFrom) + + w $J(" ",4)_"- Klasse 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 = ClassTo + Set Status = Clone.%Save() + If ('Status) w $J(" ",6)_"Fout: "_$$ParseStatus^vhLib(Status),! + + Set Input = "" + While (Input '= "Y") && (Input '= "N") + { + w !,"Wilt u de klasse "_ClassFrom_" definitief verwijderen? (Y/N)",! + read Input + } + + If (Input = "Y") + { + Set Status = ##class(%Dictionary.ClassDefinition).%DeleteId(ClassFrom) + If ('Status) w $J(" ",6)_"Fout: "_$$ParseStatus^vhLib(Status),! + } } + Else + { + If (Result '= "") w $J(" ",6)_"Fout: "_ClassFrom_" bestaat niet!",! + } } ]]> @@ -178,5 +231,5 @@ ]]> - +