Ejemplo n.º 1
0
 public void Init()
 {
     lifeline=new Lifeline(dummyPosition,"",null);
     coveredMessageEnd=new MessageEnd(coveredMessageEndPosition,"1",null);
     uncoveredMessageEnd=new MessageEnd(unCoveredMessageEndPosition,"2",null);
     coveringExecutionSpecification=new ExecutionSpecification(coveringExecutionSpecificationPosition,"",null);
     coveringExecutionSpecification.Dimension=coveringExecutionSpecificationSize;
     coveringExecutionSpecification.MessageSourceEnds.Add(coveredMessageEnd);
     notCoveringExecutionSpecification=new ExecutionSpecification(coveringExecutionSpecificationPosition,"",null);
     notCoveringExecutionSpecification.Dimension=notCoveringExecutionSpecificationSize;
     lifeline.MessageEnds.Add(coveredMessageEnd);
     lifeline.MessageEnds.Add(uncoveredMessageEnd);
     lifeline.ExecutionSpecifications.Add(coveringExecutionSpecification);
     lifeline.ExecutionSpecifications.Add(notCoveringExecutionSpecification);
     coveredMessageEnd.CoveredLifeline=lifeline;
     uncoveredMessageEnd.CoveredLifeline=lifeline;
 }
 public void Init()
 {
     elementListSorter=new SequenceChartElementListSorter();
     relevantLifeline=new Lifeline(dummyPosition,"",null);
     firstExecutionSpecification=
         new ExecutionSpecification(firstExecutionSpecificationPosition,"",null);
     firstExecutionSpecification.Dimension=firstExecutionSpecificationDimension;
     secondExecutionSpecification=
         new ExecutionSpecification(secondExecutionSpecificationPosition,"",null);
     secondExecutionSpecification.Dimension=secondExecutionSpecificationDimension;
     firstSourceEnd=new MessageEnd(firstSourceEndPosition,"",null);
     firstSourceEnd.MessageEndKind=MessageEndKind.sourceEnd;
     secondSourceEnd=new MessageEnd(secondSourceEndPosition,"",null);
     secondSourceEnd.MessageEndKind=MessageEndKind.sourceEnd;
     thirdSourceEnd=new MessageEnd(thirdSourceEndPosition,"",null);
     thirdSourceEnd.MessageEndKind=MessageEndKind.sourceEnd;
     fourthSourceEnd=new MessageEnd(fourthSourceEndPosition,"",null);
     fourthSourceEnd.MessageEndKind=MessageEndKind.sourceEnd;
     firstDestinationEnd=new MessageEnd(firstDestinationEndPosition,"",null);
     firstDestinationEnd.MessageEndKind=MessageEndKind.destinationEnd;
     secondDestinationEnd=new MessageEnd(secondDestinationEndPosition,"",null);
     secondDestinationEnd.MessageEndKind=MessageEndKind.destinationEnd;
 }
        protected internal void ConnectMessageEndsToBehaviorExecutionSpec(ExecutionSpecification executionSpec)
        {
            MessageEnd currentSourceMessageEnd;
            ArrayList coveringSourceMessageEnds;
            IEnumerator itrCoveringSourceMessageEnds;
            bool coversExecutionSpec;
            Lifeline coveredLifeline=executionSpec.CoveredLifeline;
            coveringSourceMessageEnds=coveredLifeline.GetConnectedSourceMessageEnds();
            itrCoveringSourceMessageEnds=coveringSourceMessageEnds.GetEnumerator();

            while(itrCoveringSourceMessageEnds.MoveNext())
            {
                currentSourceMessageEnd=(MessageEnd)itrCoveringSourceMessageEnds.Current;
                coversExecutionSpec=executionSpec.IsMessageEndCovered(currentSourceMessageEnd);

                if(coversExecutionSpec==true)
                {
                    executionSpec.MessageSourceEnds.Add(currentSourceMessageEnd);
                    currentSourceMessageEnd.CoveredExecutionSpecification=executionSpec;
                }
            }
        }
        protected internal void CreateExecutionsForLifeline(Lifeline lifeline,Interaction interaction, XmlElement diagramElement)
        {
            string lifelineId=lifeline.XmiId;
            XmlElement lifelineElement=lifeline.XmlRepresentation;
            XmlElement interactionElement=(XmlElement)lifelineElement.ParentNode;
            ArrayList executions=new ArrayList();
            ArrayList executionElements=modelDocumentInterpreter.GetExecutionSpecElementsForLifeline(lifelineElement);
            IEnumerator itrExecutionElements=executionElements.GetEnumerator();
            XmlElement currentExecutionElement;
            ExecutionSpecification currentNewExecution;
            Point currentExecutionPosition;
            Size currentExecutionDimension;
            string currentExecutionId;

            while(itrExecutionElements.MoveNext())
            {
                currentExecutionElement=(XmlElement)itrExecutionElements.Current;
                currentExecutionPosition=diDocumentInterpreter.GetExecutionSpecPosition(diagramElement,currentExecutionElement);
                currentExecutionDimension=diDocumentInterpreter.GetExecutionSpecDimension(diagramElement,currentExecutionElement);
                currentExecutionId=currentExecutionElement.GetAttribute(UmlModel.XMI_ID_ATTR_COMPLETE_NAME);
                currentNewExecution=new ExecutionSpecification(currentExecutionPosition,currentExecutionId,currentExecutionElement);
                currentNewExecution.Dimension=currentExecutionDimension;
                currentNewExecution.CoveredLifeline=lifeline;
                executions.Add(currentNewExecution);
            }

            executions=SortListForVerticalPosition(executions);
            lifeline.ExecutionSpecifications=executions;

            if(executions.Count>0)
            {
                interaction.ExecutionSpecs.AddRange(executions);
            }
        }
        public void Init()
        {
            firstCoveredMessageEndSource=new MessageEnd(firstCoveredMessageEndSourcePosition,"",null);
            firstCoveredMessageEndSource.MessageEndKind=MessageEndKind.sourceEnd;
            secondCoveredMessageEndSource=new MessageEnd(secondCoveredMessageEndSourcePosition,"",null);
            secondCoveredMessageEndSource.MessageEndKind=MessageEndKind.sourceEnd;
            thirdCoveredMessageEndSource=new MessageEnd(thirdCoveredMessageEndSourcePosition,"",null);
            thirdCoveredMessageEndSource.MessageEndKind=MessageEndKind.sourceEnd;
            fourthCoveredMessageEndSource=new MessageEnd(fourthCoveredMessageEndSourcePosition,"",null);
            fourthCoveredMessageEndSource.MessageEndKind=MessageEndKind.sourceEnd;
            fifthCoveredMessageEndDestination=new MessageEnd(fifthCoveredMessageEndDestinationPosition,"",null);
            fifthCoveredMessageEndDestination.MessageEndKind=MessageEndKind.destinationEnd;
            uncoveredMessageEndDestination=new MessageEnd(uncoveredMessageEndDestinationPosition,"",null);
            uncoveredMessageEndDestination.MessageEndKind=MessageEndKind.destinationEnd;
            executionSpecificationCoveringOneEnd=new ExecutionSpecification (executionSpecificationCoveringOneEndPosition,"",null);
            executionSpecificationCoveringOneEnd.Dimension=executionSpecificationCoveringOneEndSize;
            executionSpecificationCoveringOneEnd.MessageSourceEnds.Add(firstCoveredMessageEndSource);
            executionSpecificationCoveringFourEnds=new ExecutionSpecification (executionSpecificationCoveringFourEndsPosition,"",null);
            executionSpecificationCoveringFourEnds.Dimension=executionSpecificationCoveringFourEndsSize;
            executionSpecificationCoveringFourEnds.MessageSourceEnds.Add(secondCoveredMessageEndSource);
            executionSpecificationCoveringFourEnds.MessageSourceEnds.Add(thirdCoveredMessageEndSource);
            executionSpecificationCoveringFourEnds.MessageSourceEnds.Add(fourthCoveredMessageEndSource);
            executionSpecificationCoveringFourEnds.MessageSourceEnds.Add(fifthCoveredMessageEndDestination);
            executionSpecificationCoveringNoEnd=new ExecutionSpecification (executionSpecificationCoveringNoEndPosition,"",null);
            executionSpecificationCoveringNoEnd.Dimension=executionSpecificationCoveringNoEndSize;

            oppositeExecutionSpecificationReply=new ExecutionSpecification(dummyPosition,"",null);
            replyMessage=new Message(dummyPosition,"",null);
            replyMessageSourceEnd=new MessageEnd(dummyPosition,"",null);
            replyMessageSourceEnd.CorrespondingMessage=replyMessage;
            replyMessageDestinationEnd=new MessageEnd(replyMessageDestinationEndPosition,"",null);
            replyMessageDestinationEnd.CorrespondingMessage=replyMessage;
            replyMessage.SourceMessageEnd=replyMessageSourceEnd;
            replyMessage.DestinationMessageEnd=replyMessageDestinationEnd;
        }