Exemplo n.º 1
0
 public StakeholderAction(IDecision decision, IEAConnector connector)
 {
     Stakeholder      = Model.Stakeholder.Load(connector.GetClient());
     Action           = connector.Stereotype;
     ConnectorGUID    = connector.GUID;
     Decision         = decision;
     PropertyChanged += OnPropertyChanged;
 }
Exemplo n.º 2
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.º 3
0
        public DecisionRelation(IDecision decision, IEAConnector eaConnector)
        {
            IEAElement client = eaConnector.GetClient();

            Direction = client.GUID.Equals(decision.GUID)
                            ? DecisionRelationDirection.Incoming
                            : DecisionRelationDirection.Outgoing;

            Decision     = decision;
            RelationGUID = eaConnector.GUID;
            Type         = eaConnector.Stereotype;
        }
Exemplo n.º 4
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.º 5
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);
                }
            }
        }
        public void EA_ElementTests()
        {
            // Properties
            {
                Element element = _e.GetDecisionPackageElement();
                Assert.IsTrue("" != element.Abstract);
                Assert.IsTrue("" == element.ActionFlags);
                Assert.IsTrue("" == element.Alias);
                Assert.IsTrue(0 == element.AssociationClassConnectorID);
                Assert.IsTrue(0 == element.Attributes.Count);
                Assert.IsTrue(0 == element.AttributesEx.Count);
                Assert.IsTrue("" != element.Author);
                Assert.IsTrue(0 == element.BaseClasses.Count);
                Assert.IsTrue(0 == element.ClassfierID);
                Assert.IsTrue(0 == element.ClassifierID);
                Assert.IsTrue("" == element.ClassifierName);
                Assert.IsTrue("" == element.ClassifierType);
                Assert.IsTrue("" != element.Complexity);
                Assert.IsNull(element.CompositeDiagram);
                Assert.IsTrue(0 < element.Connectors.Count);
                Assert.IsTrue(0 == element.Constraints.Count);
                Assert.IsTrue(0 == element.ConstraintsEx.Count);
                Assert.IsTrue(DateTime.Now > element.Created);
                Assert.IsTrue(0 < element.CustomProperties.Count);
                Assert.IsTrue(0 < element.Diagrams.Count);
                Assert.IsTrue("" == element.Difficulty);
                Assert.IsTrue(0 == element.Efforts.Count);
                Assert.IsTrue("" != element.ElementGUID);
                Assert.IsTrue(0 < element.ElementID);
                Assert.IsTrue(0 < element.Elements.Count);
                Assert.IsTrue(0 == element.EmbeddedElements.Count);
                Assert.IsTrue("" == element.EventFlags);
                Assert.IsTrue("" == element.ExtensionPoints);
                Assert.IsTrue(0 == element.Files.Count);
                Assert.IsTrue("" == element.Genfile);
                Assert.IsTrue("" == element.Genlinks);
                Assert.IsTrue("" != element.Gentype);
                Assert.IsTrue("" == element.Header1);
                Assert.IsTrue("" == element.Header2);
                Assert.IsFalse(element.IsActive);
                Assert.IsFalse(element.IsComposite);
                Assert.IsFalse(element.IsLeaf);
                Assert.IsTrue(element.IsNew);
                Assert.IsFalse(element.IsSpec);
                Assert.IsTrue(0 == element.Issues.Count);
                Assert.IsFalse(element.Locked);
                Assert.IsTrue("" != element.MetaType);
                Assert.IsTrue(0 == element.Methods.Count);
                Assert.IsTrue(0 == element.MethodsEx.Count);
                Assert.IsTrue(0 == element.Metrics.Count);
                Assert.IsTrue("" == element.MiscData[0]);
                Assert.IsTrue(DateTime.Now > element.Modified);
                Assert.IsTrue("" == element.Multiplicity);
                Assert.IsTrue("" != element.Name);
                Assert.IsTrue("" == element.Notes);
                Assert.IsTrue(ObjectType.otElement == element.ObjectType);
                Assert.IsTrue(0 < element.PackageID);
                Assert.IsTrue(0 == element.ParentID);
                Assert.IsTrue(0 == element.Partitions.Count);
                Assert.IsTrue("" == element.Persistence);
                Assert.IsTrue("" != element.Phase);
                Assert.IsTrue("" == element.Priority);
                Assert.IsNotNull(element.Properties);
                Assert.IsTrue(0 == element.PropertyType);
                Assert.IsTrue(0 == element.Realizes.Count);
                Assert.IsTrue(0 == element.Requirements.Count);
                Assert.IsTrue(0 == element.RequirementsEx.Count);
                Assert.IsTrue(0 == element.Resources.Count);
                Assert.IsTrue(0 == element.Risks.Count);
                Assert.IsTrue("" == element.RunState);
                Assert.IsTrue(0 == element.Scenarios.Count);
                Assert.IsTrue(0 == element.StateTransitions.Count);
                Assert.IsTrue("" != element.Status);
                Assert.IsTrue("" != element.Stereotype);
                Assert.IsTrue("" != element.StereotypeEx);
                Assert.IsTrue("" == element.StyleEx);
                Assert.IsTrue(0 == element.Subtype);
                Assert.IsTrue("" == element.Tablespace);
                Assert.IsTrue("" == element.Tag);
                Assert.IsTrue(0 < element.TaggedValues.Count);
                Assert.IsTrue(0 < element.TaggedValuesEx.Count);
                Assert.IsTrue(0 == element.Tests.Count);
                Assert.IsTrue(1 == element.TreePos);
                Assert.IsTrue("" != element.Type);
                Assert.IsTrue("" != element.Version);
                Assert.IsTrue("" != element.Visibility);
            }

            // Operations

            {
                // GetTracedElements (no traced elements in example model)
                IEAElement element = _e.GetForcesDecisionElement();
                IEnumerable <IEAElement> elements = element.GetTracedElements();
                Assert.IsTrue(!elements.Any());
            }

            {
                // GetDiagrams
                IEAElement   element  = _e.GetForcesDecisionElement();
                IEADiagram[] diagrams = element.GetDiagrams();
                Assert.IsTrue(diagrams.Any());
            }

            {
                // GetConnectors / ConnectTo / Update / Refresh / FindConnectors / RemoveConnector
                IEAElement          element     = _e.GetForcesDecisionElement();
                const string        myType      = "Dependency";
                const string        mySterotype = "my stereotype";
                List <IEAConnector> connectors  = element.GetConnectors();
                Assert.IsTrue(connectors.Any());
                IEAConnector c      = connectors.ElementAt(0);
                IEAElement   client = c.GetClient();
                IEAConnector nc     = client.ConnectTo(element, myType, mySterotype);
                Assert.IsTrue(element.Update());
                element.Refresh();
                IList <IEAConnector> flows = client.FindConnectors(element, mySterotype, myType);
                Assert.IsNotNull(flows);
                Assert.IsTrue(flows.Any());
                element.RemoveConnector(nc);
                Assert.IsTrue(element.Update());
                element.Refresh();
                flows = client.FindConnectors(element, mySterotype, myType);
                Assert.IsNotNull(flows);
                Assert.IsFalse(flows.Any());
            }

            /* Disabled pending better understanding of Chronological view
             * {  // GetElements
             *  IEAElement element = _e.GetChronologyTopicElement();
             *  List<IEAElement> children = element.GetElements();
             *  Assert.IsTrue(0 < children.Count());
             * }
             *
             * {  // AddTaggedValue / TaggedValueExists / GetTaggedValue / RemoveTaggedValue
             *  string taggedValueLabel = "MyTaggedValue";
             *  string taggedValueData = "my data";
             *  IEAElement element = _e.GetChronologyDecisionElement();
             *  Assert.IsFalse(element.TaggedValueExists(taggedValueLabel));
             *  element.AddTaggedValue(taggedValueLabel, taggedValueData);
             *  Assert.IsTrue(element.TaggedValueExists(taggedValueLabel));
             *  Assert.IsTrue(element.TaggedValueExists(taggedValueLabel, taggedValueData));
             *  string myData = element.GetTaggedValueByName(taggedValueLabel);
             *  Assert.IsTrue(myData == taggedValueData);
             *  element.RemoveTaggedValue(taggedValueLabel, taggedValueData);
             *  Assert.IsFalse(element.TaggedValueExists(taggedValueLabel));
             * }
             */
        }
Exemplo n.º 8
0
 public static bool IsStakeholderAction(IEAConnector connector)
 {
     return(connector.IsAction() && IsStakeholder(connector.GetClient()));
 }