'<> 'Annamalai "Vishu" Viswanathan '03/17/2000 'This script is used to conceal information that may be contained in propreitary models 'If a user is having a problem with a particular model but is unable to send it to tech support because 'the model contains propreitary information then he/she can run this script 'on his/her model. 'This script replaces the names of all the use cases, classes, components and packages in a model 'with their unique ids. Also, any documentation contained in any of these elements is replaced by a 'text string that contains the element name (now the unique id). '***VERY IMPORTANT NOTE*** 'DO NOT RUN SCRIPT ON YOUR ORIGINAL MODEL. ANY CHANGES THAT THIS SCRIPT 'MAKES TO THE MODEL ARE IRREVERSIBLE. ALWAYS BACK UP YOUR MODEL AND RUN 'THIS SCRIPT ON THE COPY OF YOUR MODEL. SEND THE COPY IN TO TECH SUPPORT. 'TECH SUPPORT CAN THEN ADVISE YOU OF THE STEPS THAT THEY TOOK TO FIX YOUR 'PROBLEM AND YOU CAN THEN IMPLEMENT THOSE STEPS IN YOUR ORIGINAL MODEL TO 'FIX YOUR PROBLEM. '************************** Sub Main Dim theClasses As ClassCollection Dim theClass As Class Dim theAtts As AttributeCollection Dim theAtt As Attribute Dim theOps As OperationCollection Dim theOp As Operation Dim theUCCats As CategoryCollection Dim theUCCat As Category Dim theLogCat As Category Dim theLogCats As CategoryCollection Dim theCompCat As Subsystem Dim theCompCats As SubsystemCollection Dim theModules As ModuleCollection Dim theModule As Module Dim theUCs As UseCaseCollection Dim theUC As UseCase Set theUCCats = RoseApp.CurrentModel.RootUseCaseCategory.GetAllCategories Set theLogCats = RoseApp.CurrentModel.RootCategory.GetAllCategories Set theCompCats = RoseApp.CurrentModel.RootSubsystem.GetAllSubsystems For a = 1 To theUCCats.Count Set theUCCat = theUCCats.GetAt(a) theUCCat.Name = theUCCat.GetUniqueID If theUCCat.Documentation <> "" Then theUCCat.Documentation = "Use Case View Category " & theUCCat.Name End If Next a For a = 1 To theLogCats.Count Set theLogCat = theLogCats.GetAt(a) theLogCat.Name = theLogCat.GetUniqueID If theLogCat.Documentation <> "" Then theLogCat.Documentation = "Logical View Category " & theLogCat.Name End If Next a For a = 1 To theCompCats.Count Set theCompCat = theCompCats.GetAt(a) theCompCat.Name = theCompCat.GetUniqueID If theCompCat.Documentation <> "" Then theCompCat.Documentation = "Component View Category " & theCompCat.Name End If Next a Set theUCs = RoseApp.CurrentModel.GetAllUseCases For x = 1 To theUCs.Count Set theUC = theUCs.GetAt(x) theUC.Name = theUC.GetUniqueID If theUC.Documentation <> "" Then theUC.Documentation = "Use Case " & theUC.Name End If Next x Set theModules = RoseApp.CurrentModel.GetAllModules For x = 1 To theModules.Count Set theModule = theModules.GetAt(x) theModule.Name = theModule.GetUniqueID If theModule.Documentation <> "" Then theModule.Documentation = "Module " & theModule.Name End If Next x Set theClasses = RoseApp.CurrentModel.GetAllClasses For i = 1 To theClasses.Count Set theClass = theClasses.GetAt(i) theClass.Name = theClass.GetUniqueID If theClass.Documentation <> "" Then theClass.Documentation = "Class " & theClass.Name End If Set theAtts = theClass.Attributes For j = 1 To theAtts.Count Set theAtt = theAtts.GetAt(j) theAtt.Name = theAtt.GetUniqueID If theAtt.Documentation <> "" Then theAtt.Documentation = "Attribute " & theAtt.Name End If Next j Set theOps = theClass.Operations For k = 1 To theOps.Count Set theOp = theOps.GetAt(k) theOp.Name = theOp.GetUniqueID If theOp.Documentation <> "" Then theOp.Documentation = "Operation " & theOp.Name End If Next k Next i MsgBox "Done" End Sub '<> '--------------------