home *** CD-ROM | disk | FTP | other *** search
- #---------------------------------------------------------------------------
- #
- # (c) Cayenne Software Inc. 1996
- #
- # File: @(#)cmucdmodel.tcl /main/titanic/1
- # Author: <generated>
- # Description:
- #---------------------------------------------------------------------------
- # SccsId = @(#)cmucdmodel.tcl /main/titanic/1 12 Sep 1996 Copyright 1996 Cayenne Software Inc.
-
- # Start user added include file section
- require cmusecase.tcl
- # End user added include file section
-
-
- Class CMUcdModel : {SMPhaseModel} {
- method destructor
- constructor
- method defineSMTypes
- method makeSMTypeName
- method mcheck
- }
-
- method CMUcdModel::destructor {this} {
- # Start destructor user section
- # End destructor user section
- }
-
- constructor CMUcdModel {class this configV phaseV} {
- set this [SMPhaseModel::constructor $class $this $configV $phaseV]
-
- # Define global available SMTypes
- $this defineSMTypes
-
- # Add creator scripts to the ObjectFactory
- set objFac [$this getObjectFactory]
- $objFac addCreatorScript $OMT_UCD_UseCase "
- return \[CMUseCase new $this]
- "
-
- return $this
- }
-
- method CMUcdModel::defineSMTypes {this} {
- set typeIter [SMTypeIter new]
- while {[$typeIter current] != ""} {
- set smType [$typeIter current]
- if {![string match UCD* [$smType name]]} {
- $typeIter next
- continue
- }
- set name [$this makeSMTypeName [$smType name]]
- eval "global $name"
- eval "set $name $smType"
- $typeIter next
- }
- $typeIter delete
-
- global ANY; set ANY [SMTypeDB::any]
- }
-
- method CMUcdModel::makeSMTypeName {this type} {
- regsub -all "\[ \t]+" $type "_" type
- return "OMT_$type"
- }
-
- method CMUcdModel::mcheck {this} {
- # check all Use Cases in *current* system
- #
- foreach uc [$this getSMObjects $OMT_UCD_UseCase] {
- if {[$uc isInSystem]} {
- $uc mcheck
- }
- }
- }
-
- # Do not delete this line -- regeneration end marker
-
-