Ejemplo n.º 1
0
 public void AddSubElementCopy(Element parentElement, Element subElement, Element subElementCopy)
 {
     if (!SubElements.ContainsKey(parentElement))
     {
         SubElements[parentElement] = new SubElementCopiesMap();
     }
     SubElements[parentElement][subElement] = subElementCopy;
 }
Ejemplo n.º 2
0
        public SubElementCopiesMap GetSubElementsList(Element parentElement)
        {
            if (!SubElements.ContainsKey(parentElement))
            {
                SubElements[parentElement] = new SubElementCopiesMap();
            }

            return(SubElements[parentElement]);
        }
Ejemplo n.º 3
0
        public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies)
        {
            base.FillCopy(copyElement, targetModel, createdCopies);

            Association copyAssociation = (Association)copyElement;

            SubElementCopiesMap subElementCopiesMap = createdCopies.GetSubElementsList(this);

            for (int i = 0; i < this.Ends.Count; i++)
            {
                AssociationEnd end     = this.Ends[i];
                AssociationEnd copyEnd = copyAssociation.Ends[i];

                end.FillCopy(copyEnd, targetModel, createdCopies);
                subElementCopiesMap[end] = copyEnd;
            }
        }
Ejemplo n.º 4
0
        public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies)
        {
            base.FillCopy(copyElement, targetModel, createdCopies);
            PSMAttributeContainer copyPSMAttributeContainer = (PSMAttributeContainer)copyElement;

            SubElementCopiesMap subElementCopiesMap = createdCopies.GetSubElementsList(this);

            foreach (PSMAttribute psmAttribute in PSMAttributes)
            {
                PSMAttribute copyAttribute = copyPSMAttributeContainer.AddAttribute();
                psmAttribute.FillCopy(copyAttribute, targetModel, createdCopies);
                subElementCopiesMap[psmAttribute] = copyAttribute;
            }

            if (Parent != null && createdCopies.ContainsKey(Parent))
            {
                PSMSuperordinateComponent copyParent = (PSMSuperordinateComponent)createdCopies[Parent];
                ((_ImplPSMSubordinateComponent)copyPSMAttributeContainer).Parent = copyParent;
                copyParent.Components.Add(copyPSMAttributeContainer);
            }
        }
Ejemplo n.º 5
0
        public override void FillCopy(Element copyElement, Model targetModel, ElementCopiesMap createdCopies)
        {
            base.FillCopy(copyElement, targetModel, createdCopies);
            AssociationClass copyAssociationClass = (AssociationClass)copyElement;

            copyAssociationClass.IsAbstract = IsAbstract;

            SubElementCopiesMap subElementCopiesMap = createdCopies.GetSubElementsList(this);

            foreach (Property attribute in Attributes)
            {
                Property copyAttribute = copyAssociationClass.AddAttribute();
                attribute.FillCopy(copyAttribute, targetModel, createdCopies);
                subElementCopiesMap[attribute] = copyAttribute;
            }

            foreach (Operation operation in Operations)
            {
                Operation copyOperation = copyAssociationClass.AddOperation();
                operation.FillCopy(copyOperation, targetModel, createdCopies);
                subElementCopiesMap.Add(operation, copyOperation);
            }
        }