home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1998 October
/
PCWorld_1998-10_cd.bin
/
software
/
prehled
/
komix
/
DATA.Z
/
drsdriver.tcl
< prev
next >
Wrap
Text File
|
1997-09-23
|
5KB
|
168 lines
#---------------------------------------------------------------------------
#
# (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