home *** CD-ROM | disk | FTP | other *** search
/ PC World 1998 October / PCWorld_1998-10_cd.bin / software / prehled / komix / DATA.Z / drsreporte.tcl < prev    next >
Text File  |  1997-08-29  |  4KB  |  114 lines

  1. #---------------------------------------------------------------------------
  2. #
  3. #      (c)     Cayenne Software Inc.    1997
  4. #
  5. #      File:           @(#)drsreporte.tcl    /main/titanic/2
  6. #      Author:         <generated>
  7. #      Description:
  8. #---------------------------------------------------------------------------
  9. # SccsId = @(#)drsreporte.tcl    /main/titanic/2   29 Aug 1997 Copyright 1997 Cayenne Software Inc.
  10.  
  11. # Start user added include file section
  12. require drsdriver.tcl
  13. # End user added include file section
  14.  
  15. require "reqreporte.tcl"
  16.  
  17. Class DrsReporter : {ReqReporter} {
  18.     constructor
  19.     method destructor
  20.     method applyToMultiple
  21. }
  22.  
  23. constructor DrsReporter {class this} {
  24.     set this [ReqReporter::constructor $class $this]
  25.     # Start constructor user section
  26.         $this init doors Drs
  27.     # End constructor user section
  28.     return $this
  29. }
  30.  
  31. method DrsReporter::destructor {this} {
  32.     # Start destructor user section
  33.     # End destructor user section
  34.     $this ReqReporter::destructor
  35. }
  36.  
  37. method DrsReporter::applyToMultiple {this objTeamObjs orgParentOTObj operation dxlCommandRef {arg1 ""} {arg2 ""}} {
  38.     set doorsProject [DrsDriver::getProjectName]
  39.         if ![llength  $doorsProject] {
  40.             return 
  41.         }
  42.     set DrsDriver::FORMALMODULE DOORS_${doorsProject}_[m4_var get M4_doors_formal_module]
  43.  
  44.     
  45.         upvar $dxlCommandRef dxlCommand
  46.         if {$arg2 == "All"} {
  47.         set doorsObj [DrsObject new ""]
  48.         $doorsObj dxlCommand $dxlCommand
  49.         $doorsObj $operation $arg1 $arg2
  50.         set dxlCommand [$doorsObj dxlCommand]
  51.         return
  52.         }
  53.  
  54.         foreach objTeamObj $objTeamObjs  {
  55.             set parentOTObj $orgParentOTObj
  56.             if [$objTeamObj  isA ConfigVersion] {
  57.             set phases [$objTeamObj phaseVersions]
  58.             continue
  59.         } elseif [$objTeamObj  isA Corporate] {
  60.                 set doorsObj [DrsCorpObject new $objTeamObj]
  61.             } elseif [$objTeamObj  isA Project] {
  62.                 set doorsObj [DrsProjObject new $objTeamObj $parentOTObj]
  63.             } else {
  64.             set level [$objTeamObj object]
  65.             set origConf [$objTeamObj [$objTeamObj ORB_class]::config]
  66.             set origConfName [$origConf name]
  67.             set versionNumber [$objTeamObj versionNumber]
  68.             set levelVersion $origConfName.$versionNumber
  69.  
  70.             set parOrigConf [$parentOTObj [$parentOTObj ORB_class]::config]
  71.             set parOrigConfName [$parOrigConf name]
  72.             set pVersionNumber [$parentOTObj versionNumber]
  73.             set pVers $parOrigConfName.$pVersionNumber
  74.  
  75.             if [$objTeamObj  isA PhaseVersion] {
  76.             set parentOTObj [$parentOTObj project]
  77.             set pLevel [$parentOTObj  customLevel]
  78.             set doorsObj [DrsPhaseObject new $level \
  79.                         $levelVersion $pLevel $pVers ]
  80.             } else {
  81.             set pLevel [$parentOTObj  customLevel]
  82.             }
  83.             if [$objTeamObj  isA SystemVersion] {
  84.             set doorsObj [DrsSystemObject new $level \
  85.                         $levelVersion $pLevel $pVers]
  86.             } elseif [$objTeamObj  isA FileVersion] {
  87.             if {[[$objTeamObj file] type] == "cdm" } {
  88.                 #skip cdm
  89.                 continue
  90.             }
  91.             set doorsObj [DrsFileObject new $level \
  92.                         $levelVersion $pLevel $pVers]
  93.             }
  94.         }
  95.         $doorsObj driver $this
  96.  
  97.  
  98.         $doorsObj dxlCommand $dxlCommand
  99.             if [llength $arg1]  {
  100.                 if ![llength $arg2] {
  101.                     set dxlResult [$doorsObj $operation $arg1]
  102.                 } else {
  103.                     set dxlResult [$doorsObj $operation $arg1 $arg2]
  104.                 }
  105.             } else {
  106.                 set dxlResult [$doorsObj $operation]
  107.             }
  108.         set dxlCommand [$doorsObj dxlCommand]
  109.     }
  110. }
  111.  
  112. # Do not delete this line -- regeneration end marker
  113.  
  114.