home *** CD-ROM | disk | FTP | other *** search
- #---------------------------------------------------------------------------
- #
- # (c) Cayenne Software Inc. 1997
- #
- # File: @(#)drsdriver.tcl /main/titanic/4
- # Author: <generated>
- # Description:
- #---------------------------------------------------------------------------
- # SccsId = @(#)drsdriver.tcl /main/titanic/4 23 Sep 1997 Copyright 1997 Cayenne Software Inc.
-
- # Start user added include file section
- require drslevelob.tcl
- require drsqobject.tcl
- require drscorpobj.tcl
- require drssmitemo.tcl
- require drsphaseob.tcl
- require drssmmodel.tcl
- require drsdxlcomm.tcl
- require drsfileobj.tcl
- require drssystemo.tcl
- require drsgrouped.tcl
- require drsprojobj.tcl
- require drstreeobj.tcl
- require drsqfileob.tcl
- require drsitemobj.tcl
- require drsqitemob.tcl
- # End user added include file section
-
- require "reqdriver.tcl"
-
- Class DrsDriver : {ReqDriver} {
- constructor
- method destructor
- method applyToMultiple
- }
-
- global DrsDriver::FORMALMODULE
- set DrsDriver::FORMALMODULE ""
-
-
- constructor DrsDriver {class this} {
- set this [ReqDriver::constructor $class $this]
- # Start constructor user section
- $this init doors Drs
- # End constructor user section
- return $this
- }
-
- method DrsDriver::destructor {this} {
- # Start destructor user section
- # End destructor user section
- $this ReqDriver::destructor
- }
-
- method DrsDriver::applyToMultiple {this objTeamObjs orgParentOTObj operation dxlCommandRef {arg1 ""} {arg2 ""}} {
- set doorsProject [DrsDriver::getProjectName]
- if ![llength $doorsProject] {
- return
- }
-
- upvar $dxlCommandRef dxlCommand
- if {$arg2 == "All"} {
- set doorsObj [DrsObject new ""]
- $doorsObj dxlCommand $dxlCommand
- $doorsObj $operation $arg1 $arg2
- set dxlCommand [$doorsObj dxlCommand]
- return
- }
-
- foreach objTeamObj $objTeamObjs {
- set parentOTObj $orgParentOTObj
- if [$objTeamObj isA ConfigVersion] {
- set phases [$objTeamObj phaseVersions]
- continue
- } elseif [$objTeamObj isA Corporate] {
- set doorsObj [DrsCorpObject new $objTeamObj]
- } elseif [$objTeamObj isA Project] {
- set doorsObj [DrsProjObject new $objTeamObj $parentOTObj]
- } else {
- set level [$objTeamObj object]
- set origConf [$objTeamObj [$objTeamObj ORB_class]::config]
- set origConfName [$origConf name]
- set versionNumber [$objTeamObj versionNumber]
- set levelVersion $origConfName.$versionNumber
-
- set parOrigConf [$parentOTObj [$parentOTObj ORB_class]::config]
- set parOrigConfName [$parOrigConf name]
- set pVersionNumber [$parentOTObj versionNumber]
- set pVers $parOrigConfName.$pVersionNumber
-
- if [$objTeamObj isA PhaseVersion] {
- set parentOTObj [$parentOTObj project]
- set pLevel [$parentOTObj customLevel]
- set doorsObj [DrsPhaseObject new $level \
- $levelVersion $pLevel $pVers ]
- } else {
- set pLevel [$parentOTObj customLevel]
- }
- if [$objTeamObj isA SystemVersion] {
- set doorsObj [DrsSystemObject new $level \
- $levelVersion $pLevel $pVers]
- } elseif [$objTeamObj isA FileVersion] {
- if {[[$objTeamObj file] type] == "cdm" } {
- #skip cdm
- continue
- }
- set doorsObj [DrsFileObject new $level \
- $levelVersion $pLevel $pVers]
- }
- }
-
-
- $doorsObj dxlCommand $dxlCommand
- if [llength $arg1] {
- if ![llength $arg2] {
- set dxlResult [$doorsObj $operation $arg1]
- } else {
- set dxlResult [$doorsObj $operation $arg1 $arg2]
- }
- } else {
- set dxlResult [$doorsObj $operation]
- }
- set dxlCommand [$doorsObj dxlCommand]
- }
- }
-
- proc DrsDriver::getProjectName {{forced 0}} {
- set doorsProject [m4_var get M4_doors_project]
- if {![llength $doorsProject] || $forced} {
- set doorsObj [DrsObject new ""]
- set dxlCommand [DrsDxlCommand new]
- $dxlCommand doorsInitialize "false"
- $dxlCommand mustBeDone 1
- $dxlCommand doorsResultSave projectName
- set doorsProject [$dxlCommand execute]
- m4_var set M4_doors_project $doorsProject
- }
- if ![llength $doorsProject] {
- wmtkerror "No Doors Project Opened"
- return
- }
-
- global DrsDriver::FORMALMODULE
- set DrsDriver::FORMALMODULE DOORS_${doorsProject}_[m4_var get M4_doors_formal_module]
- set formMod [m4_var get M4_doors_formal_module]
- if ![llength $formMod] {
- m4_var set M4_doors_formal_module ObjectTeam
- m4_var saveStatus M4_doors_formal_module 0
- }
-
- set linkMod [m4_var get M4_doors_trace_link_module]
- if ![llength $linkMod] {
- m4_var set M4_doors_trace_link_module OTTrace
- m4_var saveStatus M4_doors_trace_link_module
- }
-
- set linkMod [m4_var get M4_doors_connections_link_module]
- if ![llength $linkMod] {
- m4_var set M4_doors_connections_link_module OTConnections
- m4_var saveStatus M4_doors_connections_link_module
- }
- return $doorsProject
-
- }
-
- # Do not delete this line -- regeneration end marker
-
-