home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
PC World 1998 October
/
PCWorld_1998-10_cd.bin
/
software
/
prehled
/
komix
/
DATA.Z
/
drssynchro.tcl
< prev
next >
Wrap
Text File
|
1997-09-08
|
4KB
|
123 lines
#---------------------------------------------------------------------------
#
# (c) Cayenne Software Inc. 1997
#
# File: @(#)drssynchro.tcl /main/titanic/3
# Author: <generated>
# Description:
#---------------------------------------------------------------------------
# SccsId = @(#)drssynchro.tcl /main/titanic/3 8 Sep 1997 Copyright 1997 Cayenne Software Inc.
# Start user added include file section
require drsdriver.tcl
# End user added include file section
require "reqsynchro.tcl"
Class DrsSynchronizer : {ReqSynchronizer} {
constructor
method destructor
method applyToMultiple
attribute DxlError
}
constructor DrsSynchronizer {class this} {
set this [ReqSynchronizer::constructor $class $this]
# Start constructor user section
$this DxlError 0
$this init doors Drs
# End constructor user section
return $this
}
method DrsSynchronizer::destructor {this} {
# Start destructor user section
# End destructor user section
$this ReqSynchronizer::destructor
}
method DrsSynchronizer::applyToMultiple {this objTeamObjs orgParentOTObj operation dxlCommandRef {arg1 ""} {arg2 ""}} {
if [$this DxlError] {
return
}
set doorsProject [DrsDriver::getProjectName]
if ![llength $doorsProject] {
$this DxlError 1
return
}
set DrsDriver::FORMALMODULE DOORS_${doorsProject}_[m4_var get M4_doors_formal_module]
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 driver $this
$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]
}
if ![llength $dxlResult] {
$this DxlError 1
}
set dxlCommand [$doorsObj dxlCommand]
}
}
# Do not delete this line -- regeneration end marker