Changeset 2164
- Timestamp:
- Apr 18, 2006, 11:25:15 AM (17 years ago)
- Location:
- trunk
- Files:
-
- 13 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/doc/uml/dataclasses.uml.xml
r2104 r2164 7817 7817 <UML:Stereotype.baseClass >Flow</UML:Stereotype.baseClass> 7818 7818 <UML:ModelElement.comment > 7819 <UML:Comment xmi.id = 'nicklas_114 3100943164_535253_487' >7819 <UML:Comment xmi.id = 'nicklas_1145341543596_213695_489' > 7820 7820 <UML:ModelElement.name > Specifies a Flow relationship, source and target of which represent the same instance at different points in time, but each with potentially different values, state instance, and roles. A Become Dependency from A to B means that instance A becomes B with possibly new values, state instance, and roles at a different moment in time/space.</UML:ModelElement.name> 7821 7821 </UML:Comment> … … 7829 7829 <UML:Stereotype.baseClass >Artifact</UML:Stereotype.baseClass> 7830 7830 <UML:ModelElement.comment > 7831 <UML:Comment xmi.id = 'nicklas_114 3100943164_927226_488' >7831 <UML:Comment xmi.id = 'nicklas_1145341543596_746390_490' > 7832 7832 <UML:ModelElement.name >Denotes a static or dynamic library file. Subclass of «file».</UML:ModelElement.name> 7833 7833 </UML:Comment> … … 7857 7857 <UML:Stereotype.baseClass >ModelPackage</UML:Stereotype.baseClass> 7858 7858 <UML:ModelElement.comment > 7859 <UML:Comment xmi.id = 'nicklas_114 3100943164_48705_489' >7859 <UML:Comment xmi.id = 'nicklas_1145341543597_659203_491' > 7860 7860 <UML:ModelElement.name >A model library is a stereotyped package that contains model elements that are intended to be reused by other packages. A model library differs from a profile in that a model library does not extend the metamodel using stereotypes and tagged definitions. A model library is analogous to a class library in some programming languages.</UML:ModelElement.name> 7861 7861 </UML:Comment> … … 7869 7869 <UML:Stereotype.baseClass >ObjectFlowState</UML:Stereotype.baseClass> 7870 7870 <UML:ModelElement.comment > 7871 <UML:Comment xmi.id = 'nicklas_114 3100943165_885519_490' >7871 <UML:Comment xmi.id = 'nicklas_1145341543597_397451_492' > 7872 7872 <UML:ModelElement.name >Signalflow is a stereotype of ObjectFlowState with a Signal as its type.</UML:ModelElement.name> 7873 7873 </UML:Comment> … … 7881 7881 <UML:Stereotype.baseClass >CallEvent</UML:Stereotype.baseClass> 7882 7882 <UML:ModelElement.comment > 7883 <UML:Comment xmi.id = 'nicklas_114 3100943165_347980_491' >7883 <UML:Comment xmi.id = 'nicklas_1145341543597_677674_493' > 7884 7884 <UML:ModelElement.name >Create is a stereotyped call event denoting that the instance receiving that event has just been created. For state machines, it triggers the initial transition at the topmost level of the state machine (and is the only kind of trigger that may be applied to an initial transition).</UML:ModelElement.name> 7885 7885 </UML:Comment> … … 7909 7909 <UML:Stereotype.baseClass >Artifact</UML:Stereotype.baseClass> 7910 7910 <UML:ModelElement.comment > 7911 <UML:Comment xmi.id = 'nicklas_114 3100943165_4244_492' >7911 <UML:Comment xmi.id = 'nicklas_1145341543597_645573_494' > 7912 7912 <UML:ModelElement.name >Denotes a program file that can be executed on a computer system.Subclass of «file».</UML:ModelElement.name> 7913 7913 </UML:Comment> … … 7921 7921 <UML:Stereotype.baseClass >Component</UML:Stereotype.baseClass> 7922 7922 <UML:ModelElement.comment > 7923 <UML:Comment xmi.id = 'nicklas_114 3100943165_756178_493' >7923 <UML:Comment xmi.id = 'nicklas_1145341543598_610358_495' > 7924 7924 <UML:ModelElement.name >Denotes a document.</UML:ModelElement.name> 7925 7925 </UML:Comment> … … 7933 7933 <UML:Stereotype.baseClass >Constraint</UML:Stereotype.baseClass> 7934 7934 <UML:ModelElement.comment > 7935 <UML:Comment xmi.id = 'nicklas_114 3100943165_974422_494' >7935 <UML:Comment xmi.id = 'nicklas_1145341543598_809991_496' > 7936 7936 <UML:ModelElement.name >Specifies a constraint that must be attached to a state vertex in a state machine that has a classifier for a context. The stereotype indicates that the constraint holds for instances of the classifier when an instance is in that state.</UML:ModelElement.name> 7937 7937 </UML:Comment> … … 7945 7945 <UML:Stereotype.baseClass >Usage</UML:Stereotype.baseClass> 7946 7946 <UML:ModelElement.comment > 7947 <UML:Comment xmi.id = 'nicklas_114 3100943166_364346_495' >7947 <UML:Comment xmi.id = 'nicklas_1145341543598_45905_497' > 7948 7948 <UML:ModelElement.name >Call is a stereotyped usage dependency whose source is an operation and whose target is an operation. The relationship may also be subsumed to the class containing an operation, with the meaning that there exists an operation in the class to which the dependency applies. A call dependency specifies that the source operation or an operation in the source class invokes the target operation or an operation in the target class. A call dependency may connect a source operation to any target operation that is within scope including, but not limited to, operations of the enclosing classifier and operations of other visible classifiers.</UML:ModelElement.name> 7949 7949 </UML:Comment> … … 7957 7957 <UML:Stereotype.baseClass >Permission</UML:Stereotype.baseClass> 7958 7958 <UML:ModelElement.comment > 7959 <UML:Comment xmi.id = 'nicklas_114 3100943166_771429_496' >7959 <UML:Comment xmi.id = 'nicklas_1145341543598_925750_498' > 7960 7960 <UML:ModelElement.name >Import is a stereotyped permission dependency between two namespaces, denoting that the public contents of the target package are added to the namespace of the source package.</UML:ModelElement.name> 7961 7961 </UML:Comment> … … 7969 7969 <UML:Stereotype.baseClass >AssociationEnd</UML:Stereotype.baseClass> 7970 7970 <UML:ModelElement.comment > 7971 <UML:Comment xmi.id = 'nicklas_114 3100943166_620959_497' >7971 <UML:Comment xmi.id = 'nicklas_1145341543599_976864_499' > 7972 7972 <UML:ModelElement.name >Specifies that the relationship represents a reference to the object that AssociationEnd owns an operation or action rather than an actual association.</UML:ModelElement.name> 7973 7973 </UML:Comment> … … 7981 7981 <UML:Stereotype.baseClass >ModelPackage</UML:Stereotype.baseClass> 7982 7982 <UML:ModelElement.comment > 7983 <UML:Comment xmi.id = 'nicklas_114 3100943166_245744_498' >7983 <UML:Comment xmi.id = 'nicklas_1145341543599_600566_500' > 7984 7984 <UML:ModelElement.name >A framework is a stereotyped package consisting mainly of patterns, where patterns are defined as template collaborations.</UML:ModelElement.name> 7985 7985 </UML:Comment> … … 8012 8012 <UML:Stereotype.baseClass >Stimulus</UML:Stereotype.baseClass> 8013 8013 <UML:ModelElement.comment > 8014 <UML:Comment xmi.id = 'nicklas_114 3100943166_821869_499' >8014 <UML:Comment xmi.id = 'nicklas_1145341543599_623133_501' > 8015 8015 <UML:ModelElement.name >A time-out message the sender sends for a given period of time while waiting for acknowledgment by recipient. The sender is freed up if the acknowledgment does not occur within the duration specified in the description.</UML:ModelElement.name> 8016 8016 </UML:Comment> … … 8024 8024 <UML:Stereotype.baseClass >Usage</UML:Stereotype.baseClass> 8025 8025 <UML:ModelElement.comment > 8026 <UML:Comment xmi.id = 'nicklas_114 3100943166_372984_500' >8026 <UML:Comment xmi.id = 'nicklas_1145341543630_659112_502' > 8027 8027 <UML:ModelElement.name >A stereotyped usage dependency among classifiers indicating that operations on the client create instances of the supplier.</UML:ModelElement.name> 8028 8028 </UML:Comment> … … 8036 8036 <UML:Stereotype.baseClass >Artifact</UML:Stereotype.baseClass> 8037 8037 <UML:ModelElement.comment > 8038 <UML:Comment xmi.id = 'nicklas_114 3100943167_299601_501' >8038 <UML:Comment xmi.id = 'nicklas_1145341543630_842016_503' > 8039 8039 <UML:ModelElement.name >Denotes a generic file that is not a «source» file or «executable». Subclass of «file».</UML:ModelElement.name> 8040 8040 </UML:Comment> … … 8048 8048 <UML:Stereotype.baseClass >LinkEnd</UML:Stereotype.baseClass> 8049 8049 <UML:ModelElement.comment > 8050 <UML:Comment xmi.id = 'nicklas_114 3100943167_766997_502' >8050 <UML:Comment xmi.id = 'nicklas_1145341543630_940289_504' > 8051 8051 <UML:ModelElement.name > Self is a constraint applied to a link-end, specifying that the corresponding instance is visible because it is the dispatcher of the request.</UML:ModelElement.name> 8052 8052 </UML:Comment> … … 8060 8060 <UML:Stereotype.baseClass >Artifact</UML:Stereotype.baseClass> 8061 8061 <UML:ModelElement.comment > 8062 <UML:Comment xmi.id = 'nicklas_114 3100943167_901042_503' >8062 <UML:Comment xmi.id = 'nicklas_1145341543630_818927_505' > 8063 8063 <UML:ModelElement.name >Denotes a source file that can be compiled into an executable file.Subclass of «file».</UML:ModelElement.name> 8064 8064 </UML:Comment> … … 8072 8072 <UML:Stereotype.baseClass >Constraint</UML:Stereotype.baseClass> 8073 8073 <UML:ModelElement.comment > 8074 <UML:Comment xmi.id = 'nicklas_114 3100943167_727402_504' >8074 <UML:Comment xmi.id = 'nicklas_1145341543630_355332_506' > 8075 8075 <UML:ModelElement.name >Specifies a constraint that must be attached to a set of classifiers or relationships. It indicates that the conditions of the constraint must hold over time (for the time period of concern in the particular containing element) for the classifiers or relationships and their instances.</UML:ModelElement.name> 8076 8076 </UML:Comment> … … 8151 8151 <UML:Stereotype.baseClass >BehavioralFeature</UML:Stereotype.baseClass> 8152 8152 <UML:ModelElement.comment > 8153 <UML:Comment xmi.id = 'nicklas_114 3100943168_472834_505' >8153 <UML:Comment xmi.id = 'nicklas_1145341543631_997948_507' > 8154 8154 <UML:ModelElement.name > Specifies that the designated feature creates an instance of the BehavioralFeature classifier to which the feature is attached. May be promoted to the Classifier containing the feature.</UML:ModelElement.name> 8155 8155 </UML:Comment> … … 8163 8163 <UML:Stereotype.baseClass >Association</UML:Stereotype.baseClass> 8164 8164 <UML:ModelElement.comment > 8165 <UML:Comment xmi.id = 'nicklas_114 3100943168_257425_506' >8165 <UML:Comment xmi.id = 'nicklas_1145341543632_995481_508' > 8166 8166 <UML:ModelElement.name > The «implicit» stereotype is applied to an association, specifying that the association is not manifest, but rather is only conceptual.</UML:ModelElement.name> 8167 8167 </UML:Comment> … … 8175 8175 <UML:Stereotype.baseClass >ModelPackage</UML:Stereotype.baseClass> 8176 8176 <UML:ModelElement.comment > 8177 <UML:Comment xmi.id = 'nicklas_114 3100943168_408419_507' >8177 <UML:Comment xmi.id = 'nicklas_1145341543632_679310_509' > 8178 8178 <UML:ModelElement.name >A facade is a stereotyped package containing only references to model elements owned by another package. It is used to provide a public view of some of the contents of a package. A facade does not contain any model elements of its own.</UML:ModelElement.name> 8179 8179 </UML:Comment> … … 8187 8187 <UML:Stereotype.baseClass >ModelPackage</UML:Stereotype.baseClass> 8188 8188 <UML:ModelElement.comment > 8189 <UML:Comment xmi.id = 'nicklas_114 3100943168_396324_508' >8189 <UML:Comment xmi.id = 'nicklas_1145341543632_948283_510' > 8190 8190 <UML:ModelElement.name >A profile is a stereotyped package that contains model elements that have been customized for a specific domain or purpose using extension mechanisms, such as stereotypes, tagged definitions, and constraints. A profile may also specify model libraries on which it depends and the metamodel subset that it extends. (The latter is specified via an applicableSubset tag definition.)</UML:ModelElement.name> 8191 8191 </UML:Comment> … … 8199 8199 <UML:Stereotype.baseClass >ModelPackage</UML:Stereotype.baseClass> 8200 8200 <UML:ModelElement.comment > 8201 <UML:Comment xmi.id = 'nicklas_114 3100943168_292205_509' >8201 <UML:Comment xmi.id = 'nicklas_1145341543632_233988_511' > 8202 8202 <UML:ModelElement.name >TopLevel is a stereotype of package denoting the top-most package in a containment hierarchy. The topLevel stereotype defines the outer limit for looking up names, as namespaces see outwards. A topLevel subsystem represents the top of the subsystem containment hierarchy, i.e., it is the model element that represents the boundary of the entire physical system being modeled.</UML:ModelElement.name> 8203 8203 </UML:Comment> … … 8227 8227 <UML:Stereotype.baseClass >Flow</UML:Stereotype.baseClass> 8228 8228 <UML:ModelElement.comment > 8229 <UML:Comment xmi.id = 'nicklas_114 3100943169_813280_510' >8229 <UML:Comment xmi.id = 'nicklas_1145341543632_558109_512' > 8230 8230 <UML:ModelElement.name >Specifies a Flow relationship, the source and target of which are different instances, but each with the same values, state instance, and roles (but a distinct identity). A Copy Dependency from A to B means that B is an exact copy of A. Future changes in A are not necessarily reflected in B.</UML:ModelElement.name> 8231 8231 </UML:Comment> … … 8239 8239 <UML:Stereotype.baseClass >LinkEnd</UML:Stereotype.baseClass> 8240 8240 <UML:ModelElement.comment > 8241 <UML:Comment xmi.id = 'nicklas_114 3100943169_575036_511' >8241 <UML:Comment xmi.id = 'nicklas_1145341543633_707097_513' > 8242 8242 <UML:ModelElement.name > Association is a constraint applied to a link-end, specifying that the corresponding instance is visible via association.</UML:ModelElement.name> 8243 8243 </UML:Comment> … … 8251 8251 <UML:Stereotype.baseClass >ModelPackage</UML:Stereotype.baseClass> 8252 8252 <UML:ModelElement.comment > 8253 <UML:Comment xmi.id = 'nicklas_114 3100943169_809701_512' >8253 <UML:Comment xmi.id = 'nicklas_1145341543633_181238_514' > 8254 8254 <UML:ModelElement.name >A stub is a stereotyped package representing a package that is incompletely transferred; specifically, a stub provides the public parts of the package, but nothing more.</UML:ModelElement.name> 8255 8255 </UML:Comment> … … 8263 8263 <UML:Stereotype.baseClass >Abstraction</UML:Stereotype.baseClass> 8264 8264 <UML:ModelElement.comment > 8265 <UML:Comment xmi.id = 'nicklas_114 3100943169_379865_513' >8265 <UML:Comment xmi.id = 'nicklas_1145341543633_585471_515' > 8266 8266 <UML:ModelElement.name >(Name for the stereotyped class is Trace.) Specifies a trace relationship between model elements or sets of model elements that represent the same concept in different models. Traces are mainly used for tracking requirements and changes across models. Since model changes can occur in both directions, the directionality of the dependency can often be ignored. The mapping specifies the relationship between the two, but it is rarely computable and is usually informal.</UML:ModelElement.name> 8267 8267 </UML:Comment> … … 8275 8275 <UML:Stereotype.baseClass >Generalization</UML:Stereotype.baseClass> 8276 8276 <UML:ModelElement.comment > 8277 <UML:Comment xmi.id = 'nicklas_114 3100943169_780858_514' >8277 <UML:Comment xmi.id = 'nicklas_1145341543633_336944_516' > 8278 8278 <UML:ModelElement.name >Specifies that the child inherits the implementation of the parent (its attributes, operations and methods) but does not make public the supplier s interfaces nor guarantee to support them, thereby violating substitutability. This is private inheritance and is usually used only for programming implementation purposes.</UML:ModelElement.name> 8279 8279 </UML:Comment> … … 8341 8341 <UML:Stereotype.baseClass >Artifact</UML:Stereotype.baseClass> 8342 8342 <UML:ModelElement.comment > 8343 <UML:Comment xmi.id = 'nicklas_114 3100943171_643901_515' >8343 <UML:Comment xmi.id = 'nicklas_1145341543634_465109_517' > 8344 8344 <UML:ModelElement.name >Denotes a physical file in the context of the system developed.</UML:ModelElement.name> 8345 8345 </UML:Comment> … … 8376 8376 <UML:Stereotype.baseClass >Usage</UML:Stereotype.baseClass> 8377 8377 <UML:ModelElement.comment > 8378 <UML:Comment xmi.id = 'nicklas_114 3100943171_355233_516' >8378 <UML:Comment xmi.id = 'nicklas_1145341543635_356650_518' > 8379 8379 <UML:ModelElement.name >Create is a stereotyped usage dependency denoting that the client classifier creates instances of the supplier classifier.</UML:ModelElement.name> 8380 8380 </UML:Comment> … … 8388 8388 <UML:Stereotype.baseClass >BehavioralFeature</UML:Stereotype.baseClass> 8389 8389 <UML:ModelElement.comment > 8390 <UML:Comment xmi.id = 'nicklas_114 3100943171_108464_517' >8390 <UML:Comment xmi.id = 'nicklas_1145341543635_186130_519' > 8391 8391 <UML:ModelElement.name >Specifies that the designated feature destroys an instance of the BehavioralFeature classifier to which the feature is attached. May be promoted to the classifier containing the feature.</UML:ModelElement.name> 8392 8392 </UML:Comment> … … 8406 8406 <UML:Stereotype.baseClass >Permission</UML:Stereotype.baseClass> 8407 8407 <UML:ModelElement.comment > 8408 <UML:Comment xmi.id = 'nicklas_114 3100943172_123649_518' >8408 <UML:Comment xmi.id = 'nicklas_1145341543635_762714_520' > 8409 8409 <UML:ModelElement.name > Friend is a stereotyped permission dependency whose source is a model element, such as an operation, class, or package, and whose target is a model element in a different package, such as an operation, class or package. A friend relationship grants the source access to the target regardless of the declared visibility. It extends the visibility of the supplier so that the client can see into the supplier.</UML:ModelElement.name> 8410 8410 </UML:Comment> … … 8418 8418 <UML:Stereotype.baseClass >Component</UML:Stereotype.baseClass> 8419 8419 <UML:ModelElement.comment > 8420 <UML:Comment xmi.id = 'nicklas_114 3100943172_253286_519' >8420 <UML:Comment xmi.id = 'nicklas_1145341543635_12095_521' > 8421 8421 <UML:ModelElement.name >Denotes a static or dynamic library.</UML:ModelElement.name> 8422 8422 </UML:Comment> … … 8528 8528 <UML:Stereotype.baseClass >Stimulus</UML:Stereotype.baseClass> 8529 8529 <UML:ModelElement.comment > 8530 <UML:Comment xmi.id = 'nicklas_114 3100943173_305852_520' >8530 <UML:Comment xmi.id = 'nicklas_1145341543637_261337_522' > 8531 8531 <UML:ModelElement.name >message In the balking message case the sender abandons the message if the receiver is not ready.</UML:ModelElement.name> 8532 8532 </UML:Comment> … … 8540 8540 <UML:Stereotype.baseClass >LinkEnd</UML:Stereotype.baseClass> 8541 8541 <UML:ModelElement.comment > 8542 <UML:Comment xmi.id = 'nicklas_114 3100943173_299259_521' >8542 <UML:Comment xmi.id = 'nicklas_1145341543637_563443_523' > 8543 8543 <UML:ModelElement.name > Parameter is a constraint applied to a link-end, specifying that the corresponding instance is visible because it is in a parameter scope relative to the link.</UML:ModelElement.name> 8544 8544 </UML:Comment> … … 8552 8552 <UML:Stereotype.baseClass >AssociationEnd</UML:Stereotype.baseClass> 8553 8553 <UML:ModelElement.comment > 8554 <UML:Comment xmi.id = 'nicklas_114 3100943173_298879_522' >8554 <UML:Comment xmi.id = 'nicklas_1145341543637_270928_524' > 8555 8555 <UML:ModelElement.name > Specifies that the relationship represents a local variable within a AssociationEnd procedure rather than an actual association.</UML:ModelElement.name> 8556 8556 </UML:Comment> … … 8564 8564 <UML:Stereotype.baseClass >AssociationEnd</UML:Stereotype.baseClass> 8565 8565 <UML:ModelElement.comment > 8566 <UML:Comment xmi.id = 'nicklas_114 3100943173_361843_523' >8566 <UML:Comment xmi.id = 'nicklas_1145341543638_308116_525' > 8567 8567 <UML:ModelElement.name > Specifies a real association (default and redundant, but may be included AssociationEnd for emphasis).</UML:ModelElement.name> 8568 8568 </UML:Comment> … … 8576 8576 <UML:Stereotype.baseClass >Dependency</UML:Stereotype.baseClass> 8577 8577 <UML:ModelElement.comment > 8578 <UML:Comment xmi.id = 'nicklas_114 3100943174_681131_524' >8578 <UML:Comment xmi.id = 'nicklas_1145341543638_703856_526' > 8579 8579 <UML:ModelElement.name >This dependency is used to indicate which profiles are applicable to a package. Typically, the client is an ordinary package or a model (but could be any other kind of package), while the supplier is a profile package. This means that the profile applies transitively to the model elements contained in the client package, including the client package itself.</UML:ModelElement.name> 8580 8580 </UML:Comment> … … 8588 8588 <UML:Stereotype.baseClass >Abstraction</UML:Stereotype.baseClass> 8589 8589 <UML:ModelElement.comment > 8590 <UML:Comment xmi.id = 'nicklas_114 3100943174_793884_525' >8590 <UML:Comment xmi.id = 'nicklas_1145341543638_443858_527' > 8591 8591 <UML:ModelElement.name >(Name for the stereotyped class is Realization.) Specifies a realization relationship between a specification model element or elements (the supplier) and a model element or elements that implement it (the client). The implementation model element is required to support all of the operations or received signals that the specification model element declares. The implementation model element must make or inherit its own declarations of the operations and signal receptions. The mapping specifies the relationship between the two. The mapping may or may not be computable. Realization can be used to model stepwise refinement, optimizations, transformations, templates, model synthesis, framework composition, etc.</UML:ModelElement.name> 8592 8592 </UML:Comment> … … 8647 8647 <UML:Stereotype.baseClass >Message</UML:Stereotype.baseClass> 8648 8648 <UML:ModelElement.comment > 8649 <UML:Comment xmi.id = 'nicklas_114 3100943174_483936_526' >8649 <UML:Comment xmi.id = 'nicklas_1145341543639_417614_528' > 8650 8650 <UML:ModelElement.name >message In the balking message case the sender abandons the message if the receiver is not ready.</UML:ModelElement.name> 8651 8651 </UML:Comment> … … 8659 8659 <UML:Stereotype.baseClass >Message</UML:Stereotype.baseClass> 8660 8660 <UML:ModelElement.comment > 8661 <UML:Comment xmi.id = 'nicklas_114 3100943175_607041_527' >8661 <UML:Comment xmi.id = 'nicklas_1145341543639_344307_529' > 8662 8662 <UML:ModelElement.name >A time-out message the sender sends for a given period of time while waiting for acknowledgment by recipient. The sender is freed up if the acknowledgment does not occur within the duration specified in the description.</UML:ModelElement.name> 8663 8663 </UML:Comment> … … 8671 8671 <UML:Stereotype.baseClass >CallEvent</UML:Stereotype.baseClass> 8672 8672 <UML:ModelElement.comment > 8673 <UML:Comment xmi.id = 'nicklas_114 3100943175_916765_528' >8673 <UML:Comment xmi.id = 'nicklas_1145341543640_508113_530' > 8674 8674 <UML:ModelElement.name >Destroy is a stereotyped call event denoting that the instance receiving the event is being destroyed.</UML:ModelElement.name> 8675 8675 </UML:Comment> … … 8683 8683 <UML:Stereotype.baseClass >Comment</UML:Stereotype.baseClass> 8684 8684 <UML:ModelElement.comment > 8685 <UML:Comment xmi.id = 'nicklas_114 3100943175_578921_529' >8685 <UML:Comment xmi.id = 'nicklas_1145341543640_393613_531' > 8686 8686 <UML:ModelElement.name >Specifies a contract or an obligation of an element in its relationship Comment to other elements.</UML:ModelElement.name> 8687 8687 </UML:Comment> … … 8695 8695 <UML:Stereotype.baseClass >Artifact</UML:Stereotype.baseClass> 8696 8696 <UML:ModelElement.comment > 8697 <UML:Comment xmi.id = 'nicklas_114 3100943175_974601_530' >8697 <UML:Comment xmi.id = 'nicklas_1145341543640_856078_532' > 8698 8698 <UML:ModelElement.name >Denotes a database table.</UML:ModelElement.name> 8699 8699 </UML:Comment> … … 8707 8707 <UML:Stereotype.baseClass >Component</UML:Stereotype.baseClass> 8708 8708 <UML:ModelElement.comment > 8709 <UML:Comment xmi.id = 'nicklas_114 3100943175_540191_531' >8709 <UML:Comment xmi.id = 'nicklas_1145341543640_901334_533' > 8710 8710 <UML:ModelElement.name >Denotes a document containing source code or data.</UML:ModelElement.name> 8711 8711 </UML:Comment> … … 8719 8719 <UML:Stereotype.baseClass >Constraint</UML:Stereotype.baseClass> 8720 8720 <UML:ModelElement.comment > 8721 <UML:Comment xmi.id = 'nicklas_114 3100943175_650901_532' >8721 <UML:Comment xmi.id = 'nicklas_1145341543640_995685_534' > 8722 8722 <UML:ModelElement.name >Specifies a constraint that must be attached to an operation, and denotes that the conditions of the constraint must hold after the invocation of the operation.</UML:ModelElement.name> 8723 8723 </UML:Comment> … … 8731 8731 <UML:Stereotype.baseClass >AssociationEnd</UML:Stereotype.baseClass> 8732 8732 <UML:ModelElement.comment > 8733 <UML:Comment xmi.id = 'nicklas_114 3100943175_272233_533' >8733 <UML:Comment xmi.id = 'nicklas_1145341543640_910909_535' > 8734 8734 <UML:ModelElement.name >Specifies that the relationship represents a procedure parameter rather than AssociationEnd an actual association.</UML:ModelElement.name> 8735 8735 </UML:Comment> … … 8743 8743 <UML:Stereotype.baseClass >Comment</UML:Stereotype.baseClass> 8744 8744 <UML:ModelElement.comment > 8745 <UML:Comment xmi.id = 'nicklas_114 3100943175_714725_534' >8745 <UML:Comment xmi.id = 'nicklas_1145341543641_156905_536' > 8746 8746 <UML:ModelElement.name >Specifies a desired feature, property, or behavior of an element as part Comment of a system.</UML:ModelElement.name> 8747 8747 </UML:Comment> … … 8755 8755 <UML:Stereotype.baseClass >Model</UML:Stereotype.baseClass> 8756 8756 <UML:ModelElement.comment > 8757 <UML:Comment xmi.id = 'nicklas_114 3100943176_139343_535' >8757 <UML:Comment xmi.id = 'nicklas_1145341543641_521546_537' > 8758 8758 <UML:ModelElement.name >A use case model specifies the services a system provides to its users; that is, the different ways of using the system, and whose top-level package is a use case system.</UML:ModelElement.name> 8759 8759 </UML:Comment> … … 8767 8767 <UML:Stereotype.baseClass >LinkEnd</UML:Stereotype.baseClass> 8768 8768 <UML:ModelElement.comment > 8769 <UML:Comment xmi.id = 'nicklas_114 3100943176_26852_536' >8769 <UML:Comment xmi.id = 'nicklas_1145341543641_959106_538' > 8770 8770 <UML:ModelElement.name > Local is a constraint applied to a link-end, specifying that the corresponding instance is visible because it is in a local scope relative to the link.</UML:ModelElement.name> 8771 8771 </UML:Comment> … … 8779 8779 <UML:Stereotype.baseClass >Dependency</UML:Stereotype.baseClass> 8780 8780 <UML:ModelElement.comment > 8781 <UML:Comment xmi.id = 'nicklas_114 3100943176_816202_537' >8781 <UML:Comment xmi.id = 'nicklas_1145341543641_906468_539' > 8782 8782 <UML:ModelElement.name >This dependency means that the supplier package is being used as a model library associated with a profile. The client is a package that is stereotyped as a profile and the supplier is a non-profile package that contains shared model elements, such as classes and data types.</UML:ModelElement.name> 8783 8783 </UML:Comment> … … 8791 8791 <UML:Stereotype.baseClass >AssociationEnd</UML:Stereotype.baseClass> 8792 8792 <UML:ModelElement.comment > 8793 <UML:Comment xmi.id = 'nicklas_114 3100943176_210905_538' >8793 <UML:Comment xmi.id = 'nicklas_1145341543641_688736_540' > 8794 8794 <UML:ModelElement.name > Specifies that the target is a global value that is known to all elements AssociationEnd rather than an actual association.</UML:ModelElement.name> 8795 8795 </UML:Comment> … … 8803 8803 <UML:Stereotype.baseClass >Model</UML:Stereotype.baseClass> 8804 8804 <UML:ModelElement.comment > 8805 <UML:Comment xmi.id = 'nicklas_114 3100943176_365578_539' >8805 <UML:Comment xmi.id = 'nicklas_1145341543642_491726_541' > 8806 8806 <UML:ModelElement.name >A metamodel is a stereotyped model denoting that the model is an abstraction of another model, i.e., it is a model of a model. Hence, if M2 is a model of the model M1, then M2 is a metamodel of M1. It follows then that classes in M1 are instances of metaclasses in M2. The stereotype can be recursively applied, as in the case of a 4-layer metamodel architecture.</UML:ModelElement.name> 8807 8807 </UML:Comment> … … 8857 8857 <UML:Stereotype.baseClass >Constraint</UML:Stereotype.baseClass> 8858 8858 <UML:ModelElement.comment > 8859 <UML:Comment xmi.id = 'nicklas_114 3100943177_658866_540' >8859 <UML:Comment xmi.id = 'nicklas_1145341543652_879301_542' > 8860 8860 <UML:ModelElement.name > Specifies a constraint that must be attached to an operation, and denotes that the conditions of the constraint must hold for the invocation of the operation.</UML:ModelElement.name> 8861 8861 </UML:Comment> … … 8869 8869 <UML:Stereotype.baseClass >LinkEnd</UML:Stereotype.baseClass> 8870 8870 <UML:ModelElement.comment > 8871 <UML:Comment xmi.id = 'nicklas_114 3100943177_165375_541' >8871 <UML:Comment xmi.id = 'nicklas_1145341543652_862066_543' > 8872 8872 <UML:ModelElement.name > Global is a constraint applied to a link-end, specifying that the corresponding instance is visible because it is in a global scope relative to the link.</UML:ModelElement.name> 8873 8873 </UML:Comment> … … 8881 8881 <UML:Stereotype.baseClass >Component</UML:Stereotype.baseClass> 8882 8882 <UML:ModelElement.comment > 8883 <UML:Comment xmi.id = 'nicklas_114 3100943177_535934_542' >8883 <UML:Comment xmi.id = 'nicklas_1145341543653_294016_544' > 8884 8884 <UML:ModelElement.name >Denotes a data base table.</UML:ModelElement.name> 8885 8885 </UML:Comment> … … 8893 8893 <UML:Stereotype.baseClass >Model</UML:Stereotype.baseClass> 8894 8894 <UML:ModelElement.comment > 8895 <UML:Comment xmi.id = 'nicklas_114 3100943177_298753_543' >8895 <UML:Comment xmi.id = 'nicklas_1145341543653_376510_545' > 8896 8896 <UML:ModelElement.name >A systemModel is a stereotyped model that contains a collection of models of the same physical system. A systemModel also contains all relationships and constraints between model elements contained in different models.</UML:ModelElement.name> 8897 8897 </UML:Comment> … … 8905 8905 <UML:Stereotype.baseClass >Usage</UML:Stereotype.baseClass> 8906 8906 <UML:ModelElement.comment > 8907 <UML:Comment xmi.id = 'nicklas_114 3100943177_810873_544' >8907 <UML:Comment xmi.id = 'nicklas_1145341543653_672612_546' > 8908 8908 <UML:ModelElement.name >«send» Usage Send is a stereotyped usage dependency whose source is an operation and whose target is a signal, specifying that the source sends the target signal.</UML:ModelElement.name> 8909 8909 </UML:Comment> … … 8933 8933 <UML:Stereotype.baseClass >Permission</UML:Stereotype.baseClass> 8934 8934 <UML:ModelElement.comment > 8935 <UML:Comment xmi.id = 'nicklas_114 3100943178_604644_545' >8935 <UML:Comment xmi.id = 'nicklas_1145341543653_340407_547' > 8936 8936 <UML:ModelElement.name >Access is a stereotyped permission dependency between two namespaces, denoting that the public contents of the target namespace are accessible to the namespace of the source package.</UML:ModelElement.name> 8937 8937 </UML:Comment> … … 8945 8945 <UML:Stereotype.baseClass >Component</UML:Stereotype.baseClass> 8946 8946 <UML:ModelElement.comment > 8947 <UML:Comment xmi.id = 'nicklas_114 3100943178_731242_546' >8947 <UML:Comment xmi.id = 'nicklas_1145341543654_291696_548' > 8948 8948 <UML:ModelElement.name >Denotes a program that may be run on a node.</UML:ModelElement.name> 8949 8949 </UML:Comment> … … 8973 8973 <UML:Stereotype.baseClass >Abstraction</UML:Stereotype.baseClass> 8974 8974 <UML:ModelElement.comment > 8975 <UML:Comment xmi.id = 'nicklas_114 3100943178_565472_547' >8975 <UML:Comment xmi.id = 'nicklas_1145341543654_916955_549' > 8976 8976 <UML:ModelElement.name >(Name for the stereotyped class is Derivation.) Specifies a derivation relationship among model elements that are usually, but not necessarily, of the same type. A derived dependency specifies that the client may be computed from the supplier. The mapping specifies the computation. The client may be implemented for design reasons, such as efficiency, even though it is logically redundant.</UML:ModelElement.name> 8977 8977 </UML:Comment> … … 10627 10627 <UML:Stereotype.baseClass >ModelClass</UML:Stereotype.baseClass> 10628 10628 <UML:ModelElement.comment > 10629 <UML:Comment xmi.id = 'nicklas_114 3100943197_397765_548' >10629 <UML:Comment xmi.id = 'nicklas_1145341543673_566320_550' > 10630 10630 <UML:ModelElement.name >A control is a class whose objects manage interactions between collections of objects. 10631 10631 A control class usually has behavior that is specific for one use case, and a control object usually does not outlive the use case realizations in which it participates.</UML:ModelElement.name> … … 10640 10640 <UML:Stereotype.baseClass >Classifier</UML:Stereotype.baseClass> 10641 10641 <UML:ModelElement.comment > 10642 <UML:Comment xmi.id = 'nicklas_114 3100943197_89002_549' >10642 <UML:Comment xmi.id = 'nicklas_1145341543673_934750_551' > 10643 10643 <UML:ModelElement.name >Specifies that the instances of the classifier are classes.</UML:ModelElement.name> 10644 10644 </UML:Comment> … … 10652 10652 <UML:Stereotype.baseClass >Classifier</UML:Stereotype.baseClass> 10653 10653 <UML:ModelElement.comment > 10654 <UML:Comment xmi.id = 'nicklas_114 3100943197_681216_550' >10654 <UML:Comment xmi.id = 'nicklas_1145341543673_418017_552' > 10655 10655 <UML:ModelElement.name >Specifies that the classifier is a metaclass whose instances are siblings 10656 10656 marked by the same discriminator. For example, the metaclass … … 10668 10668 <UML:Stereotype.baseClass >ModelClass</UML:Stereotype.baseClass> 10669 10669 <UML:ModelElement.comment > 10670 <UML:Comment xmi.id = 'nicklas_114 3100943198_355120_551' >10670 <UML:Comment xmi.id = 'nicklas_1145341543674_914410_553' > 10671 10671 <UML:ModelElement.name >Specifies a domain of objects together with the operations applicable 10672 10672 to the objects, without defining the physical implementation of those … … 10686 10686 <UML:Stereotype.baseClass >Classifier</UML:Stereotype.baseClass> 10687 10687 <UML:ModelElement.comment > 10688 <UML:Comment xmi.id = 'nicklas_114 3100943198_134543_552' >10688 <UML:Comment xmi.id = 'nicklas_1145341543674_796294_554' > 10689 10689 <UML:ModelElement.name >Classifier Specifies a classifier that represents a flow of control.</UML:ModelElement.name> 10690 10690 </UML:Comment> … … 10698 10698 <UML:Stereotype.baseClass >ModelClass</UML:Stereotype.baseClass> 10699 10699 <UML:ModelElement.comment > 10700 <UML:Comment xmi.id = 'nicklas_114 3100943198_657011_553' >10700 <UML:Comment xmi.id = 'nicklas_1145341543674_192984_555' > 10701 10701 <UML:ModelElement.name >An entity is a passive class; that is, its objects do not initiate interactions on their own. An entity object may participate in many different use case realizations and usually outlives any single interaction.</UML:ModelElement.name> 10702 10702 </UML:Comment> … … 10710 10710 <UML:Stereotype.baseClass >ModelClass</UML:Stereotype.baseClass> 10711 10711 <UML:ModelElement.comment > 10712 <UML:Comment xmi.id = 'nicklas_114 3100943198_451270_554' >10712 <UML:Comment xmi.id = 'nicklas_1145341543674_676849_556' > 10713 10713 <UML:ModelElement.name >Specifies a class that defines the core logic or control flow for one or more auxiliary classes that support it. Support classes may be defined explicitly using Auxiliary classes or implicitly by dependency relationships. Focus classes are typically used together with one or more Auxiliary classes, and are particularly useful for specifying the core business logic or control flow of components during design. See also: «auxiliary».</UML:ModelElement.name> 10714 10714 </UML:Comment> … … 10722 10722 <UML:Stereotype.baseClass >ModelClass</UML:Stereotype.baseClass> 10723 10723 <UML:ModelElement.comment > 10724 <UML:Comment xmi.id = 'nicklas_114 3100943198_308995_555' >10724 <UML:Comment xmi.id = 'nicklas_1145341543675_56743_557' > 10725 10725 <UML:ModelElement.name >Specifies a class that supports another more central or fundamental 10726 10726 class, typically by implementing secondary logic or control flow. The … … 10740 10740 <UML:Stereotype.baseClass >Classifier</UML:Stereotype.baseClass> 10741 10741 <UML:ModelElement.comment > 10742 <UML:Comment xmi.id = 'nicklas_114 3100943198_530752_556' >10742 <UML:Comment xmi.id = 'nicklas_1145341543675_696379_558' > 10743 10743 <UML:ModelElement.name >Specifies a classifier that represents a heavy-weight flow of control.</UML:ModelElement.name> 10744 10744 </UML:Comment> … … 10752 10752 <UML:Stereotype.baseClass >ModelClass</UML:Stereotype.baseClass> 10753 10753 <UML:ModelElement.comment > 10754 <UML:Comment xmi.id = 'nicklas_114 3100943198_537531_557' >10754 <UML:Comment xmi.id = 'nicklas_1145341543675_528392_559' > 10755 10755 <UML:ModelElement.name >A boundary is a class that lies on the periphery of a system, but within it. It interacts with actors outside the system as well as with entity, control, and other boundary classes within the system.</UML:ModelElement.name> 10756 10756 </UML:Comment> … … 10764 10764 <UML:Stereotype.baseClass >Classifier</UML:Stereotype.baseClass> 10765 10765 <UML:ModelElement.comment > 10766 <UML:Comment xmi.id = 'nicklas_114 3100943199_156705_558' >10766 <UML:Comment xmi.id = 'nicklas_1145341543675_712637_560' > 10767 10767 <UML:ModelElement.name >Specifies a classifier that has no instances, but rather denotes a named collection of non-member attributes and operations, all of which are class-scoped.</UML:ModelElement.name> 10768 10768 </UML:Comment> … … 10776 10776 <UML:Stereotype.baseClass >ModelClass</UML:Stereotype.baseClass> 10777 10777 <UML:ModelElement.comment > 10778 <UML:Comment xmi.id = 'nicklas_114 3100943199_963140_559' >10778 <UML:Comment xmi.id = 'nicklas_1145341543676_512159_561' > 10779 10779 <UML:ModelElement.name >Specifies the implementation of a class in some programming 10780 10780 language (for example, C++, Smalltalk, Java) in which an instance … … 10801 10801 <UML:Stereotype.baseClass >ModelClass</UML:Stereotype.baseClass> 10802 10802 <UML:ModelElement.comment > 10803 <UML:Comment xmi.id = 'nicklas_114 3100943199_455940_560' >10803 <UML:Comment xmi.id = 'nicklas_1145341543676_406365_562' > 10804 10804 <UML:ModelElement.name >Specifies the implementation of a class in some programming Class language in which an instance may not have more than one class. This is in contrast to a general UML Class, for which an instance may have multiple classes at one time and may gain or lose classes over time, and an object (a child of instance) may dynamically have multiple classes.</UML:ModelElement.name> 10805 10805 </UML:Comment> … … 23401 23401 <UML:Classifier xmi.idref = 'nicklas_1143100356092_382980_435' /> 23402 23402 </UML:AssociationEnd.participant> <!-- FormulaExpression --> 23403 </UML:AssociationEnd> 23404 </UML:Association.connection> 23405 </UML:Association> 23406 <UML:Association xmi.id = 'nicklas_1145341486308_131572_460' > 23407 <UML:GeneralizableElement.isRoot xmi.value = 'false' /> 23408 <UML:GeneralizableElement.isLeaf xmi.value = 'false' /> 23409 <UML:GeneralizableElement.isAbstract xmi.value = 'false' /> 23410 <UML:Association.connection > 23411 <UML:AssociationEnd xmi.id = 'nicklas_1145341486307_971567_458' > 23412 <UML:ModelElement.name >experiments</UML:ModelElement.name> 23413 <UML:ModelElement.visibility xmi.value = 'private' /> 23414 <UML:AssociationEnd.isNavigable xmi.value = 'true' /> 23415 <UML:AssociationEnd.ordering xmi.value = 'unordered' /> 23416 <UML:AssociationEnd.aggregation xmi.value = 'none' /> 23417 <UML:AssociationEnd.targetScope xmi.value = 'instance' /> 23418 <UML:AssociationEnd.multiplicity > 23419 <UML:Multiplicity xmi.id = 'nicklas_1145342142673_490479_567' > 23420 <UML:Multiplicity.range > 23421 <UML:MultiplicityRange xmi.id = 'nicklas_1145342142673_283171_568' > 23422 <UML:MultiplicityRange.lower >0</UML:MultiplicityRange.lower> 23423 <UML:MultiplicityRange.upper >*</UML:MultiplicityRange.upper> 23424 </UML:MultiplicityRange> 23425 </UML:Multiplicity.range> 23426 </UML:Multiplicity> 23427 </UML:AssociationEnd.multiplicity> 23428 <UML:AssociationEnd.changeability xmi.value = 'changeable' /> 23429 <UML:AssociationEnd.association > 23430 <UML:Association xmi.idref = 'nicklas_1145341486308_131572_460' /> 23431 </UML:AssociationEnd.association> <!-- --> 23432 <UML:AssociationEnd.participant > 23433 <UML:Classifier xmi.idref = 'nicklas_1127222919391_682883_327' /> 23434 </UML:AssociationEnd.participant> <!-- ExperimentData --> 23435 </UML:AssociationEnd> 23436 <UML:AssociationEnd xmi.id = 'nicklas_1145341486308_238675_459' > 23437 <UML:ModelElement.name >experimentalFactors</UML:ModelElement.name> 23438 <UML:ModelElement.visibility xmi.value = 'public' /> 23439 <UML:AssociationEnd.isNavigable xmi.value = 'true' /> 23440 <UML:AssociationEnd.ordering xmi.value = 'unordered' /> 23441 <UML:AssociationEnd.aggregation xmi.value = 'none' /> 23442 <UML:AssociationEnd.targetScope xmi.value = 'instance' /> 23443 <UML:AssociationEnd.multiplicity > 23444 <UML:Multiplicity xmi.id = 'nicklas_1145341543886_515243_565' > 23445 <UML:Multiplicity.range > 23446 <UML:MultiplicityRange xmi.id = 'nicklas_1145341543886_863843_566' > 23447 <UML:MultiplicityRange.lower >0</UML:MultiplicityRange.lower> 23448 <UML:MultiplicityRange.upper >*</UML:MultiplicityRange.upper> 23449 </UML:MultiplicityRange> 23450 </UML:Multiplicity.range> 23451 </UML:Multiplicity> 23452 </UML:AssociationEnd.multiplicity> 23453 <UML:AssociationEnd.changeability xmi.value = 'changeable' /> 23454 <UML:AssociationEnd.association > 23455 <UML:Association xmi.idref = 'nicklas_1145341486308_131572_460' /> 23456 </UML:AssociationEnd.association> <!-- --> 23457 <UML:AssociationEnd.participant > 23458 <UML:Classifier xmi.idref = 'nicklas_1117789464231_29393_165' /> 23459 </UML:AssociationEnd.participant> <!-- AnnotationTypeData --> 23403 23460 </UML:AssociationEnd> 23404 23461 </UML:Association.connection> … … 24899 24956 <diagramOpened xmi.value = 'true' /> 24900 24957 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 24901 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>24958 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 24902 24959 <diagramScrollPositionX xmi.value = '10' /> 24903 24960 <diagramScrollPositionY xmi.value = '150' /> … … 26028 26085 <diagramOpened xmi.value = 'true' /> 26029 26086 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 26030 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>26087 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 26031 26088 <diagramScrollPositionX xmi.value = '10' /> 26032 26089 <diagramScrollPositionY xmi.value = '0' /> … … 27518 27575 <diagramOpened xmi.value = 'true' /> 27519 27576 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 27520 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>27577 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 27521 27578 <diagramScrollPositionX xmi.value = '0' /> 27522 27579 <diagramScrollPositionY xmi.value = '0' /> … … 28545 28602 <diagramOpened xmi.value = 'true' /> 28546 28603 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 28547 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>28604 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 28548 28605 <diagramScrollPositionX xmi.value = '0' /> 28549 28606 <diagramScrollPositionY xmi.value = '60' /> … … 29274 29331 <diagramOpened xmi.value = 'true' /> 29275 29332 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 29276 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>29333 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 29277 29334 <diagramScrollPositionX xmi.value = '0' /> 29278 29335 <diagramScrollPositionY xmi.value = '0' /> … … 29630 29687 <diagramOpened xmi.value = 'true' /> 29631 29688 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 29632 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>29689 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 29633 29690 <diagramScrollPositionX xmi.value = '0' /> 29634 29691 <diagramScrollPositionY xmi.value = '0' /> … … 29816 29873 <diagramOpened xmi.value = 'true' /> 29817 29874 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 29818 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>29875 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 29819 29876 <diagramScrollPositionX xmi.value = '0' /> 29820 29877 <diagramScrollPositionY xmi.value = '10' /> … … 30052 30109 <diagramOpened xmi.value = 'true' /> 30053 30110 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 30054 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>30111 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 30055 30112 <diagramScrollPositionX xmi.value = '0' /> 30056 30113 <diagramScrollPositionY xmi.value = '0' /> … … 30360 30417 <diagramOpened xmi.value = 'true' /> 30361 30418 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 30362 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>30419 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 30363 30420 <diagramScrollPositionX xmi.value = '0' /> 30364 30421 <diagramScrollPositionY xmi.value = '0' /> … … 30742 30799 <diagramOpened xmi.value = 'true' /> 30743 30800 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 30744 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>30801 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 30745 30802 <diagramScrollPositionX xmi.value = '0' /> 30746 30803 <diagramScrollPositionY xmi.value = '10' /> … … 31593 31650 <diagramOpened xmi.value = 'true' /> 31594 31651 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 31595 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>31652 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 31596 31653 <diagramScrollPositionX xmi.value = '0' /> 31597 31654 <diagramScrollPositionY xmi.value = '0' /> … … 31695 31752 <diagramOpened xmi.value = 'true' /> 31696 31753 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 31697 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>31754 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 31698 31755 <diagramScrollPositionX xmi.value = '0' /> 31699 31756 <diagramScrollPositionY xmi.value = '0' /> … … 33330 33387 <diagramOpened xmi.value = 'true' /> 33331 33388 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 33332 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>33389 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 33333 33390 <diagramScrollPositionX xmi.value = '0' /> 33334 33391 <diagramScrollPositionY xmi.value = '23' /> … … 34138 34195 <diagramOpened xmi.value = 'true' /> 34139 34196 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 34140 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>34197 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 34141 34198 <diagramScrollPositionX xmi.value = '0' /> 34142 34199 <diagramScrollPositionY xmi.value = '90' /> … … 34878 34935 <diagramOpened xmi.value = 'true' /> 34879 34936 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 34880 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>34937 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 34881 34938 <diagramScrollPositionX xmi.value = '0' /> 34882 34939 <diagramScrollPositionY xmi.value = '0' /> … … 35900 35957 <diagramOpened xmi.value = 'true' /> 35901 35958 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 35902 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>35959 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 35903 35960 <diagramScrollPositionX xmi.value = '0' /> 35904 35961 <diagramScrollPositionY xmi.value = '0' /> … … 37735 37792 <diagramOpened xmi.value = 'true' /> 37736 37793 <diagramWindowType >ClassDiagramWindow</diagramWindowType> 37737 <diagramWindowBounds >0, 0, 91 5, 801</diagramWindowBounds>37738 <diagramScrollPositionX xmi.value = ' 156' />37794 <diagramWindowBounds >0, 0, 916, 801</diagramWindowBounds> 37795 <diagramScrollPositionX xmi.value = '0' /> 37739 37796 <diagramScrollPositionY xmi.value = '0' /> 37740 37797 <maximized xmi.value = 'true' /> … … 37782 37839 <editable xmi.value = 'false' /> 37783 37840 <visible xmi.value = 'false' /> 37784 <geometry >186, 6, 22, 11</geometry>37841 <geometry >186, 5, 22, 11</geometry> 37785 37842 </mdElement> 37786 37843 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223048039_982323_517' > 37787 37844 <editable xmi.value = 'false' /> 37788 37845 <visible xmi.value = 'false' /> 37789 <geometry >184, 3 7, 26, 13</geometry>37846 <geometry >184, 38, 26, 13</geometry> 37790 37847 </mdElement> 37791 37848 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223048039_690263_519' > … … 37859 37916 <editable xmi.value = 'false' /> 37860 37917 <visible xmi.value = 'false' /> 37861 <geometry >337, 6 2, 22, 11</geometry>37918 <geometry >337, 60, 22, 11</geometry> 37862 37919 </mdElement> 37863 37920 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223427510_342009_587' > 37864 37921 <editable xmi.value = 'false' /> 37865 37922 <visible xmi.value = 'false' /> 37866 <geometry >335, 9 1, 26, 13</geometry>37923 <geometry >335, 93, 26, 13</geometry> 37867 37924 </mdElement> 37868 37925 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223427510_564294_589' > … … 37935 37992 <editable xmi.value = 'false' /> 37936 37993 <visible xmi.value = 'false' /> 37937 <geometry >3 35, 186, 22, 11</geometry>37994 <geometry >319, 170, 22, 11</geometry> 37938 37995 </mdElement> 37939 37996 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223461853_882230_618' > 37940 37997 <editable xmi.value = 'false' /> 37941 37998 <visible xmi.value = 'false' /> 37942 <geometry >31 1, 161, 26, 13</geometry>37999 <geometry >317, 203, 26, 13</geometry> 37943 38000 </mdElement> 37944 38001 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223461853_556966_620' > 37945 38002 <editable xmi.value = 'false' /> 37946 38003 <visible xmi.value = 'false' /> 37947 <geometry >31 2, 150, 22, 11</geometry>38004 <geometry >319, 214, 22, 11</geometry> 37948 38005 </mdElement> 37949 38006 <mdElement elementClass = 'RoleView' xmi.id = 'nicklas_1127223461853_5321_622' > … … 37961 38018 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223461853_987859_627' > 37962 38019 <visible xmi.value = 'false' /> 37963 <geometry >4 65, 195, 22, 11</geometry>38020 <geometry >449, 243, 22, 11</geometry> 37964 38021 </mdElement> 37965 38022 </mdOwnedViews> … … 37991 38048 <mdElement elementClass = 'AssociationTextBoxView' xmi.id = 'nicklas_1127223461854_84508_640' > 37992 38049 <visible xmi.value = 'false' /> 37993 <geometry >31 8, 186, 33, 11</geometry>38050 <geometry >314, 181, 33, 11</geometry> 37994 38051 </mdElement> 37995 38052 </mdOwnedViews> … … 38011 38068 <editable xmi.value = 'false' /> 38012 38069 <visible xmi.value = 'false' /> 38013 <geometry >495, 15 8, 22, 11</geometry>38070 <geometry >495, 150, 22, 11</geometry> 38014 38071 </mdElement> 38015 38072 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223559976_905203_674' > 38016 38073 <editable xmi.value = 'false' /> 38017 38074 <visible xmi.value = 'false' /> 38018 <geometry >493, 1 77, 26, 13</geometry>38075 <geometry >493, 183, 26, 13</geometry> 38019 38076 </mdElement> 38020 38077 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223559976_171663_676' > 38021 38078 <editable xmi.value = 'false' /> 38022 38079 <visible xmi.value = 'false' /> 38023 <geometry >495, 1 84, 22, 11</geometry>38080 <geometry >495, 194, 22, 11</geometry> 38024 38081 </mdElement> 38025 38082 <mdElement elementClass = 'RoleView' xmi.id = 'nicklas_1127223559976_861950_678' > … … 38058 38115 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223559976_963283_692' > 38059 38116 <visible xmi.value = 'false' /> 38060 <geometry >5 00, 166, 22, 11</geometry>38117 <geometry >516, 161, 22, 11</geometry> 38061 38118 </mdElement> 38062 38119 </mdOwnedViews> … … 38067 38124 <mdElement elementClass = 'AssociationTextBoxView' xmi.id = 'nicklas_1127223559976_70832_696' > 38068 38125 <visible xmi.value = 'false' /> 38069 <geometry >490, 16 4, 33, 11</geometry>38126 <geometry >490, 161, 33, 11</geometry> 38070 38127 </mdElement> 38071 38128 </mdOwnedViews> … … 38087 38144 <editable xmi.value = 'false' /> 38088 38145 <visible xmi.value = 'false' /> 38089 <geometry >559, 15 9, 22, 11</geometry>38146 <geometry >559, 150, 22, 11</geometry> 38090 38147 </mdElement> 38091 38148 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223722102_895695_848' > 38092 38149 <editable xmi.value = 'false' /> 38093 38150 <visible xmi.value = 'false' /> 38094 <geometry >557, 1 75, 26, 13</geometry>38151 <geometry >557, 183, 26, 13</geometry> 38095 38152 </mdElement> 38096 38153 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223722102_856744_850' > 38097 38154 <editable xmi.value = 'false' /> 38098 38155 <visible xmi.value = 'false' /> 38099 <geometry >559, 1 81, 22, 11</geometry>38156 <geometry >559, 194, 22, 11</geometry> 38100 38157 </mdElement> 38101 38158 <mdElement elementClass = 'RoleView' xmi.id = 'nicklas_1127223722102_17175_852' > … … 38134 38191 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223722103_92582_866' > 38135 38192 <visible xmi.value = 'false' /> 38136 <geometry >5 75, 221, 22, 11</geometry>38193 <geometry >580, 173, 22, 11</geometry> 38137 38194 </mdElement> 38138 38195 </mdOwnedViews> … … 38143 38200 <mdElement elementClass = 'AssociationTextBoxView' xmi.id = 'nicklas_1127223722103_246320_870' > 38144 38201 <visible xmi.value = 'false' /> 38145 <geometry >554, 16 4, 33, 11</geometry>38202 <geometry >554, 161, 33, 11</geometry> 38146 38203 </mdElement> 38147 38204 </mdOwnedViews> … … 38163 38220 <editable xmi.value = 'false' /> 38164 38221 <visible xmi.value = 'false' /> 38165 <geometry >457, 7, 22, 11</geometry>38222 <geometry >457, 6, 22, 11</geometry> 38166 38223 </mdElement> 38167 38224 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223780742_736861_879' > 38168 38225 <editable xmi.value = 'false' /> 38169 38226 <visible xmi.value = 'false' /> 38170 <geometry >455, 3 8, 26, 13</geometry>38227 <geometry >455, 39, 26, 13</geometry> 38171 38228 </mdElement> 38172 38229 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127223780742_773780_881' > … … 38258 38315 <editable xmi.value = 'false' /> 38259 38316 <visible xmi.value = 'false' /> 38260 <geometry >56 7, 16, 22, 11</geometry>38317 <geometry >566, 13, 22, 11</geometry> 38261 38318 </mdElement> 38262 38319 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127224126223_983061_934' > 38263 38320 <editable xmi.value = 'false' /> 38264 38321 <visible xmi.value = 'false' /> 38265 <geometry >5 55, 33, 26, 13</geometry>38322 <geometry >564, 46, 26, 13</geometry> 38266 38323 </mdElement> 38267 38324 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127224126223_195579_936' > 38268 38325 <editable xmi.value = 'false' /> 38269 38326 <visible xmi.value = 'false' /> 38270 <geometry >56 0, 56, 22, 11</geometry>38327 <geometry >566, 57, 22, 11</geometry> 38271 38328 </mdElement> 38272 38329 <mdElement elementClass = 'RoleView' xmi.id = 'nicklas_1127224126224_900846_938' > … … 38314 38371 <mdElement elementClass = 'AssociationTextBoxView' xmi.id = 'nicklas_1127224126224_545945_956' > 38315 38372 <visible xmi.value = 'false' /> 38316 <geometry >56 2, 28, 33, 11</geometry>38373 <geometry >561, 24, 33, 11</geometry> 38317 38374 </mdElement> 38318 38375 </mdOwnedViews> … … 39568 39625 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127893568535_934734_882' > 39569 39626 <visible xmi.value = 'false' /> 39570 <geometry >5 14, 313, 22, 11</geometry>39627 <geometry >535, 313, 22, 11</geometry> 39571 39628 </mdElement> 39572 39629 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127893568535_390889_884' > … … 39644 39701 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127893586720_478749_913' > 39645 39702 <visible xmi.value = 'false' /> 39646 <geometry >5 60, 313, 22, 11</geometry>39703 <geometry >581, 313, 22, 11</geometry> 39647 39704 </mdElement> 39648 39705 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1127893586720_365964_915' > … … 40755 40812 <editable xmi.value = 'false' /> 40756 40813 <visible xmi.value = 'false' /> 40757 <geometry >764, 24 8, 22, 11</geometry>40814 <geometry >764, 246, 22, 11</geometry> 40758 40815 </mdElement> 40759 40816 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1128084809797_703145_986' > 40760 40817 <editable xmi.value = 'false' /> 40761 40818 <visible xmi.value = 'false' /> 40762 <geometry >762, 27 8, 26, 13</geometry>40819 <geometry >762, 279, 26, 13</geometry> 40763 40820 </mdElement> 40764 40821 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1128084809797_111270_988' > 40765 40822 <editable xmi.value = 'false' /> 40766 40823 <visible xmi.value = 'false' /> 40767 <geometry >764, 2 89, 22, 11</geometry>40824 <geometry >764, 290, 22, 11</geometry> 40768 40825 </mdElement> 40769 40826 <mdElement elementClass = 'RoleView' xmi.id = 'nicklas_1128084809797_433293_990' > … … 40773 40830 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1128084809797_883831_991' > 40774 40831 <visible xmi.value = 'false' /> 40775 <geometry >7 43, 279, 22, 11</geometry>40832 <geometry >764, 279, 22, 11</geometry> 40776 40833 </mdElement> 40777 40834 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1128084809797_103651_993' > … … 40923 40980 <editable xmi.value = 'false' /> 40924 40981 <visible xmi.value = 'false' /> 40925 <geometry >331, 25 4, 26, 13</geometry>40982 <geometry >331, 255, 26, 13</geometry> 40926 40983 </mdElement> 40927 40984 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1130916331694_317707_622' > … … 40936 40993 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1130916331694_155655_625' > 40937 40994 <visible xmi.value = 'false' /> 40938 <geometry >4 28, 223, 22, 11</geometry>40995 <geometry >449, 223, 22, 11</geometry> 40939 40996 </mdElement> 40940 40997 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1130916331694_586306_627' > 40941 40998 <visible xmi.value = 'false' /> 40942 <geometry >4 28, 254, 22, 11</geometry>40999 <geometry >449, 254, 22, 11</geometry> 40943 41000 </mdElement> 40944 41001 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1130916331694_935485_629' > 40945 41002 <visible xmi.value = 'false' /> 40946 <geometry >4 28, 265, 22, 11</geometry>41003 <geometry >449, 265, 22, 11</geometry> 40947 41004 </mdElement> 40948 41005 </mdOwnedViews> … … 41023 41080 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1131020598062_994191_422' > 41024 41081 <visible xmi.value = 'false' /> 41025 <geometry >3 18, 367, 22, 11</geometry>41082 <geometry >339, 367, 22, 11</geometry> 41026 41083 </mdElement> 41027 41084 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1131020598062_868566_424' > 41028 41085 <visible xmi.value = 'false' /> 41029 <geometry >3 18, 398, 22, 11</geometry>41086 <geometry >339, 398, 22, 11</geometry> 41030 41087 </mdElement> 41031 41088 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1131020598062_21733_426' > 41032 41089 <visible xmi.value = 'false' /> 41033 <geometry >3 18, 409, 22, 11</geometry>41090 <geometry >339, 409, 22, 11</geometry> 41034 41091 </mdElement> 41035 41092 </mdOwnedViews> … … 41247 41304 <editable xmi.value = 'false' /> 41248 41305 <visible xmi.value = 'false' /> 41249 <geometry >733, 1 47, 22, 11</geometry>41306 <geometry >733, 130, 22, 11</geometry> 41250 41307 </mdElement> 41251 41308 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1143100423406_209015_459' > 41252 41309 <editable xmi.value = 'false' /> 41253 41310 <visible xmi.value = 'false' /> 41254 <geometry >7 08, 131, 26, 13</geometry>41311 <geometry >731, 163, 26, 13</geometry> 41255 41312 </mdElement> 41256 41313 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1143100423406_581859_461' > 41257 41314 <editable xmi.value = 'false' /> 41258 41315 <visible xmi.value = 'false' /> 41259 <geometry >7 09, 132, 22, 11</geometry>41316 <geometry >733, 174, 22, 11</geometry> 41260 41317 </mdElement> 41261 41318 <mdElement elementClass = 'RoleView' xmi.id = 'nicklas_1143100423406_262706_463' > … … 41265 41322 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1143100423406_493947_464' > 41266 41323 <visible xmi.value = 'false' /> 41267 <geometry > 694, 134, 22, 11</geometry>41324 <geometry >715, 134, 22, 11</geometry> 41268 41325 </mdElement> 41269 41326 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1143100423406_832924_466' > … … 41294 41351 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1143100423406_262824_477' > 41295 41352 <visible xmi.value = 'false' /> 41296 <geometry >7 95, 125, 22, 11</geometry>41353 <geometry >779, 173, 22, 11</geometry> 41297 41354 </mdElement> 41298 41355 </mdOwnedViews> … … 41303 41360 <mdElement elementClass = 'AssociationTextBoxView' xmi.id = 'nicklas_1143100423406_614619_481' > 41304 41361 <visible xmi.value = 'false' /> 41305 <geometry >728, 14 7, 33, 11</geometry>41362 <geometry >728, 141, 33, 11</geometry> 41306 41363 </mdElement> 41307 41364 </mdOwnedViews> … … 41311 41368 <associationFirstEndID xmi.idref = 'nicklas_1143100423406_262706_463' /> 41312 41369 <associationSecondEndID xmi.idref = 'nicklas_1143100423406_539905_472' /> 41370 </mdElement> 41371 <mdElement elementClass = 'ClassView' xmi.id = 'nicklas_1145341437468_822646_436' > 41372 <elementID xmi.idref = 'nicklas_1117789464231_29393_165' /> 41373 <properties > 41374 <mdElement elementClass = 'ColorProperty' > 41375 <propertyID >FILL_COLOR</propertyID> 41376 <value xmi.value = '-1' /> 41377 </mdElement> 41378 <mdElement elementClass = 'BooleanProperty' > 41379 <propertyID >SHOW_STEREOTYPE</propertyID> 41380 <value xmi.value = 'false' /> 41381 </mdElement> 41382 <mdElement elementClass = 'BooleanProperty' > 41383 <propertyID >SHOW_TAGGED_VALUES</propertyID> 41384 <value xmi.value = 'false' /> 41385 </mdElement> 41386 <mdElement elementClass = 'BooleanProperty' > 41387 <propertyID >SUPPRESS_CLASS_ATTRIBUTES</propertyID> 41388 <value xmi.value = 'true' /> 41389 </mdElement> 41390 </properties> 41391 <geometry >20, 320, 114, 22</geometry> 41392 </mdElement> 41393 <mdElement elementClass = 'AssociationView' xmi.id = 'nicklas_1145341486309_603719_461' > 41394 <elementID xmi.idref = 'nicklas_1145341486308_131572_460' /> 41395 <linkFirstEndID xmi.idref = 'nicklas_1127222919393_181238_328' /> 41396 <linkSecondEndID xmi.idref = 'nicklas_1145341437468_822646_436' /> 41397 <geometry >80, 158; 48, 158; 48, 320; </geometry> 41398 <linkNameID xmi.idref = 'nicklas_1145341486309_102642_486' /> 41399 <nameVisible xmi.value = 'true' /> 41400 <mdOwnedViews > 41401 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1145341486309_2041_462' > 41402 <editable xmi.value = 'false' /> 41403 <visible xmi.value = 'false' /> 41404 <geometry >37, 214, 22, 11</geometry> 41405 </mdElement> 41406 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1145341486309_405488_464' > 41407 <editable xmi.value = 'false' /> 41408 <visible xmi.value = 'false' /> 41409 <geometry >35, 232, 26, 13</geometry> 41410 </mdElement> 41411 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1145341486309_832666_466' > 41412 <editable xmi.value = 'false' /> 41413 <visible xmi.value = 'false' /> 41414 <geometry >37, 239, 22, 11</geometry> 41415 </mdElement> 41416 <mdElement elementClass = 'RoleView' xmi.id = 'nicklas_1145341486309_193942_468' > 41417 <elementID xmi.idref = 'nicklas_1145341486307_971567_458' /> 41418 <geometry >70, 153, 10, 10</geometry> 41419 <mdOwnedViews > 41420 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1145341486309_904990_469' > 41421 <geometry >10, 145, 68, 11</geometry> 41422 <text >-experiments</text> 41423 </mdElement> 41424 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1145341486309_802522_471' > 41425 <geometry >55, 160, 22, 11</geometry> 41426 <text >0..*</text> 41427 </mdElement> 41428 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1145341486309_963054_473' > 41429 <visible xmi.value = 'false' /> 41430 <geometry >48, 179, 22, 11</geometry> 41431 </mdElement> 41432 </mdOwnedViews> 41433 <roleNameID xmi.idref = 'nicklas_1145341486309_904990_469' /> 41434 <roleMultiplicityID xmi.idref = 'nicklas_1145341486309_802522_471' /> 41435 <roleConstraintsID xmi.idref = 'nicklas_1145341486309_963054_473' /> 41436 </mdElement> 41437 <mdElement elementClass = 'RoleView' xmi.id = 'nicklas_1145341486309_687601_477' > 41438 <elementID xmi.idref = 'nicklas_1145341486308_238675_459' /> 41439 <geometry >43, 310, 10, 10</geometry> 41440 <mdOwnedViews > 41441 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1145341486309_876163_478' > 41442 <geometry >17, 305, 109, 11</geometry> 41443 <text >+experimentalFactors</text> 41444 </mdElement> 41445 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1145341486309_683668_480' > 41446 <geometry >22, 290, 22, 11</geometry> 41447 <text >0..*</text> 41448 </mdElement> 41449 <mdElement elementClass = 'TextBoxView' xmi.id = 'nicklas_1145341486309_920023_482' > 41450 <visible xmi.value = 'false' /> 41451 <geometry >58, 288, 22, 11</geometry> 41452 </mdElement> 41453 </mdOwnedViews> 41454 <roleNameID xmi.idref = 'nicklas_1145341486309_876163_478' /> 41455 <roleMultiplicityID xmi.idref = 'nicklas_1145341486309_683668_480' /> 41456 <roleConstraintsID xmi.idref = 'nicklas_1145341486309_920023_482' /> 41457 </mdElement> 41458 <mdElement elementClass = 'AssociationTextBoxView' xmi.id = 'nicklas_1145341486309_102642_486' > 41459 <visible xmi.value = 'false' /> 41460 <geometry >32, 214, 33, 11</geometry> 41461 </mdElement> 41462 </mdOwnedViews> 41463 <linkConstraintID xmi.idref = 'nicklas_1145341486309_2041_462' /> 41464 <linkStereotypeID xmi.idref = 'nicklas_1145341486309_405488_464' /> 41465 <linkTaggedValuesID xmi.idref = 'nicklas_1145341486309_832666_466' /> 41466 <associationFirstEndID xmi.idref = 'nicklas_1145341486309_193942_468' /> 41467 <associationSecondEndID xmi.idref = 'nicklas_1145341486309_687601_477' /> 41313 41468 </mdElement> 41314 41469 </mdOwnedViews> … … 41322 41477 <favoriteElements xmi.value = '' /> 41323 41478 <browserVisible xmi.value = 'true' /> 41324 <browserBounds >1, 1, 34 5, 860</browserBounds>41479 <browserBounds >1, 1, 344, 860</browserBounds> 41325 41480 <browserDividerLocation xmi.value = '550' /> 41326 41481 </options> -
trunk/src/core/common-queries.xml
r2142 r2164 962 962 </description> 963 963 </query> 964 965 <query id="COUNT_EXPERIMENTS_FOR_ANNOTATIONTYPE" type="HQL"> 966 <sql> 967 SELECT count(*) 968 FROM ExperimentData exp 969 JOIN exp.experimentalFactors ef 970 WHERE ef = :annotationType 971 </sql> 972 <description> 973 A Hibernate query that counts the number of experiments 974 where the given annotation type is used as an experimental factor. 975 </description> 976 </query> 964 977 965 978 <query id="COUNT_SAMPLES_FOR_BIOSOURCE" type="HQL"> … … 1656 1669 </query> 1657 1670 1671 <query id="GET_PRIMARY_ANNOTATION" type="HQL"> 1672 <sql> 1673 SELECT ad 1674 FROM AnnotationData ad 1675 WHERE ad.annotationType = :annotationType 1676 AND ad.annotationSet = :annotationSet 1677 </sql> 1678 <description> 1679 A Hibernate query that loads the primary annotation of a specific 1680 annotation type for a given annotation set. 1681 </description> 1682 </query> 1683 1684 <query id="GET_DIRECTLY_INHERITED_ANNOTATION" type="HQL"> 1685 <sql> 1686 SELECT ad 1687 FROM AnnotationData ad 1688 JOIN ad.inheritingSets ans 1689 WHERE ad.annotationType = :annotationType 1690 AND ans = :annotationSet 1691 </sql> 1692 <description> 1693 A Hibernate query that loads an directly inherited annotation of a specific 1694 annotation type for a given annotation set. A directly inhertited annotation 1695 is an annotation that is linked to the specified annotation set. 1696 </description> 1697 </query> 1698 1699 <query id="GET_INDIRECTLY_INHERITED_ANNOTATION" type="HQL"> 1700 <sql> 1701 SELECT ad 1702 FROM AnnotationData ad 1703 JOIN ad.annotationSet.inheritingSets ians 1704 WHERE ad.annotationType = :annotationType 1705 AND ians = :annotationSet 1706 </sql> 1707 <description> 1708 A Hibernate query that loads an indirectly inherited annotation of a specific 1709 annotation type for a given annotation set. An indirectly inhertied annotation 1710 is an annotation which belongs to an annotation set which is inhertited by 1711 the given annotation set. 1712 </description> 1713 </query> 1714 1658 1715 </predefined-queries> -
trunk/src/core/net/sf/basedb/core/AnnotationSet.java
r2098 r2164 28 28 import net.sf.basedb.core.query.Hql; 29 29 30 import net.sf.basedb.core.data.AnnotationData; 30 31 import net.sf.basedb.core.data.AnnotationSetData; 31 32 … … 205 206 and the annotation type isn't valid for this type of item 206 207 @throws BaseException If there is another error 208 @see #findAnnotation(AnnotationType) 207 209 */ 208 210 public Annotation getAnnotation(AnnotationType annotationType) … … 239 241 240 242 /** 243 Find an annotation of the specified annotation type among all annotations 244 including the inherted annotations. This method will first search for the 245 annotation in the following order: 246 <ol> 247 <li>The primary annotations 248 <li>The inherited annotations 249 <li>The inherited annotation sets 250 </ol> 251 If no annotation of the specified type is found, null is returned. 252 If more than one annotation of the specified type exists only the first 253 one found is returned. 254 255 @param annotationType The annotation type to look for 256 @return An <code>Annotation</code> object or null 257 */ 258 public Annotation findAnnotation(AnnotationType annotationType) 259 throws PermissionDeniedException 260 { 261 if (annotationType == null) throw new InvalidUseOfNullException("annotationType"); 262 263 Annotation a = null; 264 AnnotationData ad = null; 265 266 org.hibernate.Session session = getDbControl().getHibernateSession(); 267 268 // Find primary annotation 269 org.hibernate.Query query = HibernateUtil.getPredefinedQuery(session, "GET_PRIMARY_ANNOTATION"); 270 /* 271 SELECT ad 272 FROM AnnotationData ad 273 WHERE ad.annotationType = :annotationType 274 AND ad.annotationSet = :annotationSet 275 */ 276 query.setEntity("annotationType", annotationType.getData()); 277 query.setEntity("annotationSet", this.getData()); 278 ad = HibernateUtil.loadData(AnnotationData.class, query); 279 280 if (ad == null) 281 { 282 // Find inherited 283 query = HibernateUtil.getPredefinedQuery(session, "GET_DIRECTLY_INHERITED_ANNOTATION"); 284 /* 285 SELECT ad 286 FROM AnnotationData ad 287 JOIN ad.inheritingSets ans 288 WHERE ad.annotationType = :annotationType 289 AND ans = :annotationSet 290 */ 291 query.setEntity("annotationType", annotationType.getData()); 292 query.setEntity("annotationSet", this.getData()); 293 ad = HibernateUtil.loadData(AnnotationData.class, query); 294 } 295 296 if (ad == null) 297 { 298 // Find among inherited annotation sets 299 query = HibernateUtil.getPredefinedQuery(session, "GET_INDIRECTLY_INHERITED_ANNOTATION"); 300 /* 301 SELECT ad 302 FROM AnnotationData ad 303 JOIN ad.annotationSet.inheritingSets ians 304 WHERE ad.annotationType = :annotationType 305 AND ians = :annotationSet 306 */ 307 query.setEntity("annotationType", annotationType.getData()); 308 query.setEntity("annotationSet", this.getData()); 309 ad = HibernateUtil.loadData(AnnotationData.class, query); 310 } 311 312 if (ad != null) 313 { 314 a = getDbControl().getItem(Annotation.class, ad); 315 } 316 return a; 317 } 318 319 /** 241 320 Delete the annotation of the specified annotation type. 242 321 @param annotationType The type of the annotation to delete … … 260 339 261 340 /** 262 Get a query that reurns all directannotations in this annotation341 Get a query that reurns all primary annotations in this annotation 263 342 set. 264 343 @return An <code>ItemQuery</code> object -
trunk/src/core/net/sf/basedb/core/AnnotationType.java
r1795 r2164 160 160 { 161 161 org.hibernate.Session session = getDbControl().getHibernateSession(); 162 org.hibernate.Query query = HibernateUtil.getPredefinedQuery(session, "COUNT_ANNOTATIONS_FOR_ANNOTATIONTYPE"); 163 /* 164 SELECT count(*) 165 FROM AnnotationData a 166 WHERE a.annotationType = :annotationType 167 */ 168 query.setEntity("annotationType", this.getData()); 169 return HibernateUtil.loadData(Integer.class, query) > 0; 162 boolean used = false; 163 164 if (!used) 165 { 166 org.hibernate.Query query = HibernateUtil.getPredefinedQuery(session, "COUNT_ANNOTATIONS_FOR_ANNOTATIONTYPE"); 167 /* 168 SELECT count(*) 169 FROM AnnotationData a 170 WHERE a.annotationType = :annotationType 171 */ 172 query.setEntity("annotationType", this.getData()); 173 used = HibernateUtil.loadData(Integer.class, query) > 0; 174 } 175 if (!used) 176 { 177 org.hibernate.Query query = HibernateUtil.getPredefinedQuery(session, "COUNT_EXPERIMENTS_FOR_ANNOTATIONTYPE"); 178 /* 179 SELECT count(*) 180 FROM ExperimentData exp 181 JOIN exp.experimentalFactors ef 182 WHERE ef = :annotationType 183 */ 184 query.setEntity("annotationType", this.getData()); 185 used = HibernateUtil.loadData(Integer.class, query) > 0; 186 } 187 return used; 170 188 } 171 189 // ------------------------------------------- -
trunk/src/core/net/sf/basedb/core/Experiment.java
r1795 r2164 581 581 } 582 582 583 584 /** 585 Add an annotation type as an experimental factor to this experiment. 586 @param annotationType The annotation type to add to this experiment 587 @throws PermissionDeniedException If the 588 logged in user doesn't have {@link Permission#WRITE} 589 permission for the experiment and {@link Permission#USE} 590 for the annotation type 591 @throws InvalidDataException If the annotationType is null 592 */ 593 public void addExperimentalFactor(AnnotationType annotationType) 594 throws PermissionDeniedException, InvalidDataException 595 { 596 checkPermission(Permission.WRITE); 597 if (annotationType == null) throw new InvalidUseOfNullException("annotationType"); 598 annotationType.checkPermission(Permission.USE); 599 getData().getExperimentalFactors().add(annotationType.getData()); 600 } 601 602 /** 603 Remove an annotation type from the experimental factors for this experiment. 604 @param annotationType The annotation type to remove from this experiment 605 @throws PermissionDeniedException If the 606 logged in user doesn't have {@link Permission#WRITE} 607 permission for the experiment 608 @throws InvalidDataException If the annotationType is null 609 */ 610 public void removeExperimentalFactor(AnnotationType annotationType) 611 throws PermissionDeniedException, InvalidDataException 612 { 613 checkPermission(Permission.WRITE); 614 if (annotationType == null) throw new InvalidUseOfNullException("annotationType"); 615 getData().getExperimentalFactors().remove(annotationType.getData()); 616 } 617 618 619 /** 620 Get a query that returns all annotation types used as experimental factors 621 for this experiment. 622 @return An <code>ItemQuery</code> object 623 */ 624 public ItemQuery<AnnotationType> getExperimentalFactors() 625 { 626 ItemQuery<AnnotationType> query = AnnotationType.getQuery(null); 627 query.joinPermanent(Hql.innerJoin("experiments", Item.EXPERIMENT.getAlias())); 628 query.restrictPermanent( 629 Restrictions.eq( 630 Hql.alias(Item.EXPERIMENT.getAlias()), 631 Hql.entity(this) 632 ) 633 ); 634 return query; 635 } 583 636 } -
trunk/src/core/net/sf/basedb/core/Install.java
r2163 r2164 93 93 method. 94 94 */ 95 private static final int NEW_SCHEMA_VERSION = 2;95 private static final int NEW_SCHEMA_VERSION = 3; 96 96 97 97 public static synchronized void createTables(boolean update, final ProgressReporter progress) … … 1771 1771 if (pd != null) 1772 1772 { 1773 pd.loadPluginInformation( className, jarPath);1773 pd.loadPluginInformation(jarPath, className); 1774 1774 dc.commit(); 1775 1775 log.info("createPluginDefinition: UPDATED [className="+className+"; jarPath="+jarPath+"]"); -
trunk/src/core/net/sf/basedb/core/Update.java
r2146 r2164 51 51 </td> 52 52 </tr> 53 54 <tr> 55 <td>3</td> 56 <td> 57 <ul> 58 <li>Added {@link ExperimentData#getExperimentalFactors()}. 59 No need to update existing values. 60 </ul> 61 </td> 62 </tr> 53 63 </table> 54 64 … … 81 91 throws BaseException 82 92 { 83 final int total_progress_steps = 2;93 final int total_progress_steps = 3; 84 94 final float progress_factor = 100 / total_progress_steps; 85 95 if (progress != null) progress.display(0, "Updating database..."); … … 105 115 } 106 116 117 if (schemaVersion < 3) 118 { 119 if (progress != null) progress.display((int)(2*progress_factor), "--Updating to schema version 3..."); 120 setSchemaVersionInTransaction(3); 121 } 122 107 123 /* 108 if (schemaVersion < 3) 109 { 110 schemaVersion = updateToSchemaVersion3(); 124 if (schemaVersion < 4) 125 { 126 schemaVersion = updateToSchemaVersion4(); 127 - or - 128 setSchemaVersionInTransaction(4); 111 129 } 112 130 ... etc... … … 164 182 { 165 183 org.hibernate.Query query = HibernateUtil.getPredefinedQuery(session, "SET_SCHEMA_VERSION"); 166 query.setInteger("schemaVersion", 2);184 query.setInteger("schemaVersion", schemaVersion); 167 185 query.setInteger("build", Application.getBuild()); 168 186 HibernateUtil.executeUpdate(query); 187 } 188 189 /** 190 Update the schema version version number using a new transaction. 191 @param schemaVersion The new schema version number 192 */ 193 private static void setSchemaVersionInTransaction(int schemaVersion) 194 { 195 org.hibernate.Transaction tx = null; 196 try 197 { 198 tx = HibernateUtil.newTransaction(session); 199 setSchemaVersion(schemaVersion); 200 HibernateUtil.commit(tx); 201 } 202 catch (BaseException ex) 203 { 204 if (tx != null) HibernateUtil.rollback(tx); 205 log.error("setSchemaVersion: FAILED", ex); 206 throw ex; 207 } 169 208 } 170 209 -
trunk/src/core/net/sf/basedb/core/data/AnnotationTypeData.java
r871 r2164 205 205 } 206 206 207 private Set<ExperimentData> experiments; 208 /** 209 This is the inverse end. 210 @see ExperimentData#getExperimentalFactors() 211 @hibernate.set table="`ExperimentalFactors`" lazy="true" inverse="true" 212 @hibernate.collection-key column="`annotationtype_id`" 213 @hibernate.collection-many-to-many column="`experiment_id`" class="net.sf.basedb.core.data.ExperimentData" 214 */ 215 public Set<ExperimentData> getExperiments() 216 { 217 return experiments; 218 } 219 void setExperiments(Set<ExperimentData> experiments) 220 { 221 this.experiments = experiments; 222 } 207 223 } -
trunk/src/core/net/sf/basedb/core/data/ExperimentData.java
r1527 r2164 282 282 } 283 283 284 private Set<AnnotationTypeData> experimentalFactors; 285 /** 286 The annotation types which describes the experimental factors for this experiment. 287 @hibernate.set table="`ExperimentalFactors`" lazy="true" 288 @hibernate.collection-key column="`experiment_id`" 289 @hibernate.collection-many-to-many column="`annotationtype_id`" class="net.sf.basedb.core.data.AnnotationTypeData" 290 */ 291 public Set<AnnotationTypeData> getExperimentalFactors() 292 { 293 if (experimentalFactors == null) 294 { 295 experimentalFactors = new HashSet<AnnotationTypeData>(); 296 } 297 return experimentalFactors; 298 } 299 void setExperimentalFactors(Set<AnnotationTypeData> experimentalFactors) 300 { 301 this.experimentalFactors = experimentalFactors; 302 } 284 303 } -
trunk/www/views/experiments/edit_experiment.jsp
r1777 r2164 35 35 import="net.sf.basedb.core.Experiment" 36 36 import="net.sf.basedb.core.RawBioAssay" 37 import="net.sf.basedb.core.AnnotationType" 37 38 import="net.sf.basedb.core.RawDataType" 38 39 import="net.sf.basedb.core.RawDataTypes" … … 101 102 return true; 102 103 } 104 105 // Validate the "Experimental factors" tab 106 function validateExperimentalFactors() 107 { 108 return true; 109 } 103 110 104 111 // Submit the form … … 110 117 frm.addedRawBioAssays.value = Link.getActionIds(1, 'R').join(','); 111 118 frm.removedRawBioAssays.value = Link.getActionIds(-1, 'R').join(','); 119 120 frm.addedAnnotationTypes.value = Link.getActionIds(1, 'A').join(','); 121 frm.removedAnnotationTypes.value = Link.getActionIds(-1, 'A').join(','); 122 112 123 frm.submit(); 113 124 } … … 124 135 url += '&filter:STRING:rawDataType='+rawDataType; 125 136 url += '&filter:INT:spots=>0'; 126 Main.openPopup(url, 'AddRawBioAssays', 800, 600);137 Main.openPopup(url, 'AddRawBioAssays', 1000, 700); 127 138 } 128 139 function addRawBioAssayCallback(rawBioAssayId, name) … … 132 143 Link.addItem(document.forms['experiment'].rawBioAssays, item); 133 144 } 134 function remove OnClick()145 function removeRawBioAssaysOnClick() 135 146 { 136 147 Link.removeSelected(document.forms['experiment'].rawBioAssays); 148 } 149 150 function addAnnotationTypesOnClick() 151 { 152 var frm = document.forms['experiment']; 153 var ids = Link.getListIds(frm.annotationTypes, 'A'); 154 var excludes = ids.join(','); 155 var url = '../../admin/annotationtypes/index.jsp?ID=<%=ID%>&cmd=UpdateContext&mode=selectmultiple&callback=addAnnotationTypeCallback'; 156 url += "&exclude="+excludes; 157 Main.openPopup(url, 'AddAnnotationTypes', 1000, 700); 158 } 159 function addAnnotationTypeCallback(annotationTypeId, name) 160 { 161 var item = Link.getItem('A', annotationTypeId); 162 if (!item) item = new Item('A', annotationTypeId, name); 163 Link.addItem(document.forms['experiment'].annotationTypes, item); 164 } 165 function removeAnnotationTypesOnClick() 166 { 167 Link.removeSelected(document.forms['experiment'].annotationTypes); 137 168 } 138 169 … … 161 192 %> 162 193 Link.addNewItem(rawBioAssays, new Item('R', <%=rba.getId()%>, '<%=HTML.javaScriptEncode(rba.getName())%>')); 194 <% 195 } 196 %> 197 var annotationTypes = frm.annotationTypes; 198 <% 199 ItemQuery<AnnotationType> efQuery = experiment.getExperimentalFactors(); 200 efQuery.include(Include.MINE, Include.SHARED, Include.OTHERS, Include.IN_PROJECT); 201 efQuery.order(Orders.asc(Hql.property("name"))); 202 ItemResultList<AnnotationType> experimentalFactors = efQuery.list(dc); 203 for (AnnotationType at : experimentalFactors) 204 { 205 %> 206 Link.addNewItem(annotationTypes, new Item('A', <%=at.getId()%>, '<%=HTML.javaScriptEncode(at.getName())%>')); 163 207 <% 164 208 } … … 251 295 /></td></tr> 252 296 <tr><td width="150"><base:button 253 onclick="remove OnClick()"297 onclick="removeRawBioAssaysOnClick()" 254 298 title="Remove" 255 299 tooltip="Remove the selected raw bioassays" … … 338 382 <a href="javascript:Main.zoom('Publication', 'experiment', 'publication')" 339 383 title="Edit in larger window"><base:icon image="zoom.gif" /></a> 384 </td> 385 </tr> 386 </table> 387 </t:tab> 388 389 <t:tab id="experimentalFactors" title="Experimental factors" validate="validateExperimentalFactors()"> 390 <table class="form" cellspacing=0> 391 392 <tr valign="top"> 393 <td class="prompt">Annotation types</td> 394 <td> 395 <table border="0" cellspacing="0" cellpadding="0"> 396 <tr valign="top"> 397 <td> 398 <select name="annotationTypes" size="10" multiple style="width: 20em;"> 399 </select> 400 <input type="hidden" name="addedAnnotationTypes" value=""> 401 <input type="hidden" name="removedAnnotationTypes" value=""> 402 </td> 403 <td> 404 <table border="0"> 405 <tr><td width="150"><base:button 406 onclick="addAnnotationTypesOnClick()" 407 title="Add annotation types…" 408 tooltip="Add annotation types" 409 /></td></tr> 410 <tr><td width="150"><base:button 411 onclick="removeAnnotationTypesOnClick()" 412 title="Remove" 413 tooltip="Remove the selected annotation types" 414 /></td></tr> 415 </table> 416 </td> 417 </tr> 418 </table> 340 419 </td> 341 420 </tr> -
trunk/www/views/experiments/index.jsp
r1789 r2164 33 33 import="net.sf.basedb.core.Experiment" 34 34 import="net.sf.basedb.core.RawBioAssay" 35 import="net.sf.basedb.core.AnnotationType" 35 36 import="net.sf.basedb.core.RawDataType" 36 37 import="net.sf.basedb.core.RawDataTypes" … … 171 172 if (rawBioAssayId != -1) experiment.addRawBioAssay(RawBioAssay.getById(dc, rawBioAssayId)); 172 173 } 174 175 String[] removeAnnotationTypes = Values.getString(request.getParameter("removedAnnotationTypes")).split(","); 176 for (int i = 0; i < removeAnnotationTypes.length; ++i) 177 { 178 int annotationTypeId = Values.getInt(removeAnnotationTypes[i], -1); 179 if (annotationTypeId != -1) experiment.removeExperimentalFactor(AnnotationType.getById(dc, annotationTypeId)); 180 } 181 182 String[] addAnnotationTypes = Values.getString(request.getParameter("addedAnnotationTypes")).split(","); 183 for (int i = 0; i < addAnnotationTypes.length; ++i) 184 { 185 int annotationTypeId = Values.getInt(addAnnotationTypes[i], -1); 186 if (annotationTypeId != -1) experiment.addExperimentalFactor(AnnotationType.getById(dc, annotationTypeId)); 187 } 173 188 174 189 dc.commit(); -
trunk/www/views/experiments/view_experiment.jsp
r2097 r2164 34 34 import="net.sf.basedb.core.Experiment" 35 35 import="net.sf.basedb.core.RawBioAssay" 36 import="net.sf.basedb.core.AnnotationType" 37 import="net.sf.basedb.core.AnnotationSet" 38 import="net.sf.basedb.core.Annotation" 36 39 import="net.sf.basedb.core.User" 37 40 import="net.sf.basedb.core.ItemQuery" … … 268 271 269 272 <% 273 ItemQuery<AnnotationType> efQuery = experiment.getExperimentalFactors(); 274 efQuery.include(Include.MINE, Include.SHARED, Include.OTHERS, Include.IN_PROJECT); 275 efQuery.order(Orders.asc(Hql.property("name"))); 276 ItemResultList<AnnotationType> experimentalFactors = efQuery.list(dc); 277 if (experimentalFactors.size() == 0) 278 { 279 %> 280 <h4>Experimental factors</h4> 281 No experimental factors has been added to this experiment 282 (or, you don't have permission to view them). 283 <% 284 } 285 else 286 { 287 %> 288 <h4 class="docked">Experimental factors</h4> 289 <tbl:table 290 id="experimentalFactors" 291 clazz="itemlist" 292 columns="all" 293 > 294 <tbl:columndef 295 id="name" 296 title="Name" 297 /> 298 <tbl:columndef 299 id="values" 300 title="Enumeration" 301 /> 302 <tbl:columndef 303 id="description" 304 title="Description" 305 /> 306 <tbl:data> 307 <tbl:columns> 308 </tbl:columns> 309 <tbl:rows> 310 <% 311 String link = "../../admin/annotationtypes/index.jsp?ID="+ID; 312 for (AnnotationType item : experimentalFactors) 313 { 314 %> 315 <tbl:row> 316 <tbl:cell column="name"><%=Base.getEncodedName(item, false, link)%></tbl:cell> 317 <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell> 318 <tbl:cell column="values"> 319 <%=item.isEnumeration() ? 320 HTML.encodeTags(Values.getString(item.getValues(), ", ", true)) : 321 "<i>- no -</i>"%> 322 </tbl:cell> 323 </tbl:row> 324 <% 325 } 326 %> 327 </tbl:rows> 328 </tbl:data> 329 </tbl:table> 330 <% 331 } 332 %> 333 334 <% 270 335 ItemQuery<RawBioAssay> rbaQuery = experiment.getRawBioAssays(); 271 336 rbaQuery.include(Include.MINE, Include.SHARED, Include.OTHERS, Include.IN_PROJECT); … … 297 362 title="Description" 298 363 /> 364 <% 365 for (AnnotationType at : experimentalFactors) 366 { 367 %> 368 <tbl:columndef 369 id="<%="at"+at.getId()%>" 370 title="<%=HTML.encodeTags(at.getName())+" [EF]"%>" 371 /> 372 <% 373 } 374 %> 375 299 376 <tbl:data> 300 377 <tbl:columns> … … 305 382 for (RawBioAssay item : rawBioAssays) 306 383 { 384 AnnotationSet as = item.isAnnotated() ? item.getAnnotationSet() : null; 307 385 %> 308 386 <tbl:row> 309 387 <tbl:cell column="name"><%=Base.getEncodedName(item, false, link)%></tbl:cell> 310 388 <tbl:cell column="description"><%=HTML.encodeTags(item.getDescription())%></tbl:cell> 389 <% 390 for (AnnotationType at : experimentalFactors) 391 { 392 393 String value = "<i>- none -</i>"; 394 if (as != null) 395 { 396 Annotation a = as.findAnnotation(at); 397 if (a != null) 398 { 399 value = Values.getString(a.getValues(), ", ", true); 400 } 401 } 402 %> 403 <tbl:cell column="<%="at"+at.getId()%>"><%=value%></tbl:cell> 404 <% 405 } 406 %> 311 407 </tbl:row> 312 408 <%
Note: See TracChangeset
for help on using the changeset viewer.