Exemplo n.º 1
0
        public TraceLink(IDecision decision, IEAConnector connector)
        {
            IEAElement tracedElement = (connector.ClientId == decision.ID)
                                           ? connector.GetSupplier()
                                           : connector.GetClient();

            TracedElementGUID = tracedElement.GUID;
            TracedElementName = tracedElement.Name;
            ConnectorGUID     = connector.GUID;
        }
Exemplo n.º 2
0
        public void EA_ConnectorTests()
        {
            // Properties

            {
                IEAConnector connect = _e.GetForcesDecisionConnector();
                Assert.IsTrue("ControlFlow" == connect.Type);
                Assert.IsTrue(EAConstants.RelationAlternativeFor == connect.Stereotype);
                Assert.IsTrue(0 < connect.SupplierId);
                Assert.IsTrue(0 < connect.ClientId);
                Assert.IsTrue(EAConstants.RelationMetaType == connect.MetaType);
                List <IEAConnectorTag> tags = connect.TaggedValues;
                Assert.IsTrue(!tags.Any());
            }

            // Operations

            {
                // GetSupplier / GetClient
                IEAConnector connect  = _e.GetForcesDecisionConnector();
                IEAElement   supplier = connect.GetSupplier();
                Assert.IsNotNull(supplier);
                Assert.IsTrue(connect.SupplierId == supplier.ID);
                IEAElement client = connect.GetClient();
                Assert.IsNotNull(client);
                Assert.IsTrue(connect.ClientId == client.ID);
            }

            /* TODO: adjust for Decision Architect MDG
             * {  // IsRelationship
             *  IEAConnector connect = _e.GetRelationshipDecisionConnector();
             *  Assert.IsTrue(connect.IsRelationship());
             * }
             *
             * {  // IsAction
             *  IEAConnector connect = _e.GetStakeholderDecisionConnector();
             *  Assert.IsTrue(connect.IsAction());
             * }
             *
             * {  // AddTaggedValue / TaggedValueExists / RemoveTaggedValue
             *  string taggedValueLabel = "MyTaggedValue";
             *  string taggedValueData = "my data";
             *  IEAConnector connect = _e.GetChronologyDecisionConnector();
             *  Assert.IsFalse(connect.TaggedValueExists(taggedValueLabel));
             *  connect.AddTaggedValue(taggedValueLabel, taggedValueData);
             *  Assert.IsTrue(connect.TaggedValueExists(taggedValueLabel));
             *  Assert.IsTrue(connect.TaggedValueExists(taggedValueLabel, taggedValueData));
             *  connect.RemoveTaggedValue(taggedValueLabel, taggedValueData);
             *  Assert.IsFalse(connect.TaggedValueExists(taggedValueLabel));
             * }
             */
        }
Exemplo n.º 3
0
 public override bool ValidateConnector(IEAConnector connector)
 {
     if (_relationType.Count == 0 || _relationType.Contains(connector.Stereotype))
     {
         if (_clientState.Count == 0 || _clientState.Contains(connector.GetClient().Stereotype))
         {
             if (_supplierState.Count == 0 ||
                 _supplierState.Contains(connector.GetSupplier().Stereotype))
             {
                 return(false);
             }
         }
     }
     return(true);
 }
        public void ValidateConectorUsingRuleID(Repository repository, string ruleID, IEAConnector connector)
        {
            Project      project = repository.GetProjectInterface();
            AbstractRule rule    = _lookup[ruleID];

            if (rule != null && rule.GetRuleType() == RuleType.Connector)
            {
                string message;
                if (!rule.Validate(connector, out message))
                {
                    string supplierStereotype = connector.GetSupplier().Stereotype;
                    string clientStereotype   = connector.GetClient().Stereotype;
                    string errorMessage       = string.Format(Messages.ModelValidationConnectorMessage, message,
                                                              clientStereotype,
                                                              supplierStereotype, connector.Stereotype);
                    project.PublishResult(ruleID, EnumMVErrorType.mvError, errorMessage);
                }
            }
        }